• Nie Znaleziono Wyników

Piotr Zwierzykowski, mgr inż. Tomasz Bartczak Agorytmy genetyczne dla połączeń rozgałęźnychSesja: Kształcenie w dziedzinie elektroniki i telekomunikacji.Politechnika Poznańska

N/A
N/A
Protected

Academic year: 2021

Share "Piotr Zwierzykowski, mgr inż. Tomasz Bartczak Agorytmy genetyczne dla połączeń rozgałęźnychSesja: Kształcenie w dziedzinie elektroniki i telekomunikacji.Politechnika Poznańska"

Copied!
6
0
0

Pełen tekst

(1)www.pwt.et.put.poznan.pl Tomasz Bartczak, Piotr Zwierzykowski Politechnika Pozna´nska Instytut Elektroniki i Telekomunikacji ul. Piotrowo 3A, 60-965 Pozna´n e-mail: pzwierz@et.put.poznan.pl. 2005. Poznańskie Warsztaty Telekomunikacyjne Poznań 8 - 9 grudnia 2005. ´ ROZGAŁE˛ZNYCH ´ ALGORYTMY GENETYCZNE DLA POŁACZE ˛ N Streszczenie: W artykule przedstawiono przeglad ˛ algorytmów genetycznych wykorzystywanych do wielokryterialnej optymalizacji połacze ˛ n´ rozgał˛ez´ nych w sieci pakietowej. Omówione zostały trzy - zdaniem autorów - najbardziej reprezentatywne algorytmy: Nilanjan Banerjee i Sajal K. Das (alg. BD) [1], Zhou Xianwei, Chen Changjia i Zhu Gang(alg. XCG) [2] oraz algorytm Multiobject Multicasting Routing [3]. Opisane algorytmy charakteryzuja˛ si˛e ró˙znymi metodami wyznaczania rozwiazania ˛ kompromisowego. 1. Wprowadzenie Coraz wi˛ecej aplikacji i protokołów stosowanych w sieciach teleinformatycznych wykorzystuje model transmisyjny jeden do wielu. Model ten moz˙ na realizowa´c na wiele róz˙ nych sposobów, z których na uwag˛e zasługuje połaczenie ˛ rozgał˛ez´ ne (ang. multicast connection ). Poła˛ czenie typu "multicast" umoz˙ liwia efektywniejsze wykorzystanie dost˛epnej przepływno´sci poprzez znaczne ograniczenie ruchu, co jest moz˙ liwe dzi˛eki ograniczeniu liczby kopii pakietów, przesyłanych w ramach danego poła˛ czenia – indywidualni odbiorcy reprezentowani sa˛ przez grup˛e [4]. Nowe usługi w sieciach pakietowych wymagaja˛ zapewnienia odpowiednich parametrów jako´sciowych (ang. quality of service). Wymagania dotyczace ˛ jako´sci zestawianych połacze´ ˛ n wyraz˙ a si˛e przy pomocy metryk [5]. Współcze´snie stosowane protokoły routingu dla sieci IP (ang. Internet Protocol) biora˛ pod uwag˛e tylko jedna˛ metryk˛e i jest to w wielu zastosowaniach niewystarczaja˛ ce. Wang i Crowcroft wykazali, z˙ e algorytmy zestawiania połacze´ ˛ n punkt–punkt, w których pod uwag˛e brane jest wi˛ecej niz˙ jedno kryterium, sa˛ NP–zupełne [5]. Zatem, takz˙ e algorytmy połacze´ ˛ n punkt–grupa sa˛ NP–zupełne, a to oznacza, z˙ e wszystkie algorytmy dokładne wymagaja˛ na tyle duz˙ ych zasobów obliczeniowych, z˙ e wyklucza to je w zastosowaniach praktycznych [6]. Istnieje zatem potrzeba wprowadzenia rozwiaza´ ˛ n przybliz˙ onych. Algorytmy umoz˙ liwiajace ˛ wyznaczanie rozwiaza´ ˛ n przybliz˙ onych moz˙ na podzieli´c na algorytmy deterministyczne oraz niedeterministyczne. Algorytmy deterministyczne wyznaczaja˛ drzewa połacze´ ˛ n z punktu widzenia poszczególnych odbiorników, starajac ˛ si˛e aby jak najwi˛ecej kraw˛edzi było wspólnych dla wielu s´ciez˙ ek [7], [8]. Takie podej´scie uniemoz˙ liwia stworzenie uniwersalnych metod deterministycznych o małej złoz˙ ono´sci obliczeniowej. Inne podej´scie cechuje algorytmy wykorzystujace ˛ metody niedeterministycznego przeszukiwania zbioru rozwiaza´ ˛ n, których reprezentantem sa˛ algorytmy gene-. PWT 2005 - POZNAŃ 8-9 GRUDNIA 2005. tyczne. Algorytmy niedeterministyczne umoz˙ liwiaja˛ wyznaczenie rozwiazania ˛ dla szerokiego zakresu topologii sieci a ich struktura wprowadza moz˙ liwo´sci zrównoleglenia oblicze´n. W artykule przedstawiono przykładowe algorytmy genetyczne umoz˙ liwiajace ˛ wielokryterialna˛ optymalizacj˛e połacze´ ˛ n rozgał˛ez´ nych. Artykuł składa si˛e z pi˛eciu cz˛es´ci. Cz˛es´c´ druga opisuje podstawowe operacje, z których składaja˛ si˛e algorytmy genetyczne. W cz˛es´ci trzeciej zaprezentowano formalny opis problemu realizacji wielokryterialnych połacze´ ˛ n grupowych z ograniczeniami. W rozdziale czwartym omówiono trzy algorytmy genetyczne: BD (Banerjee i Das) , XCG (Xianwei, Changjia i Gang) oraz MMR (Crichigno i Barán). W ostatniej cz˛es´ci artykułu przedstawiono porównanie omawianych metod oraz uzasadnienie wyboru prezentowanych algorytmów. 2. Algorytmy genetyczne Algorytmy genetyczne (dalej oznaczane AG) słuz˙ a˛ do rozwiazywania ˛ problemów optymalizacyjnych, a wi˛ec do znajdowania najlepszego rozwiazania ˛ w zbiorze wielu moz˙ liwych rozwiaza´ ˛ n [11]. AG zostały opracowane przez Johna Hollanda [10] i sa˛ oparte na darwinowskiej zasadzie ewolucji naturalnej. Podstawowym poj˛eciem algorytmów genetycznych jest populacja. Populacja jest zbiorem osobników z których kaz˙ dy reprezentowany jest przez ciag ˛ kodowy przedstawiajacy ˛ jedno z moz˙ liwych rozwiaza´ ˛ n danego problemu (oznaczanego Po ). Ciagi ˛ kodowe składaja˛ si˛e z genów. W genetyce wyróz˙ nia si˛e róz˙ ne rodzaje genów np. inny gen opowiada za kolor oczu zwierz˛ecia a inny za jego wzrost. Podobne znaczenie przypisuje si˛e genom w algorytmach, gdzie oznaczaja˛ jedna˛ z cech rozwiazania ˛ (np. kraw˛ed´z w grafie). W wyniku iteracyjnego procesu stan populacji ulega zmianie i dlatego wprowadzono poj˛ecie pokolenia, które okre´sla stan populacji w danej iteracji t. W kaz˙ dej iteracji przeprowadza si˛e takie operacje elementarne jak: reprodukcja, krzyz˙ owanie oraz mutacja. Reprodukcja jest to proces powielania indywidualnych ciagów ˛ kodowych w zalez˙ no´sci od ich przystosowania. Przystosowanie oznacza jako´sc´ generowanych rozwiaza´ ˛ n i okre´sla si˛e je poprzez funkcje celu, która okre´sla „dobro´c” danego ciagu ˛ kodowego. Rezultatem operacji reprodukcji jest zbiór powielonych osobników R, a liczba reprezentantów danego ciagu ˛ kodowego w zbiorze R bezpo´srednio zalez˙ y od jego przystosowania. Zatem dany osobnik moz˙ e posiada´c tam kilka egzemplarzy, jednakz˙ e w przypadku słabego przystosowania moz˙ e w ogóle nie by´c zakwalifikowa-. 1/6.

