algorytmy genetyczne dla poł ˛acze ´n rozgał ˛e ´znych

Transkrypt

algorytmy genetyczne dla poł ˛acze ´n rozgał ˛e ´znych
www.pwt.et.put.poznan.pl
Tomasz Bartczak, Piotr Zwierzykowski
Politechnika Poznańska
Instytut Elektroniki i Telekomunikacji
ul. Piotrowo 3A, 60-965 Poznań
e-mail: [email protected]
2005
Poznańskie Warsztaty Telekomunikacyjne
Poznań 8 - 9 grudnia 2005
ALGORYTMY GENETYCZNE DLA POŁACZE
˛
Ń ROZGAŁE˛ŹNYCH
Streszczenie: W artykule przedstawiono przeglad
˛ algorytmów genetycznych wykorzystywanych do wielokryterialnej optymalizacji połacze
˛ ń rozgał˛eź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óżnymi 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 można realizować na
wiele różnych sposobów, z których na uwag˛e zasługuje
połaczenie
˛
rozgał˛eźne (ang. multicast connection ). Poła˛
czenie typu "multicast" umożliwia efektywniejsze wykorzystanie dost˛epnej przepływności poprzez znaczne ograniczenie ruchu, co jest moż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ściowych
(ang. quality of service). Wymagania dotyczace
˛ jakości
zestawianych połaczeń
˛
wyraża si˛e przy pomocy metryk
[5]. Współcześnie 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, że algorytmy zestawiania
połaczeń
˛
punkt–punkt, w których pod uwag˛e brane jest
wi˛ecej niż jedno kryterium, sa˛ NP–zupełne [5]. Zatem,
także algorytmy połaczeń
˛
punkt–grupa sa˛ NP–zupełne, a
to oznacza, że wszystkie algorytmy dokładne wymagaja˛
na tyle dużych zasobów obliczeniowych, że wyklucza to
je w zastosowaniach praktycznych [6]. Istnieje zatem potrzeba wprowadzenia rozwiazań
˛
przybliżonych.
Algorytmy umożliwiajace
˛ wyznaczanie rozwiazań
˛
przybliżonych można podzielić na algorytmy deterministyczne oraz niedeterministyczne. Algorytmy deterministyczne wyznaczaja˛ drzewa połaczeń
˛
z punktu widzenia
poszczególnych odbiorników, starajac
˛ si˛e aby jak najwi˛ecej kraw˛edzi było wspólnych dla wielu ścieżek [7],
[8]. Takie podejście uniemożliwia stworzenie uniwersalnych metod deterministycznych o małej złożoności obliczeniowej. Inne podejście cechuje algorytmy wykorzystujace
˛ metody niedeterministycznego przeszukiwania zbioru rozwiazań,
˛
których reprezentantem sa˛ algorytmy gene-
PWT 2005 - POZNAŃ 8-9 GRUDNIA 2005
tyczne. Algorytmy niedeterministyczne umożliwiaja˛ wyznaczenie rozwiazania
˛
dla szerokiego zakresu topologii
sieci a ich struktura wprowadza możliwości zrównoleglenia obliczeń.
W artykule przedstawiono przykładowe algorytmy
genetyczne umożliwiajace
˛ wielokryterialna˛ optymalizacj˛e
połaczeń
˛
rozgał˛eźnych. Artykuł składa si˛e z pi˛eciu cz˛eści.
Cz˛eść druga opisuje podstawowe operacje, z których składaja˛ si˛e algorytmy genetyczne. W cz˛eści trzeciej zaprezentowano formalny opis problemu realizacji wielokryterialnych połaczeń
˛
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˛eści artykułu przedstawiono porównanie omawianych metod oraz
uzasadnienie wyboru prezentowanych algorytmów.
2. Algorytmy genetyczne
Algorytmy genetyczne (dalej oznaczane AG) służa˛
do rozwiazywania
˛
problemów optymalizacyjnych, a wi˛ec
do znajdowania najlepszego rozwiazania
˛
w zbiorze wielu
możliwych rozwiazań
˛
[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 każdy reprezentowany jest przez ciag
˛ kodowy przedstawiajacy
˛ jedno z możliwych rozwiazań
˛
danego problemu (oznaczanego Po ). Ciagi
˛ kodowe składaja˛ si˛e z genów. W genetyce wyróżnia si˛e róż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ź w grafie). W wyniku iteracyjnego procesu stan
populacji ulega zmianie i dlatego wprowadzono poj˛ecie
pokolenia, które określa stan populacji w danej iteracji t.
W każdej iteracji przeprowadza si˛e takie operacje elementarne jak: reprodukcja, krzyżowanie oraz mutacja. Reprodukcja jest to proces powielania indywidualnych ciagów
˛
kodowych w zależności od ich przystosowania. Przystosowanie oznacza jakość generowanych rozwiazań
˛
i określa
si˛e je poprzez funkcje celu, która określa „dobroć” danego ciagu
˛ kodowego. Rezultatem operacji reprodukcji jest
zbiór powielonych osobników R, a liczba reprezentantów
danego ciagu
˛ kodowego w zbiorze R bezpośrednio zależy
od jego przystosowania. Zatem dany osobnik może posiadać tam kilka egzemplarzy, jednakże w przypadku słabego przystosowania może w ogóle nie być zakwalifikowa-
1/6
www.pwt.et.put.poznan.pl
ny do tego zbioru. W kolejnym kroku nast˛epuje operacja
krzyżowania. W pierwszej fazie poszczególne osobniki ze
zbioru R w sposób losowy łaczone
˛
sa˛ w pary. Natomiast w
drugim etapie - także w sposób losowy - określa si˛e miejsce krzyżowania i nast˛epuje wymiana genów pomi˛edzy
osobnikami w ramach danej pary. Przedstawiony sposób
poszukiwania rozwiazań
˛
może prowadzić 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ństwem zmienia wartość
genu dla danego osobnika. Prowadzi to do genetycznego
zróżnicowania i tym samym maleje prawdopodobieństwo
znalezienia si˛e w minimum lokalnym.
AG należa˛ do grupy metod probabilistycznych, jednak niedeterministyczne przeszukiwanie zbioru rozwia˛
zań jest ukierunkowane dzi˛eki operacjom reprodukcji i
krzyżowania [11].
3. Sformułowanie problemu
Problem budowy drzew transmisyjnych typu „multicast” obejmuje cały szereg zagadnień. W przypadku jednokryterialnych algorytmów drzew rozgłoszeniowych z jednym źródłem można go zdefiniować nast˛epuja˛
co [12]. Rozważana jest sieć teletransmisyjna reprezentowana przez graf G = (E, V ), gdzie E jest zbiorem kraw˛edzi, a V jest zbiorem wierzchołków. W celu oszacowania
jakości zestawianych połaczeń
˛
każdej kraw˛edzi l ze zbioru E przypisuje si˛e koszt c(l). Koszt ten może wyrażać
opóźnienie łacza,
˛
opłat˛e za jego wykorzystanie, prawdopodobieństwo bł˛edów lub inne parametry. Dodatkowo w
grafie wyróżniony został wierzchołek s b˛edacy
˛ źródłem
transmisji rozgłoszeniowej oraz zbiór odbiorników M taki, że M ∈ V i s 6∈ M . Jednokryterialne drzewo transmisji grupowej M T definiuje si˛e jako drzewo o wierzchołku
w ź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 powyżej kosztu - należy rozważyć
dodatkowe warunki [7]. Cz˛esto jednym z nich jest ograniczenie opóźnienia każdej ścieżki łacz
˛ acej
˛ źródło s z dowolnym odbiornikiem v do wartości ∆, które można wyrazić nast˛epujaca
˛ zależnościa:
˛
X
∀p∈M T
D(e) ≤ ∆,
(2)
e∈p
gdzie D(e) to opóźnienie kraw˛edzi e.
4. Prezentacja wybranych AG
Główna˛ trudnościa˛ jaka˛ stanowia˛ problemy wielokryterialne jest wzajemna sprzeczność poszczególnych
kryteriów. Oznacza to, że rozwiazanie
˛
optymalne dla jednego kryterium może być mało optymalne z punktu widzenia innego kryterium. W takim przypadku AG sa˛
szczególnie użyteczne, ponieważ w tym przypadku, zbudowanie efektywnego algorytmu deterministycznego, zarówno pod wzgl˛edem szybkości działania, jak i jakości
otrzymywanych rozwiazań,
˛
jest bardzo trudne.
PWT 2005 - POZNAŃ 8-9 GRUDNIA 2005
Wielokryterialne algorytmy genetyczne można podzielić na trzy grupy: algorytmy, w których określa 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ń,
˛
a nast˛epnie podejmowana jest decyzja [15].
Pierwszy przypadek oznacza, że kryteria wyboru najlepszego rozwiazania
˛
określane 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ń
˛
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, ponieważ nie sa˛ znane autorom AG należace
˛ do tej klasy, które sa˛ wykorzystywane
w problemach optymalizacji połaczeń
˛
rozgał˛eźnych.
Ostatnia grupa składa si˛e z algorytmów, które najpierw
szukaja˛ rozwiazań
˛
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ń
˛
typu jeden-do-wielu można podzielić także ze wzgl˛edu na cechy typowe dla AG takie
jak sposób kodowania rozwiazań
˛ w postaci chromosomów
czy podejście do operacji krzyżowania. Przy czym podstawowym kryterium jest sposób kodowania rozwiazań
˛
w
postaci chromosomów, który można realizować wykorzystujac:
˛ list˛e ścież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
krzyżowania sa:
˛ krzyżowanie jednopunktowe [11], [1],
krzyżowanie dwupunktowe [11], [2] i krzyż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˛ ściśle zdefiniowanego kosztu i opóźnienia, lecz prawdopodobieństwo przyj˛ecia przez opóźnienie i pasmo określonych wartości. Wprowadzono także ograniczenie, zgodnie z którym opóźnienie pomi˛edzy źródłem s a dowolnym odbiornikiem nie może przekroczyć wartości progowej ∆ oraz
ograniczenie przepustowości połaczenia
˛
źródło-odbiornik
(co najmniej B).
W pierwszej fazie działania algorytmu dla każdej pary źródło odbiornik (s, ri ) (gdzie i to numer odbiornika)
wyznacza si˛e zbiór łacz
˛ acych
˛
je ścieżek Ri , a nast˛epnie
spośród poszczególnych zbiorów Ri usuwa si˛e wszystkie
ścieżki nie spełniajace
˛ ograniczeń. Ciag
˛ kodowy danego
2/6
www.pwt.et.put.poznan.pl
osobnika składa si˛e z m = |M | genów, z których każdy
gen reprezentuje ścieżk˛e ze zbioru Ri . Populacja poczat˛
kowa składa si˛e z kilku osobników wybranych w sposób
losowy. W celu określania stopnia przystosowania definiuje si˛e agregacyjna˛ funkcj˛e celu, która określona jest jako
suma trzech czynników:
f = F1 + F2 + F3 .
(3)
Definicje czynników F1 , F2 , F3 oparte sa˛ na prawdopodobieństwie, ponieważ kraw˛edzie opisane sa˛ prawdopodobieństwem przyj˛ecia określonej wartości opóźnienia i
pasma. Tak wi˛ec, znajac
˛ wartość funkcji celu dla danego osobnika, można wyznaczyć prawdopodobieństwo 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ństwo spełnienia ograniczeń nakładanych na opóźnienie przez ścieżk˛e P . W podobny sposób wyznacza si˛e czynnik F2 określajacy
˛ prawdopodobieństwo, ż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śla prawdopodobieństwo osiagni˛
˛ ecia przepustowości B. Ostatni czynnik
F3 pozwala wpływać na faworyzowanie ścieżek o mniejszym wykorzystaniu pasma:
P
(cl − bl )
P
F3 = R = l∈M
,
(8)
l∈M cl
gdzie czynnik cl oznacza pojemność łacza,
˛
a bl oznacza wielkość aktualnie wykorzystanego pasma. Analizujac
˛ wzór (8) można zauważy, że preferowane sa˛ łacza
˛
z
jak najmniejszym wykorzystaniem pasma.
Schemat działania algorytmu BD został przedstawiony na listingu 1. Algorytm BD należy do klasy algorytmów genetycznych. Zatem schemat jego działania polega
na iteracyjnym procesie reprodukcji, krzyż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śród omawianych algorytmów jest algorytm zaproponowany przez Zhou Xianwei, Chen Changjia i Zhu Gang’a, który w dalszej cz˛eś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ść funkcji celu dla danego osobnika i. Czynnik F1 określa prawdopodobieństwo
zdarzenia, że dane drzewo transmisji grupowej M T spełnia ograniczenia nakładane na opóźnianie. M T spełnia to
ograniczenie jeśli poszczególne ścieżki łacz
˛ ace
˛ źródło i
odbiornik, także je spełniaja.˛ A zatem prawdopodobieństwo spełnienia ograniczenia nakładanego na opóźnienie
przez całe drzewo można wyrazić wzorem:
Y
F1 = p(∆) =
fP (∆),
(5)
F2 = p(B) =
input : graf G(E, V ), ź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 ścieżek
łacz
˛ acych
˛
źródło s z odbiornikiem m;
end
forall m ∈ M do
ze zbioru Rm usuń ścieżki nie spełniajace
˛
ograniczeń;
end
wylosuj populacj˛e poczatkow
˛
a;
˛
while end-condition do
oblicz wartość funkcji celu;
wykonaj operacj˛e reprodukcji;
wykonaj operacj˛e krzyżowania;
wykonaj operacj˛e mutacji;
end
Listing 1: Schemat algorytmu BD
określany mianem algorytmu XCG [2]. Algorytm BD korzystał ze zbiorów ścieżek łacz
˛ acych
˛
źródło s z poszczególnymi odbiornikami i na tej podstawie znajdował najbardziej optymalna˛ kombinacj˛e ścieżek z poszczególnych
zbiorów. Algorytm XCG cechuje si˛e innym podejściem.
Drzewo Steinera składa si˛e ze źródła transmisji typu multicast, zbioru odbiorników M oraz zbioru pewnej liczby wierzchołków S należacych
˛
do V \(M ∪ s) zwanych
wierzchołkami Steinera. Wierzchołki Steinera nie sa˛ odbiornikami transmisji grupowej, sa˛ jednak punktami pośredniczacymi
˛
w transmisji. Zarówno źródło, jak i odbiorniki, sa˛ obowiazkow
˛
a˛ cz˛eścia˛ drzewa Steinera, natomiast
zbiór wierzchołków Steinera może być dowolny. Drzewa
składajace
˛ si˛e z różnych kombinacji wierzchołków Steinera b˛eda˛ odznaczać si˛e różnymi właściwościami.
Algorytm XCG opiera si˛e na tym spostrzeżeniu. Dla
danego ź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 ścież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 źródła s i zbioru M pod
uwag˛e bierze także zbiór wierzchołków Steinera S. W algorytmie XCG, algorytm genetyczny użyty jest do znalezienia optymalnego zbioru S. XCG pozwala rozwiazy˛
wać problem budowy minimalnych w sensie kosztu drzew
transmisji grupowej nawet jeśli pod uwag˛e brane jest wiele kryteriów i oparta jest na jednokryterialnym algorytmie zaproponowanym przez Esbensena [16]. Jednakże,
w przeciwieństwie do poprzednio opisywanego algorytmu BD, ograniczenia nie sa˛ tu tak ścisłe. Rozwiazania,
˛
które w niewielkim stopniu przekraczaja˛ zadane kryteria ograniczajace,
˛ także brane sa˛ pod uwag˛e w iteracyjnym procesie obliczania rozwiazania
˛
końcowego. Kolejna˛
kluczowa˛ różnica˛ pomi˛edzy algorytmem BD a XCG jest
odmienne traktowanie ograniczeń. W przypadku algorytmu BD nie były one w ogóle uwzgl˛edniane przez algorytm genetyczny, natomiast w przypadku metody XCG
ograniczenia sa˛ cz˛eścia˛ funkcji celu. W przypadku algorytmu XCG ciag
˛ kodowy, który określa które wierz-
3/6
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, że wierzchołek i należacy
˛ do
V \(M ∪ {s}) nie jest wierzchołkiem Steinera, w przeciwnym wypadku na pozycji i jest 1. Przyj˛ety schemat kodowania oznacza to, że długość ciagu
˛ kodowego wynosi
|V \(M ∪ {s})|. Przy założeniu, że długość ciagu
˛ kodowego oznaczymy z można określić funkcj˛e mapujac
˛ a˛ π jako:
π : {0, 1, ..., z − 1} → {0, 1, ..., z − 1}. Funkcja π używana jest do kodowania genotypów, które przyjmuja˛ postać:
{(π(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ślona 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, że to czynnik minimalizowany, a funkcja
celu jest funkcja,˛ która˛ si˛e maksymalizuje stad
˛ wprowadzono wartość 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 ), ź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 krzyż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)] wyraża si˛e
zależnościa:
˛
Φ[bi (x)] = b2i (x).
(12)
Czynnik bi (x) oznacza stopień spełnienia danego ograniczenia i (np. może to być ograniczenie nakładane na opóźnienie lub na szerokość pasma). Znajac
˛ funkcj˛e celu można wykonać proces reprodukcji. Prawdopodobieństwo reprodukcji danego osobnika wyraża si˛e wzorem:
pi (k) = f (xi )/
x (k+1)
1
gdzie symbol iπ(j)
oznacza, ż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ństwem 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śró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ślana jest mianem MOP (ang.
Multiobjective Optimization Problem) [9]. Problem MOP
składa si˛e z n zmiennych decyzyjnych, k funkcji celu i m
ograniczeń. Funkcje celu jak i ograniczenia sa˛ funkcjami
zmiennych decyzyjnych. Można to zapisać w nast˛epujacej
˛
formie:
optymalizuj:
j=1
gdzie stała n oznacza liczb˛e osobników w populacji.
Kolejnym krokiem algorytmu jest krzyżowanie. W
algorytmie XCG stosowane jest krzyżowanie dwupunktowe. Losowane sa˛ dwa punkty krzyżowania: r i r0 , dwa
osobniki x1 (k) i x2 (k) krzyżowane sa˛ ze soba˛ tak, że powstaja˛ dwa nowe ciagi
˛ kodowe x1 (k + 1) i x2 (k + 1) (k
oznacza numer populacji). Sposób krzyż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ń decyzyjna,˛ a Y przestrzeń rozwiazań.
˛
Zbiór rozwiazań
˛
e(x) >= 0 wyznacza
przestrzeń decyzyjna˛ Xr ∈ X oraz przestrzeń rozwiazań
˛
Yr ∈ Y . Z reguły nie istnieje jedno, najlepsze rozwiazanie
˛
dla problemu MOP, spełniajace
˛ wszystkie kryteria. Należy wi˛ec określić kryteria optymalności rozwiazania.
˛
Dla
wektorów funkcji celu przy założeniu, że u, v ∈ Xr można określić 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
www.pwt.et.put.poznan.pl
input : graf G(E, V ), ź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)
można określić zależność dominacji oraz nieporównywalności dla wektorów decyzyjnych u i v. Wektor u dominuje
wektor v jeśli f (u) < f (v). Wektory u i v sa˛ nieporównywalne jeśli f (u) 6< (f (v) i f (v) 6< f (u). Określenie: wektor u dominuje wektor v oznacza, że wszystkie funkcje celu osiagaj
˛ a˛ lepsze wartości dla wektora u niż dla wektora
v. Jeśli wektory u i v sa˛ nieporównywalne oznacza to, że
żaden z wektorów zmiennych decyzyjnych nie osiaga
˛ lepszej wartości dla wszystkich kryteriów. Co wi˛ecej oznacza
to, że dla pewnych kryteriów u jest lepszy niż v, a dla innych wektor v jest lepszy niż u. Jeśli wektor zmiennych
decyzyjnych x ∈ Xr nie jest zdominowany przez żaden
inny wektor ze zbioru Xr to nazywany jest on optymalnym rozwiazaniem
˛
Pareto. Zbiór rozwiazań
˛
Pareto jest to
zbiór rozwiazań,
˛
które nie sa˛ zdominowane przez żadne
inne i oznaczany jest jako Pnd . Załóżmy, że dany jest graf
G = (E, V ) dla każdej kraw˛edzi (i, j) ∈ E określone
sa:
˛ przepustowość łacza
˛
z(i, j), koszt c(i, j), opóźnienie
d(i, j) oraz bieżace
˛ wykorzystanie łacza
˛ t(i, j). Dodatkowo określony jest parametr φ, który oznacza minimalna˛
wymagana˛ przepustowość. W takim przypadku funkcje
optymalizacyjne oraz ograniczenia dla algorytmu MMR
zdefiniowane sa˛ w nast˛epujacy
˛ sposób:
maksymalne opóźnienie:




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śl populacj˛e poczatkow
˛
a˛ P;
3 while end-condition do
4
Porzuć osobniki wielokrotnie wyst˛epujace
˛ w
populacji;
5
Oblicz wektor funkcji celu;
6
Uaktualnij zbiór rozwiazań
˛
niezdominowanych Pnd ;
7
Oblicz wartość przystosowania;
8
Dokonaj selekcji;
9
Dokonaj krzyżowania;
10
Dokonaj mutacji;
11 end
Listing 3: Schemat działania algorytmu MMR
1
2
wartość funkcji optymalizacyjnych. Nast˛epnie w punkcie
6 nast˛epuje sprawdzenie, czy któreś z rozwiazań
˛ w zbiorze
rozwiazań
˛
niezdominowanych Pnd nie jest zdominowane
przez któryś z wektorów decyzyjnych w populacji P . Jeśli tak jest, to zbiór Pnd jest uaktualniany. Przystosowanie
(krok 7) liczone jest zgodnie z procedura˛ SPEA [9]. Wartość funkcji celu w odmienny sposób obliczana jest dla
osobników ze zbioru Pareto Pnd , a inaczej dla osobników
w zbiorze P . Każ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łoż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 ścieżek, dla każdej pary źródło-odbiornik
wyznaczonych na podstawie kosztu, opóźnienia i aktualnego wykorzystania ścieżek. Chromosom składa si˛e z
|N | genów. Każdy gen gi reprezentuje jedna˛ ze ścieżek
łacz
˛ ac
˛ a˛ źródło s z odbiornikiem ni . Populacja poczatko˛
wa P budowana jest w sposób losowy. Jak widać 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 każ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ć osobnika j ∈ P określa si˛e jako sum˛e mocy
wszystkich chromosomów ze zbioru Pnd , które dominuja˛ osobnik j plus 1:
średnie opóźnienie:
DA =
n
.
N +1
Wybór osobników do reprodukcji nast˛epuje zgodnie z zasada˛ ruletki [11]. Ze wzorów (26) i (27) wynika, że im
mniejsza jest wartość obliczonych współczynników tym
rozwiazanie
˛
jest lepsze. W przypadku osobników należa˛
cych do zbioru P jest to oczywiste, gdyż duża wartość
współczynnika ki oznacza, że jest on zdominowany przez
wiele innych rozwiazań.
˛
Tym sam prezentuje on słabe rozwiazanie
˛
i jego szanse reprodukcji powinny być małe. Wydawać si˛e może zaskakujacym,
˛
że duża wartość współczynnika si jest niepożadana
˛
dla osobników ze zbioru rozwiazań
˛
Pareto Pnd . Podejście takie jest zrozumiałe biorac
˛ pod uwag˛e, że minimalizuje ona prawdopodobieństwo
znalezienia si˛e w minimum lokalnym [9]. Przystosowanie
odbiorników określane 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
www.pwt.et.put.poznan.pl
gdzie
S=
X
i∈Pnd
si +
X
kj .
(29)
j∈P
Przystosowanie fi określa jednocześnie prawdopodobieństwo reprodukcji danego osobnika. Po obliczeniu przystosowania osobników nast˛epuje reprodukcja, krzyżowanie
oraz mutacja.
5. Wnioski
W artykule zaprezentowano trzy, zdaniem autorów reprezentatywne, algorytmy genetyczne rozwiazuj
˛ a˛
ce NP–trudny problem wielokryterialnych połaczeń
˛
rozgał˛ezionych z ograniczeniami. Algorytmy przedstawione
w artykule zostały wyselekcjonowane w taki sposób, aby
pokazać przykłady metod wielokryterialnych należ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˛eć ukazania różnego podejścia do kodowania rozwiazań
˛
w postaci chromosomów oraz sposób
podejścia do ograniczeń.
Jako pierwszy przedstawiono algorytm BD. Algorytm BD należy do klasy pierwszej problemów wielokryterialnych, gdyż sprowadza wiele optymalizowanych
kryteriów do jednego, poprzez zastosowanie znanej przed
rozpocz˛eciem obliczeń funkcji agregacyjnej. Metoda ta
ściśle przestrzega nakładanych ograniczeń, gdyż ze zbiorów ścież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ść
działania algorytmu. Założenie, że dla każdej kraw˛edzi
znane sa˛ prawdopodobieństwa spełniania wymagań czyni
ten algorytm odpowiednim do zastosowań, które charakteryzuja˛ si˛e duża˛ fluktuacja˛ ruchu.
Algorytm XCG podobnie jak BD także agreguje wiele kryteriów do jednego co oznacza, że podobnie jak BD
należy do klasy pierwszej. W przeciwieństwie do poprzedniej metody ograniczenia nie sa˛ traktowane tak ściśle, gdyż sa˛ one cz˛eścia˛ funkcji celu. Odmienny jest także
sposób kodowania, które w tym wypadku oparte jest na
zbiorze wierzchołków Steinera. Niewatpliw
˛
a˛ zaleta˛ algorytmu jest rozmycie ograniczeń, dzi˛eki czemu rozwiaza˛
nia naruszajace
˛ je w niewielkim stopniu także brane sa˛
pod uwag˛e. Odmienne kodowanie rozwiazań
˛
od algorytmu BD pozwala na rozszerzenie przestrzeni poszukiwań,
która nie jest ograniczona do z góry określonych zbiorów połaczeń.
˛
Wada˛ tego podejścia jest zwi˛ekszenie czasu
działania algorytmu.
Ostatnim zaprezentowanym algorytmem jest algorytm MMR. W przeciwieństwie do dwóch wcześniej
przedstawionych metod należy on do trzeciej klasy algorytmów wielokryterialnych. Zatem najpierw określa si˛e
zbiór rozwiazań
˛
Pareto, który nast˛epnie staje si˛e podstawa˛ do określenia rozwiazania
˛
optymalnego. Podobnie jak
algorytm BD metoda MMR bierze pod uwag˛e ograniczenia jeszcze przed rozpocz˛eciem obliczeń. Z punktu widzenia kodowania algorytm MMR podobny jest do XCG,
PWT 2005 - POZNAŃ 8-9 GRUDNIA 2005
gdyż wykorzystuje do tego listy ścieżek. Zaleta˛ algorytmu MMR jest wykorzystywanie zbioru rozwiazań
˛
Pareto, dzi˛eki temu nie trzeba określać funkcji agregujacych.
˛
Dodatkowo zastosowanie procedury SPEA minimalizuje
prawdopodobieństwo znalezienia si˛e w w minimum lokalnym.
Autorom znane sa˛ wyniki ukazujace
˛ efektywność
działania omówionych algorytmów, ale ze wzgl˛edu na
ograniczone możliwości 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ń
˛
rozgałeźnych 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