(2) www.pwt.et.put.poznan.pl ny do tego zbioru. W kolejnym kroku nast˛epuje operacja krzyz˙ owania. W pierwszej fazie poszczególne osobniki ze zbioru R w sposób losowy łaczone ˛ sa˛ w pary. Natomiast w drugim etapie - takz˙ e w sposób losowy - okre´sla si˛e miejsce krzyz˙ owania i nast˛epuje wymiana genów pomi˛edzy osobnikami w ramach danej pary. Przedstawiony sposób poszukiwania rozwiaza´ ˛ n moz˙ e prowadzi´c do znalezienia rozwiazania ˛ optymalnego lokalnie. Z tego wzgl˛edu wprowadza si˛e operacj˛e mutacji. Mutacja w sposób losowy z pewnym małym prawdopodobie´nstwem zmienia warto´sc´ genu dla danego osobnika. Prowadzi to do genetycznego zróz˙ nicowania i tym samym maleje prawdopodobie´nstwo znalezienia si˛e w minimum lokalnym. AG nalez˙ a˛ do grupy metod probabilistycznych, jednak niedeterministyczne przeszukiwanie zbioru rozwia˛ za´n jest ukierunkowane dzi˛eki operacjom reprodukcji i krzyz˙ owania [11]. 3. Sformułowanie problemu Problem budowy drzew transmisyjnych typu „multicast” obejmuje cały szereg zagadnie´n. W przypadku jednokryterialnych algorytmów drzew rozgłoszeniowych z jednym z´ ródłem moz˙ na go zdefiniowa´c nast˛epuja˛ co [12]. Rozwaz˙ ana jest sie´c teletransmisyjna reprezentowana przez graf G = (E, V ), gdzie E jest zbiorem kraw˛edzi, a V jest zbiorem wierzchołków. W celu oszacowania jako´sci zestawianych połacze´ ˛ n kaz˙ dej kraw˛edzi l ze zbioru E przypisuje si˛e koszt c(l). Koszt ten moz˙ e wyraz˙ a´c opó´znienie łacza, ˛ opłat˛e za jego wykorzystanie, prawdopodobie´nstwo bł˛edów lub inne parametry. Dodatkowo w grafie wyróz˙ niony został wierzchołek s b˛edacy ˛ z´ ródłem transmisji rozgłoszeniowej oraz zbiór odbiorników M taki, z˙ e M ∈ V i s 6∈ M . Jednokryterialne drzewo transmisji grupowej M T definiuje si˛e jako drzewo o wierzchołku w z´ ródle s, które łaczy ˛ wszystkie w˛ezły ze zbioru M , a koszt C(M T ) spełnia nast˛epujacy ˛ warunek: X C(M T ) = min c(l). (1) l∈M T. W przypadku algorytmów wielokryterialnych oprócz wymienionego powyz˙ ej kosztu - nalez˙ y rozwaz˙ y´c dodatkowe warunki [7]. Cz˛esto jednym z nich jest ograniczenie opó´znienia kaz˙ dej s´ciez˙ ki łacz ˛ acej ˛ z´ ródło s z dowolnym odbiornikiem v do warto´sci ∆, które moz˙ na wyrazi´c nast˛epujaca ˛ zalez˙ no´scia: ˛ X ∀p∈M T D(e) ≤ ∆, (2) e∈p. gdzie D(e) to opó´znienie kraw˛edzi e. 4. Prezentacja wybranych AG Główna˛ trudno´scia˛ jaka˛ stanowia˛ problemy wielokryterialne jest wzajemna sprzeczno´sc´ poszczególnych kryteriów. Oznacza to, z˙ e rozwiazanie ˛ optymalne dla jednego kryterium moz˙ e by´c mało optymalne z punktu widzenia innego kryterium. W takim przypadku AG sa˛ szczególnie uz˙ yteczne, poniewaz˙ w tym przypadku, zbudowanie efektywnego algorytmu deterministycznego, zarówno pod wzgl˛edem szybko´sci działania, jak i jako´sci otrzymywanych rozwiaza´ ˛ n, jest bardzo trudne.. PWT 2005 - POZNAŃ 8-9 GRUDNIA 2005. Wielokryterialne algorytmy genetyczne mo˙zna podzieli´c na trzy grupy: algorytmy, w których okre´sla si˛e kryteria decyzyjne a nast˛epnie szuka si˛e rozwiazania; ˛ algorytmy, w których naprzemiennie nast˛epuje szukanie i podejmowania decyzji oraz algorytmy, w których najpierw realizowany jest proces poszukiwania rozwiaza´ ˛ n, a nast˛epnie podejmowana jest decyzja [15]. Pierwszy przypadek oznacza, z˙ e kryteria wyboru najlepszego rozwiazania ˛ okre´slane sa˛ jeszcze przed wykonaniem algorytmu. W praktyce w do tej grupy klasyfikuje si˛e metody agregacyjne, które sprowadzaja˛ wiele kryteriów do jednej metryki. W artykule reprezentantem tej grupy jest algorytm Nilanjan Banerjee’a i Sajal K. Das’a przedstawiony w rozdziale 4.1 oraz algorytm zaproponowany przez Zhou Xianwei, Chen Changjia i Zhu Gang’a (rozdz. 4.2.). Kolejna grupa obejmuje metody, w których proces szukania rozwiaza´ ˛ n i wyboru najlepszego nast˛epuje iteracyjnie. Jest to grupa, która ma szczególne znaczenie w przypadku problemów zwiazanych ˛ ze wspomaganiem decyzji i nie jest zaprezentowana w artykule, poniewaz˙ nie sa˛ znane autorom AG nalez˙ ace ˛ do tej klasy, które sa˛ wykorzystywane w problemach optymalizacji połacze´ ˛ n rozgał˛ez´ nych. Ostatnia grupa składa si˛e z algorytmów, które najpierw szukaja˛ rozwiaza´ ˛ n np. najlepszych w ramach poszczególnych kryteriów, a dopiero potem podejmowana jest decyzja o wyborze najlepszego – czyli rozwiazuje ˛ problem typu MOP (ang. Multiobjective Optimization Problem) [9]. Reprezentantem tej grupy jest opisany w rozdziale 4.3. algorytm MMR (ang. Multiobjective Multicasting Routing). Algorytmy genetyczne rozwiazuj ˛ ace ˛ problem wielokryterialnych połacze´ ˛ n typu jeden-do-wielu moz˙ na podzieli´c takz˙ e ze wzgl˛edu na cechy typowe dla AG takie jak sposób kodowania rozwiaza´ ˛ n w postaci chromosomów czy podej´scie do operacji krzyz˙ owania. Przy czym podstawowym kryterium jest sposób kodowania rozwiaza´ ˛ nw postaci chromosomów, który moz˙ na realizowa´c wykorzystujac: ˛ list˛e s´ciez˙ ek [1], [3], list˛e wierzchołków Steinera [16], [2], ciag ˛ Prüfer’a [17] oraz metod˛e Palmera [18]. Natomiast podstawowymi metodami realizacji operacji krzyz˙ owania sa: ˛ krzyz˙ owanie jednopunktowe [11], [1], krzyz˙ owanie dwupunktowe [11], [2] i krzyz˙ owanie równomierne [13]. A. Algorytm Nilanjan Banerjee’a i Sajal K.Das’a Nilanjan Banerjee i Sajal K. Das zaproponowali własna˛ wersj˛e heurystyki oparta˛ o algorytm genetyczny rozwiazuj ˛ ac ˛ a˛ problem drzewa Steinera z ograniczeniami (algorytm BD) [1]. W modelu sieci przyj˛etym na potrzeby algorytmu BD, poszczególne kraw˛edzie nie maja˛ s´ci´sle zdefiniowanego kosztu i opó´znienia, lecz prawdopodobie´nstwo przyj˛ecia przez opó´znienie i pasmo okre´slonych warto´sci. Wprowadzono takz˙ e ograniczenie, zgodnie z którym opó´znienie pomi˛edzy z´ ródłem s a dowolnym odbiornikiem nie moz˙ e przekroczy´c warto´sci progowej ∆ oraz ograniczenie przepustowo´sci połaczenia ˛ z´ ródło-odbiornik (co najmniej B). W pierwszej fazie działania algorytmu dla kaz˙ dej pary z´ ródło odbiornik (s, ri ) (gdzie i to numer odbiornika) wyznacza si˛e zbiór łacz ˛ acych ˛ je s´ciez˙ ek Ri , a nast˛epnie spo´sród poszczególnych zbiorów Ri usuwa si˛e wszystkie s´ciez˙ ki nie spełniajace ˛ ogranicze´n. Ciag ˛ kodowy danego. 2/6.

(3) www.pwt.et.put.poznan.pl osobnika składa si˛e z m = |M | genów, z których kaz˙ dy gen reprezentuje s´ciez˙ k˛e ze zbioru Ri . Populacja poczat˛ kowa składa si˛e z kilku osobników wybranych w sposób losowy. W celu okre´slania stopnia przystosowania definiuje si˛e agregacyjna˛ funkcj˛e celu, która okre´slona jest jako suma trzech czynników: f = F1 + F2 + F3 .. (3). Definicje czynników F1 , F2 , F3 oparte sa˛ na prawdopodobie´nstwie, poniewaz˙ kraw˛edzie opisane sa˛ prawdopodobie´nstwem przyj˛ecia okre´slonej warto´sci opó´znienia i pasma. Tak wi˛ec, znajac ˛ warto´sc´ funkcji celu dla danego osobnika, moz˙ na wyznaczy´c prawdopodobie´nstwo jego reprodukcji: f (i). Pr (i) = Pi=n i=1. f (i). ,. (4). 2 3 4 5 6 7 8 9. gdzie fP oznacza prawdopodobie´nstwo spełnienia ogranicze´n nakładanych na opó´znienie przez s´ciez˙ k˛e P . W podobny sposób wyznacza si˛e czynnik F2 okre´slajacy ˛ prawdopodobie´nstwo, z˙ e M T spełnia warunki ograniczajace ˛ pasmo: Y bp (B) = bl (B), (6) l∈P. bp (B),. (7). p∈M. gdzie czynnik bl (B) dla kraw˛edzi l okre´sla prawdopodobie´nstwo osiagni˛ ˛ ecia przepustowo´sci B. Ostatni czynnik F3 pozwala wpływa´c na faworyzowanie s´ciez˙ ek o mniejszym wykorzystaniu pasma: P (cl − bl ) P F3 = R = l∈M , (8) l∈M cl gdzie czynnik cl oznacza pojemno´sc´ łacza, ˛ a bl oznacza wielko´sc´ aktualnie wykorzystanego pasma. Analizujac ˛ wzór (8) moz˙ na zauwaz˙ y, z˙ e preferowane sa˛ łacza ˛ z jak najmniejszym wykorzystaniem pasma. Schemat działania algorytmu BD został przedstawiony na listingu 1. Algorytm BD nalez˙ y do klasy algorytmów genetycznych. Zatem schemat jego działania polega na iteracyjnym procesie reprodukcji, krzyz˙ owania i mutacji (listing 1 linie 8-13). Populacj˛e poczatkow ˛ a˛ wybiera si˛e w sposób losowy. B. Algorytm genetyczny zaproponowany przez Zhou Xianwei, Chen Changjia i Zhu Gang’a Kolejnym spo´sród omawianych algorytmów jest algorytm zaproponowany przez Zhou Xianwei, Chen Changjia i Zhu Gang’a, który w dalszej cz˛es´ci artykułu b˛edzie. PWT 2005 - POZNAŃ 8-9 GRUDNIA 2005. 11 12. P ∈M. Y. 1. 10. gdzie czynnik f (i) oznacza warto´sc´ funkcji celu dla danego osobnika i. Czynnik F1 okre´sla prawdopodobie´nstwo zdarzenia, z˙ e dane drzewo transmisji grupowej M T spełnia ograniczenia nakładane na opó´znianie. M T spełnia to ograniczenie je´sli poszczególne s´ciez˙ ki łacz ˛ ace ˛ z´ ródło i odbiornik, takz˙ e je spełniaja.˛ A zatem prawdopodobie´nstwo spełnienia ograniczenia nakładanego na opó´znienie przez całe drzewo moz˙ na wyrazi´c wzorem: Y F1 = p(∆) = fP (∆), (5). F2 = p(B) =. input : graf G(E, V ), z´ ródło s, zbiór odbiorników M output: graf transmisji typu multicast MT. 13. forall m ∈ M do Rm = wyznacz zbiór wszystkich s´ciez˙ ek łacz ˛ acych ˛ z´ ródło s z odbiornikiem m; end forall m ∈ M do ze zbioru Rm usu´n s´ciez˙ ki nie spełniajace ˛ ogranicze´n; end wylosuj populacj˛e poczatkow ˛ a; ˛ while end-condition do oblicz warto´sc´ funkcji celu; wykonaj operacj˛e reprodukcji; wykonaj operacj˛e krzyz˙ owania; wykonaj operacj˛e mutacji; end Listing 1: Schemat algorytmu BD. okre´slany mianem algorytmu XCG [2]. Algorytm BD korzystał ze zbiorów s´ciez˙ ek łacz ˛ acych ˛ z´ ródło s z poszczególnymi odbiornikami i na tej podstawie znajdował najbardziej optymalna˛ kombinacj˛e s´ciez˙ ek z poszczególnych zbiorów. Algorytm XCG cechuje si˛e innym podej´sciem. Drzewo Steinera składa si˛e ze z´ ródła transmisji typu multicast, zbioru odbiorników M oraz zbioru pewnej liczby wierzchołków S nalez˙ acych ˛ do V \(M ∪ s) zwanych wierzchołkami Steinera. Wierzchołki Steinera nie sa˛ odbiornikami transmisji grupowej, sa˛ jednak punktami pos´redniczacymi ˛ w transmisji. Zarówno z´ ródło, jak i odbiorniki, sa˛ obowiazkow ˛ a˛ cz˛es´cia˛ drzewa Steinera, natomiast zbiór wierzchołków Steinera moz˙ e by´c dowolny. Drzewa składajace ˛ si˛e z róz˙ nych kombinacji wierzchołków Steinera b˛eda˛ odznacza´c si˛e róz˙ nymi wła´sciwo´sciami. Algorytm XCG opiera si˛e na tym spostrzez˙ eniu. Dla danego z´ ródła s, zbioru odbiorników M i zbioru wierzchołków Steinera S wyznaczany jest graf zupełny, którego kraw˛edziami sa˛ najkrótsze s´ciez˙ ki łacz ˛ ace ˛ dane wierzchołki. Nast˛epnie dla takiego grafu wyznaczane jest drzewo rozpinajace ˛ b˛edace ˛ drzewem rozgłoszeniowym. W tym celu wykorzystywana jest zmodyfikowana wersja algorytmu KMB [19], która oprócz z´ ródła s i zbioru M pod uwag˛e bierze takz˙ e zbiór wierzchołków Steinera S. W algorytmie XCG, algorytm genetyczny uz˙ yty jest do znalezienia optymalnego zbioru S. XCG pozwala rozwiazy˛ wa´c problem budowy minimalnych w sensie kosztu drzew transmisji grupowej nawet je´sli pod uwag˛e brane jest wiele kryteriów i oparta jest na jednokryterialnym algorytmie zaproponowanym przez Esbensena [16]. Jednakz˙ e, w przeciwie´nstwie do poprzednio opisywanego algorytmu BD, ograniczenia nie sa˛ tu tak s´cisłe. Rozwiazania, ˛ które w niewielkim stopniu przekraczaja˛ zadane kryteria ograniczajace, ˛ takz˙ e brane sa˛ pod uwag˛e w iteracyjnym procesie obliczania rozwiazania ˛ ko´ncowego. Kolejna˛ kluczowa˛ róz˙ nica˛ pomi˛edzy algorytmem BD a XCG jest odmienne traktowanie ogranicze´n. W przypadku algorytmu BD nie były one w ogóle uwzgl˛edniane przez algorytm genetyczny, natomiast w przypadku metody XCG ograniczenia sa˛ cz˛es´cia˛ funkcji celu. W przypadku algorytmu XCG ciag ˛ kodowy, który okre´sla które wierz-. 3/6.

(4) www.pwt.et.put.poznan.pl chołki ze zbioru V \(M ∪ {s}) stana˛ si˛e wierzchołkami Steinera. Ciag ˛ kodowy składa si˛e z szeregu 0 i 1. 0 na pozycji i oznacza, z˙ e wierzchołek i nalez˙ acy ˛ do V \(M ∪ {s}) nie jest wierzchołkiem Steinera, w przeciwnym wypadku na pozycji i jest 1. Przyj˛ety schemat kodowania oznacza to, z˙ e długo´sc´ ciagu ˛ kodowego wynosi |V \(M ∪ {s})|. Przy załoz˙ eniu, z˙ e długo´sc´ ciagu ˛ kodowego oznaczymy z moz˙ na okre´sli´c funkcj˛e mapujac ˛ a˛ π jako: π : {0, 1, ..., z − 1} → {0, 1, ..., z − 1}. Funkcja π uz˙ ywana jest do kodowania genotypów, które przyjmuja˛ posta´c: {(π(0), tπ(0) ), (π(1), tπ(1) ), ..., (π(z − 1), tπ(z−1 )}, gdzie tk ∈ {0, 1}, k = 0, 1, ..., z − 1. Funkcja˛ celu dla algorytmu XCG okre´slona jest wzorem (9). C(xi ) jest czynnikiem proporcjonalnym do kosztu rozwiazania ˛ oraz odwrotnie proporcjonalny do stopnia w jakim dane rozwiazanie ˛ spełnia nakładane ograniczenia. Z uwagi na to, z˙ e to czynnik minimalizowany, a funkcja celu jest funkcja,˛ która˛ si˛e maksymalizuje stad ˛ wprowadzono warto´sc´ odniesienia Cmax :  f (xi ) =. Cmax − C(xi ) gdy C(xi ) < Cmax , , (9) ∞ w przeciwnym wypadku. gdzie C(x) oznacza : C(x) = c(x) + K(x).. (10). Drugi człon we wzorze (10) oznacza funkcj˛e kary K(x): K(x) = β. b X. Φ[bi (x)],. input : graf G(E, V ), z´ ródło s, zbiór odbiorników M output: graf transmisji typu multicast wylosuj populacj˛e poczatkow ˛ a; ˛ while end-condition do 3 forall o in P opulation do 4 St = zbiór wierzchołków Steinera reprezentowanych przez dany osobnik; 5 wykorzystujac ˛ algorytm KMB wyznacz rozwiazanie ˛ w oparciu o zbiór M i St; 6 oblicz przystosowaniu poszczególnych odbiorników; 7 end 8 wykonaj operacj˛e reprodukcji; 9 wykonaj operacj˛e krzyz˙ owania; 10 wykonaj operacj˛e mutacji; 11 end Listing 2: Schemat działania algorytmu XCG 1 2. (11) C. Algorytm MMR. i=1. gdzie β jest to współczynnik kary, a Φ[bi (x)] wyraz˙ a si˛e zalez˙ no´scia: ˛ Φ[bi (x)] = b2i (x). (12) Czynnik bi (x) oznacza stopie´n spełnienia danego ograniczenia i (np. moz˙ e to by´c ograniczenie nakładane na opó´znienie lub na szeroko´sc´ pasma). Znajac ˛ funkcj˛e celu moz˙ na wykona´c proces reprodukcji. Prawdopodobie´nstwo reprodukcji danego osobnika wyraz˙ a si˛e wzorem: pi (k) = f (xi )/. x (k+1). 1 gdzie symbol iπ(j) oznacza, z˙ e wierzchołek i wyst˛epuje w genotypie x1 na pozycji j, a oznaczenie (k + 1) jest to number populacji. Operacja mutacji dokonywana jest z prawdopodobie´nstwem 0,001 na osobniku x1 (k). W przedziale losowo generowanych liczb r i r0 nast˛epuje inwersja bitów. Algorytm XCG działa zgodnie ze schematem przedstawionym na listingu 2.. n X. f (xj ),. (13). Ostatnim spo´sród omawianych algorytmów jest algorytm MMR (ang. Multiobjective Multicasting Routing) zaproponowany został przez Jorge Crichigno i Benjamín Barán’a [3]. Klasa problemów, w których optymalizowane jest wiele zmiennych okre´slana jest mianem MOP (ang. Multiobjective Optimization Problem) [9]. Problem MOP składa si˛e z n zmiennych decyzyjnych, k funkcji celu i m ogranicze´n. Funkcje celu jak i ograniczenia sa˛ funkcjami zmiennych decyzyjnych. Moz˙ na to zapisa´c w nast˛epujacej ˛ formie: optymalizuj:. j=1. gdzie stała n oznacza liczb˛e osobników w populacji. Kolejnym krokiem algorytmu jest krzyz˙ owanie. W algorytmie XCG stosowane jest krzy˙zowanie dwupunktowe. Losowane sa˛ dwa punkty krzyz˙ owania: r i r0 , dwa osobniki x1 (k) i x2 (k) krzyz˙ owane sa˛ ze soba˛ tak, z˙ e powstaja˛ dwa nowe ciagi ˛ kodowe x1 (k + 1) i x2 (k + 1) (k oznacza numer populacji). Sposób krzyz˙ owania przedstawiaja˛ wzory (14) i (15):  x1 (k)    iπ(j) gdy j ≤ r, 0 x1 (k+1) x2 (k) iπ(j) = (14) iπ(j) gdy r < j < r ,  0  x (k) 1  i gdy r ≤ j, π(j). oraz:. x (k+1). 2 iπ(j).  x2 (k)    iπ(j) gdy j ≤ r, 0 x1 (k) = iπ(j) gdy r < j < r .    ix2 (k) gdy r0 ≤ j, π(j). PWT 2005 - POZNAŃ 8-9 GRUDNIA 2005. y = f (x) = (f1 (x), f2 (x), ..., fk (x)),. (16). przy ograniczeniu: e(x) = (e1 (x), e2 (x), ..., em (x)) >= 0,. (17). gdzie x = (x1 , x2 , ..., xn ) ∈ X jest wektorem zmiennych decyzyjnych, a y = (y1 , y2 , ..., yk ) ∈ Y jest wektorem funkcji celu. X oznacza przestrze´n decyzyjna,˛ a Y przestrze´n rozwiaza´ ˛ n. Zbiór rozwiaza´ ˛ n e(x) >= 0 wyznacza przestrze´n decyzyjna˛ Xr ∈ X oraz przestrze´n rozwiaza´ ˛ n Yr ∈ Y . Z reguły nie istnieje jedno, najlepsze rozwiazanie ˛ dla problemu MOP, spełniajace ˛ wszystkie kryteria. Nalez˙ y wi˛ec okre´sli´c kryteria optymalno´sci rozwiazania. ˛ Dla wektorów funkcji celu przy załoz˙ eniu, z˙ e u, v ∈ Xr moz˙ na okre´sli´c nast˛epujace ˛ operatory : f (u) = f (v) gdy ∀i ∈ 1, 2, ..., k : fi (u) = fi (v), (18). (15) f (u) ≤ f (v) gdy ∀i ∈ 1, 2, ..., k : fi (u) ≤ fi (v), (19). 4/6.

(5) www.pwt.et.put.poznan.pl input : graf G(E, V ), z´ ródło s, zbiór odbiorników M output: graf transmisji typu multicast. f (u) < f (v) gdy ∀i ∈ 1, 2, ..., k : fi (u) 6= fi (v). (20) Znajac ˛ operatory opisane wzorami (18), (19) i (20) moz˙ na okre´sli´c zalez˙ no´sc´ dominacji oraz nieporównywalno´sci dla wektorów decyzyjnych u i v. Wektor u dominuje wektor v je´sli f (u) < f (v). Wektory u i v sa˛ nieporównywalne je´sli f (u) 6< (f (v) i f (v) 6< f (u). Okre´slenie: wektor u dominuje wektor v oznacza, z˙ e wszystkie funkcje celu osiagaj ˛ a˛ lepsze warto´sci dla wektora u niz˙ dla wektora v. Je´sli wektory u i v sa˛ nieporównywalne oznacza to, z˙ e z˙ aden z wektorów zmiennych decyzyjnych nie osiaga ˛ lepszej warto´sci dla wszystkich kryteriów. Co wi˛ecej oznacza to, z˙ e dla pewnych kryteriów u jest lepszy niz˙ v, a dla innych wektor v jest lepszy niz˙ u. Je´sli wektor zmiennych decyzyjnych x ∈ Xr nie jest zdominowany przez z˙ aden inny wektor ze zbioru Xr to nazywany jest on optymalnym rozwiazaniem ˛ Pareto. Zbiór rozwiaza´ ˛ n Pareto jest to zbiór rozwiaza´ ˛ n, które nie sa˛ zdominowane przez z˙ adne inne i oznaczany jest jako Pnd . Załóz˙ my, z˙ e dany jest graf G = (E, V ) dla kaz˙ dej kraw˛edzi (i, j) ∈ E okre´slone sa: ˛ przepustowo´sc´ łacza ˛ z(i, j), koszt c(i, j), opó´znienie d(i, j) oraz biez˙ ace ˛ wykorzystanie łacza ˛ t(i, j). Dodatkowo okre´slony jest parametr φ, który oznacza minimalna˛ wymagana˛ przepustowo´sc´ . W takim przypadku funkcje optymalizacyjne oraz ograniczenia dla algorytmu MMR zdefiniowane sa˛ w nast˛epujacy ˛ sposób: maksymalne opó´znienie:     X DM = M axn∈N d(i, j) (21)   (i,j)∈pT (s,n). koszt drzewa: X. C=. c(i, j);. Oblicz tablice trasowania; Okre´sl populacj˛e poczatkow ˛ a˛ P; 3 while end-condition do 4 Porzu´c osobniki wielokrotnie wyst˛epujace ˛ w populacji; 5 Oblicz wektor funkcji celu; 6 Uaktualnij zbiór rozwiaza´ ˛ n niezdominowanych Pnd ; 7 Oblicz warto´sc´ przystosowania; 8 Dokonaj selekcji; 9 Dokonaj krzyz˙ owania; 10 Dokonaj mutacji; 11 end Listing 3: Schemat działania algorytmu MMR 1 2. warto´sc´ funkcji optymalizacyjnych. Nast˛epnie w punkcie 6 nast˛epuje sprawdzenie, czy które´s z rozwiaza´ ˛ n w zbiorze rozwiaza´ ˛ n niezdominowanych Pnd nie jest zdominowane przez który´s z wektorów decyzyjnych w populacji P . Jes´li tak jest, to zbiór Pnd jest uaktualniany. Przystosowanie (krok 7) liczone jest zgodnie z procedura˛ SPEA [9]. Warto´sc´ funkcji celu w odmienny sposób obliczana jest dla osobników ze zbioru Pareto Pnd , a inaczej dla osobników w zbiorze P . Kaz˙ demu rozwiazaniu ˛ i ∈ Pnd przypisywana jest moc si ∈ [0, 1). si jest proporcjonalne do liczby osobników j ∈ P dla których i  j. Oznaczmy przez n liczb˛e osobników w P zdominowanych przez i, a przez N rozmiar zbioru P . Przy takim załoz˙ eniu moc dla osobnika si opisana jest wzorem (26):. (22). si =. (i,j)∈T. maksymalne wykorzystanie łacza: ˛   φ + t(i, j) αT = M ax(i,j)∈T ; z(i, j). (23). ki = 1 + . 1 X N n∈N.  X. d(i, j) ;. (24). przy ograniczeniu: (25). Algorytm działa zgodnie ze schematem przedstawionym na listingu 3. W pierwszym kroku działania algorytmu wylicza si˛e tablic˛e trasowania, biorac ˛ przy tym pod uwag˛e ograniczenia. Tablica trasowania jest to zbiór R najkrótszych s´ciez˙ ek, dla kaz˙ dej pary z´ ródło-odbiornik wyznaczonych na podstawie kosztu, opó´znienia i aktualnego wykorzystania s´ciez˙ ek. Chromosom składa si˛e z |N | genów. Kaz˙ dy gen gi reprezentuje jedna˛ ze s´ciez˙ ek łacz ˛ ac ˛ a˛ z´ ródło s z odbiornikiem ni . Populacja poczatko˛ wa P budowana jest w sposób losowy. Jak wida´c na listingu 3 w punkcie 4 z danej populacji usuwa si˛e osobniki, które si˛e duplikuja.˛ Jeden ze zduplikowanych osobników zast˛epowany jest losowo wygenerowanym chromosomem. W kroku 5 dla kaz˙ dego chromosomu oblicza si˛e. PWT 2005 - POZNAŃ 8-9 GRUDNIA 2005. X. si .. (27). i,ij. (i,j)∈pT (s,n). φ + t(i, j) ≤ z(i, j), ∀(i, j) ∈ T.. (26). Dobro´c osobnika j ∈ P okre´sla si˛e jako sum˛e mocy wszystkich chromosomów ze zbioru Pnd , które dominuja˛ osobnik j plus 1:. s´rednie opó´znienie: DA =. n . N +1. Wybór osobników do reprodukcji nast˛epuje zgodnie z zasada˛ ruletki [11]. Ze wzorów (26) i (27) wynika, z˙ e im mniejsza jest warto´sc´ obliczonych współczynników tym rozwiazanie ˛ jest lepsze. W przypadku osobników nalez˙ a˛ cych do zbioru P jest to oczywiste, gdyz˙ duz˙ a warto´sc´ współczynnika ki oznacza, z˙ e jest on zdominowany przez wiele innych rozwiaza´ ˛ n. Tym sam prezentuje on słabe rozwiazanie ˛ i jego szanse reprodukcji powinny by´c małe. Wydawa´c si˛e moz˙ e zaskakujacym, ˛ z˙ e duz˙ a warto´sc´ współczynnika si jest niepoz˙ adana ˛ dla osobników ze zbioru rozwiaza´ ˛ n Pareto Pnd . Podej´scie takie jest zrozumiałe biorac ˛ pod uwag˛e, z˙ e minimalizuje ona prawdopodobie´nstwo znalezienia si˛e w minimum lokalnym [9]. Przystosowanie odbiorników okre´slane jest nast˛epujacym ˛ wzorem (28):  S−si  , gdy i ∈ Pnd l∈P (S−kl )+ n∈Pnd (S−sn ) pi = fi = , S−ki  (S−kl )+ (S−sn ) , gdy i ∈ P. P P. l∈P. P P. n∈Pnd. (28). 5/6.

(6) www.pwt.et.put.poznan.pl gdzie S=. X i∈Pnd. si +. X. kj .. (29). j∈P. Przystosowanie fi okre´sla jednocze´snie prawdopodobie´nstwo reprodukcji danego osobnika. Po obliczeniu przystosowania osobników nast˛epuje reprodukcja, krzyz˙ owanie oraz mutacja. 5. Wnioski W artykule zaprezentowano trzy, zdaniem autorów reprezentatywne, algorytmy genetyczne rozwiazuj ˛ a˛ ce NP–trudny problem wielokryterialnych połacze´ ˛ n rozgał˛ezionych z ograniczeniami. Algorytmy przedstawione w artykule zostały wyselekcjonowane w taki sposób, aby pokaza´c przykłady metod wielokryterialnych nalez˙ acych ˛ zarówno do klasy pierwszej, jak i trzeciej. Klasa pierwsza oznacza metody, w których z góry znane sa˛ kryteria selekcji najlepszego rozwiazania, ˛ natomiast klasa trzecia to zbiór metod, które dokonuja˛ wst˛epnej selekcji i na jej podstawie wybrane jest najlepsze rozwiazanie. ˛ Dodatkowym kryterium, bardzo istotnym w przypadku algorytmów genetycznych, była ch˛ec´ ukazania róz˙ nego podej´scia do kodowania rozwiaza´ ˛ n w postaci chromosomów oraz sposób podej´scia do ogranicze´n. Jako pierwszy przedstawiono algorytm BD. Algorytm BD nalez˙ y do klasy pierwszej problemów wielokryterialnych, gdyz˙ sprowadza wiele optymalizowanych kryteriów do jednego, poprzez zastosowanie znanej przed rozpocz˛eciem oblicze´n funkcji agregacyjnej. Metoda ta s´ci´sle przestrzega nakładanych ogranicze´n, gdyz˙ ze zbiorów s´ciez˙ ek obliczanych w poczatkowej ˛ fazie działania algorytmu usuwane sa˛ wszystkie te, które ich nie spełniaja.˛ Przyj˛ety sposób kodowania zapewnia prostot˛e i szybko´sc´ działania algorytmu. Załoz˙ enie, z˙ e dla kaz˙ dej kraw˛edzi znane sa˛ prawdopodobie´nstwa spełniania wymaga´n czyni ten algorytm odpowiednim do zastosowa´n, które charakteryzuja˛ si˛e duz˙ a˛ fluktuacja˛ ruchu. Algorytm XCG podobnie jak BD takz˙ e agreguje wiele kryteriów do jednego co oznacza, z˙ e podobnie jak BD nalez˙ y do klasy pierwszej. W przeciwie´nstwie do poprzedniej metody ograniczenia nie sa˛ traktowane tak s´cis´le, gdyz˙ sa˛ one cz˛es´cia˛ funkcji celu. Odmienny jest takz˙ e sposób kodowania, które w tym wypadku oparte jest na zbiorze wierzchołków Steinera. Niewatpliw ˛ a˛ zaleta˛ algorytmu jest rozmycie ogranicze´n, dzi˛eki czemu rozwiaza˛ nia naruszajace ˛ je w niewielkim stopniu takz˙ e brane sa˛ pod uwag˛e. Odmienne kodowanie rozwiaza´ ˛ n od algorytmu BD pozwala na rozszerzenie przestrzeni poszukiwa´n, która nie jest ograniczona do z góry okre´slonych zbiorów połacze´ ˛ n. Wada˛ tego podej´scia jest zwi˛ekszenie czasu działania algorytmu. Ostatnim zaprezentowanym algorytmem jest algorytm MMR. W przeciwie´nstwie do dwóch wcze´sniej przedstawionych metod nalez˙ y on do trzeciej klasy algorytmów wielokryterialnych. Zatem najpierw okre´sla si˛e zbiór rozwiaza´ ˛ n Pareto, który nast˛epnie staje si˛e podstawa˛ do okre´slenia rozwiazania ˛ optymalnego. Podobnie jak algorytm BD metoda MMR bierze pod uwag˛e ograniczenia jeszcze przed rozpocz˛eciem oblicze´n. Z punktu widzenia kodowania algorytm MMR podobny jest do XCG,. PWT 2005 - POZNAŃ 8-9 GRUDNIA 2005. gdyz˙ wykorzystuje do tego listy s´ciez˙ ek. Zaleta˛ algorytmu MMR jest wykorzystywanie zbioru rozwiaza´ ˛ n Pareto, dzi˛eki temu nie trzeba okre´sla´c funkcji agregujacych. ˛ Dodatkowo zastosowanie procedury SPEA minimalizuje prawdopodobie´nstwo znalezienia si˛e w w minimum lokalnym. Autorom znane sa˛ wyniki ukazujace ˛ efektywno´sc´ działania omówionych algorytmów, ale ze wzgl˛edu na ograniczone moz˙ liwo´sci prezentacji nie zostały one przedstawione w artykule. SPIS LITERATURY [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17]. [18] [19]. N. Banerjee, S. Das, Fast Determination of QoS-based Multicast Routes in Wireless Networks using Genetic Algorithm, IEEE International Conference on Communications, s. 2588-2592, 2001. Z. Xianwei Ch. Changjia Z. Gang, A Genetic Algorithm for Multicasting Routing Problem International Conference on Communication Technology, s. 1248 - 1253, 2000. J. Crichigno , B. Baran , Multiobjective Multicast Routing Algorithm ICCCN, s. 301-306, 2004 H. Laxman Sahosrabuddhe, B. Mukherjee, Multicast Roufing Algorithms and Protocols: A Tutorial, IEEE Networks, No. 1, s. 90102, 2000. Z. Wang, J. Crowcroft, Quality of Service Routing for Supporting Multimedia Applications, IEEE Journal on Selected Area in Communications, Vol. 14, No 7, s. 1228-1234, 1996. J. Korycki, Dokładne algorytmy dla połacze´ ˛ n rozgałe´znych w sieciach transportowych, Krajowe Sympozjum Telekomunikacji, Bydgoszcz, Vol. C-4.06, s. 45-51, 2001. L. Hun-Young, Y. Chan-Hyun, Scalable Multicast Routing Algorithm for Delay-Variation Constrained Minimum-Cost Tree, IEEE International Conference on Communications, s. 1348-1352, 1999. Q. Zhu, M. Parsa, J. Garcia-Luna-Aceves, A Source-based algorithm for near-optimal delay-constrained minimum-cost multicasting, IEEE INFOCOM, pp. 1348-1352, s. 377-385, 1995. E. Zitzler, L. Thiele, Multiobjective Evolutionary Algorithms: A comparative Case Study and the Strength Pareto Approach, IEEE Trans. Evolutionary Comp., Vol. 3, No 4, s. 257-271, 1999. J. Holland, Adaption in Natural and Artifcial Systems, University of Michigan Press, Boston 1975. D. E.Goldberg, Algorytmy genetyczne i ich zastosowania, Wydawnictwa Naukowo-Techniczne, Warszawa 1998. K. Bhararh-Kumar, J. Jaffe , Routing to Multiple Destinations in Computer Networks, IEEE Transactions on Communications, Vol. 31, No 3, s. 343-351, 1983. G.Syswerda, J. Palmucci, The Application of Generic Algorithms to Resource Scheduling, Fourth International Conference on Genetic Algorithms, s. 502-508, 1991. P. B. Wilson, M. D. Macleod, Low implementation cost IIR digital filter design using genetic algorithms, IEE/IEEE Workshop on Natural Algorithms in Signal Processing, s. 4/1-4/8, 1993. C. Coello, A Comprehensive Survey of Evolutionary-Based Mulitobjective Optimization Techniques, Knowledge and Information Systems, Vol. 1, No. 3, s. 129-156, 1999. H. Esbensen, Computing near-optimal solutions to the steiner problem in a graph using a genetic algorithm, IEEE Networks, Vol. 26, s. 173-185, 1995. F. Abuali, D. Schoenefeld, R. Wainwright, Designing telecommunications networks using genetic algorithms and probabilistic minimum spanning trees, ACM Symposium on Applied Computing Proceedings, s. 242–246, 1994. Ch. Palmer, A. Kershenbaum, Representing Trees in Genetic Algorithms, IEEE WCCI, s. 379-384, 1993. L. Kou, G. Markowsky, L. Berman, A Fast Algorithm for Steiner Trees, Acta Informatica, No 15, s. 141-145, 1981.. 6/6.

(7)

Cytaty

Powiązane dokumenty

b) wierzchołka, połączonego krawędzią nie wspólna, przy czym spośród kilku możliwości wybierz taki wierzchołek, którego lista krawędzi jest najkrótsza (w

(np. metoda koła ruletki – roulette-wheel selection – przydziela osobnikom taką część koła, jaka wynika z ich jakości przystosowania się, tzn. ich prawdopodobieństwo

Za pomocą funkcji przystosowania ocenia się każdy z chromosomów, a im chromosom jest bardziej przystosowany, tym bardziej prawdopodobne, że zostanie wybrany do tworzenia

W rzeczywistości jednak rzecznicy gospodarczego nacjonalizm u (wyjąwszy jego skrajnych wyrazicieli, któ­ rzy — w duchu totalitarnym — staw iali znak rów nania

1 naw et jeśli zastanaw iam się, czy Wielka Brytania chciała jeszcze wówczas sta­ wiać Stanom Zjednoczonym jakikolw iek opór w rozpatryw anym regionie, to

Zdaniem Algardi, Luigi N egrelli nie tylko pośw ięcił w iele lat życia na opracowanie projektu Kanału, ale jako pierw szy rozwiązał w sposób genialny te

Okres poprzedzający rozpowszechnienie prawa niemieckiego — a więc okres władztwa polskiego na Śląsku — jest przedstawiony bardzo skrótowo, właściwie tylko

W celu ustalenia populacji początkowej należy wygenerować liczbę pop size chromosomów losowo, bit po bicie.. Chcemy optymalizować funkcję f z pewną