zastosowanie algorytmów genetycznych do optymalizacji sieci

Transkrypt

zastosowanie algorytmów genetycznych do optymalizacji sieci
Algorytmy genetyczne, optymalizacja sieci komputerowych
Krzysztof Pytel∗
Grzegorz Kluka∗∗
Jerzy Kisilewicz***
ZASTOSOWANIE ALGORYTMÓW GENETYCZNYCH DO
OPTYMALIZACJI SIECI KOMPUTEROWYCH
W artykule zaproponowano wykorzystanie algorytmów genetycznych do minimalizacji średniego
opóźnienia pakietu w sieci komputerowej. Dla zapewnienia większej zbieżności algorytmu
zastosowano zmodyfikowany algorytm genetyczny, wykorzystujący sterownik rozmyty oceniający
poszczególnych osobników w populacji. W zależności od oceny osobnika modyfikowane jest
prawdopodobieństwo jego selekcji do puli rodzicielskiej, dzięki czemu do puli rodzicielskiej powinno
trafić więcej osobników dobrze przystosowanych a mniej słabiej przystosowanych. Metoda ta
pozwala na wykorzystanie wiedzy zgromadzonej przez algorytm genetyczny we wcześniejszych
pokoleniach do przewidywania kierunku, w którym powinno zmierzać rozwiązanie optymalne.
1. WSTĘP
Optymalizacja sieci komputerowych posiada duże znaczenie praktyczne.
Podstawowym celem optymalizacji sieci jest zapewnienie jej sprawnego
i efektywnego funkcjonowania. W artykule przeanalizujemy możliwość zastosowania
algorytmów genetycznych, w których zastosowano sterowniki rozmyte do
wspomagania ewolucji osobników do rozwiązywania zadań optymalizacji sieci
komputerowych. Do testów wykorzystano zadanie minimalizacji średniego opóźnienia
pakietu. Zadanie to opisane zostało w pracy [2].
∗ Wyższa Szkoła Humanistyczno-Ekonomiczna w Łodzi ul Rewolucji 1905 nr 64, 90-222 Łódź, e-mail:
[email protected]
∗∗ Społeczna Wyższa Szkoła Przedsiębiorczości i Zarządzania, ul. Sienkiewicza 9, 90-113 Łódź, e-mail:
[email protected]
*** Politechnika Wrocławska, ul. Wybrzeże Wyspiańskiego 27, 50-370 Wrocław, e-mail:
[email protected]
xxx
W dalszych rozważaniach przyjmiemy, że dana jest sieć reprezentowana przez graf
właściwy i zorientowany G(Nw, L, Cl), gdzie: Nw jest zbiorem węzłów
reprezentujących przełączniki, L jest zbiorem łuków reprezentujących łącza natomiast
Cl jest wektorem wag. Wagi łuków mogą reprezentować odległości, opóźnienia,
przepustowości lub inną wybraną miarę.
Oznaczmy:
( x, y ) ∈ L - łuk o początku w węźle x i końcu w węźle y, gdzie x, y ∈ N ,
w
c ( x , y ) ∈ Cl
( x, y )
- przepustowość łuku
,
f ( x, y ) - przepływ w łuku ( x, y ) .
2. ZADANIE MINIMALIZACJI ŚREDNIEGO OPÓŹNIENIA PAKIETU
R = [r ]
r
ij mxn
macierz z zewnątrz wprowadzanych natężeń oraz ij
Oznaczmy przez
średnie natężenie strumienia danych kierowanych z węzła i do węzła j. Poszczególne
składniki
rij
para węzłów
możemy ponumerować od 1 do q. Z k-tym składnikiem związana będzie
sk i u k jako źródło i ujście. Przez rk oznaczmy średnie natężenie k-tego
rk = rij
i = sk j = uk
gdzie
,
. Przepływem wieloskładnikowym w sieci
składnika tzn.
S realizującym macierz z zewnątrz wprowadzanych natężeń R nazywamy zespół
funkcji
f k : L → R + ∪ {0} k = 1, ... , q ,
których wartości
f k ( x, y ) k = 1, ... , q
(1)
przypisane poszczególnym łukom
( x, y ) ∈ L spełniają następujący układ warunków:
¦
y∈A( x )
f k ( x, y ) −
¦
y∈B ( x )
­rk dla x = s k
°
f k ( y, x) = ®− rk dla x = u k
°0 w pozostaych przypadkach
¯
dla każdego x ∈ N , k = 1, ... q .
-2-
(2)
xxx
Zbiór A( x ) = { y : y ∈ N i ( x, y ) ∈ L} jest zbiorem węzłów sieci, do których
prowadzą łuki wychodzące z węzła x, zbiór B ( x ) = { y : y ∈ N i ( x, y ) ∈ L} jest
zbiorem węzłów sieci, do których prowadzą łuki skierowane do węzła x.
Problem minimalizacji średniego opóźnienia pakietu polega na minimalizacji funkcji
1
f ( x, y )
¦
γ ( x , y )∈L c( x, y ) − f ( x, y ) ,
T=
(3)
gdzie:
q
γ = ¦ ri
- jest natężeniem sumarycznego strumienia pakietów wprowadzanych do
sieci,
przy spełnieniu warunków:
i =1
¦
y∈A( x )
k
f ( x, y ) −
¦
y∈B ( x )
­rk dla x = s k
°
f ( y, x) = ®− rk dla x = u k
°0 w pozostaych przypadkach
¯
k
(4)
dla każdego x ∈ N , k = 1, ... q ,
f k ( x, y ) ≥ 0 dla każdego ( x, y ) ∈ L , k=1, ... ,q,
f ( x, y ) ≤ c( x, y ) dla każdego ( x, y ) ∈ L .
3. ALGORYTM GENETYCZNY WYKORZYSTANY DO OPTYMALIZACJI
ŚREDNIEGO OPÓŹNIENIA PAKIETU
Algorytmy genetyczne umożliwiają wyszukiwanie przybliżonych rozwiązań
złożonych problemów optymalizacyjnych. Swoje istnienie zawdzięczają obserwacji i
próbie naśladowania naturalnych procesów zachodzących w świecie organizmów
żywych - ewolucji i związanej z nią naturalnej selekcji występującej w populacjach
żywych osobników. Algorytmy genetyczne operują na całych populacjach rozwiązań
zwanych osobnikami. Rozwiązania kodowane są w struktury zwane ciągami
kodowymi. Algorytm genetyczny poszukuje coraz lepszych rozwiązań, generując
kolejne ich pokolenia. Pierwsze pokolenie tworzy się losowo lub wybiera w inny
sposób. Dla każdego kolejnego pokolenia wybiera się pewną liczbę osobników
najlepiej przystosowanych (proces selekcji lub reprodukcji). Osobniki te są kojarzone
-3-
xxx
w pary (losowo), po czym następuje wymiana (wymieszanie się) materiału
genetycznego rodziców, w wyniku czego otrzymujemy dwa nowe ciągi kodowe
(odpowiadające genotypowi dzieci). Więcej informacji na temat algorytmów
genetycznych można znaleźć w literaturze [1, 3].
W eksperymencie tym rozwiązywano zadanie testowe przy pomocy algorytmu
genetycznego
wykorzystującego
logiką
rozmytą
do
modyfikowania
prawdopodobieństwa selekcji. Schemat blokowy zmodyfikowanego algorytmu
genetycznego pokazany został na Rys.1.
START
Wybór populacji początkowej
Ocena stopnia przystosowania
T
N
WARUNEK
ZATRZYMANIA
Wyprowadzenie
"najlepszego"
osobnika
Analiza prawdopodobieństwa selekcji dla
każdego osobnika populacji
(blok logiki rozmytej)
STOP
Selekcja do puli rodzicielskiej
Utworzenie nowej populacji poprzez
operatory krzyżowania i mutacji
Rys.1. Zmodyfikowany algorytm genetyczny
Fig. 1. Modified genetic algorithm
Sterownik rozmyty (na schemacie blokowym na ciemnym tle) ocenia każdego
osobnika w populacji i wyznacza dla niego współczynnik adaptacji
prawdopodobieństwa selekcji. Do wyznaczenia współczynnika adaptacji
wykorzystywane są:
- przyrost funkcji przystosowania populacji (określa szybkość zmian funkcji
przystosowania)
T)
T −1)
∆µ pop = µ (pop
− µ (pop
-4-
,
(5)
xxx
-
wskaźnik stopnia przystosowania osobnika (określa na ile dany osobnik jest
lepszy niż przeciętny)
T)
Wos = µ os( T ) − µ (pop
.
(6)
Zmodyfikowane prawdopodobieństwo selekcji osobnika k obliczane jest na
podstawie wzoru:
ps'k = psk * wps k dla k=1...N
(7)
gdzie:
ps'k - zmodyfikowane prawdopodobieństwo selekcji osobnika k,
psk - prawdopodobieństwo selekcji osobnika k,
wpsk - współczynnik prawdopodobieństwa selekcji osobnika k wyznaczony przez
sterownik rozmyty.
Więcej informacji o algorytmach genetycznych, w których zastosowano sterownik
rozmyty do modyfikacji prawdopodobieństwa selekcji osobników można znaleźć w
pracy [4].
4. EKSPERYMENT
Eksperyment polegał na optymalizacji przepływu wieloskładnikowego bez
rozgałęzień. Jako kryterium optymalizacji przyjęto średnie opóźnienie pakietu. W
zadaniu testowym optymalizowano sieć składającą się z 58 węzłów. Łuki pomiędzy
węzłami posiadają różną przepustowość przy czym nie wszystkie węzły połączone są
bezpośrednio. Z zewnątrz wprowadzono do sieci obciążenie z 9 składników o różnym
natężeniu. Dla każdego ze składników zdefiniowano po 8 dopuszczalnych tras.
Eksperymenty przeprowadzono na komputerze AMD Athlon 1.33 GHz pracującym
pod kontrolą systemu RedHat Linux. Czas potrzebny do znalezienia rozwiązania
optymalnego wynosił od 0,58 do 2,31 [s].
Przyjęto następujące parametry algorytmu genetycznego:
- geny reprezentowane są przez ciągi 9 liczb z przedziału <0, 7>,
- funkcja przystosowania dla osobnika obliczana na podstawie zależności (3),
- prawdopodobieństwo krzyżowania 0,8,
- prawdopodobieństwo mutacji 0,15,
- liczebności populacji 25.
-5-
xxx
Wykres na Rys. 2. pokazuje wartość funkcji przystosowania osobnika (średniego
opóźnienia pakietu) oraz średnią wartość przystosowania dla populacji dla pierwszych
200 pokoleń algorytmu.
Śerdnie opóźnienie pakietu
1000
Najlepszy
dotychczasowy
osobnik
Średnia w populacji
950
900
850
Linia trendu dla
średniej w polulacji
800
750
700
0
50
100
150
200
Liczba pokoleń
Rys. 2. Wartość funkcji przystosowania osobników (średniego opóźnienia pakietu)
Fig. 2. Fitness function of individuals (average delay of packet)
Wnioski i spostrzeżenia
1. Algorytm genetyczny znalazł rozwiązanie optymalne testowego problemu.
2. Średnia wartość funkcji optymalizowanej w pierwszym pokoleniu wynosiła
963 a wartość optymalna 732, co oznacza, że algorytm znalazł rozwiązanie o
około 24% lepsze od rozwiązania początkowego (wartość odniesiona do
wartości początkowej).
3. Algorytmy genetyczne mogą być zastosowane do zadań optymalizacji sieci o
większej liczbie węzłów i składników. Możliwe jest również korzystanie z
innych kryteriów optymalizacji np.: przepustowości sieci, koszt budowy,
koszt korzystania z usług komunikacyjnych.
Problem optymalizacji przepływu wieloskładnikowego jest zadaniem trudnym do
rozwiązania metodami tradycyjnymi ze względu na bardzo dużą przestrzeń rozwiązań.
Dla przyjętych w eksperymencie warunków czas potrzebny na obliczenie wszystkich
możliwych rozwiązań (metoda brute force) wynosi około 3,5 godziny.
-6-
xxx
Przepustowości łączy oferowanych przez firmy telekomunikacyjne są
wielkościami zmieniającymi się skokowo, ponadto poszczególne składniki przepływu
mogą wykorzystywać te same łącza, co powoduje że funkcja optymalizowana nie jest
funkcją ciągłą.
W algorytmach genetycznych często stosowana jest zasada mówiąca o tym, że
mutacja powodująca niewielkie zmiany funkcji optymalizowanej (potomek jest
podobny do rodzica) jest bardziej prawdopodobna niż mutacja powodująca duże
zmiany. Zasada ta ułatwia dostrojenie algorytmu. W problemie optymalizacji
przepływu trudno jest ustalić, która mutacja spowoduje niewielkie zmiany funkcji
optymalizowanej. Dlatego w eksperymencie zastosowano model mutacji, w którym
mutowany gen przyjmuje dowolną spośród dopuszczalnych wartości genu z
jednakowym prawdopodobieństwem.
Zastosowanie sterownika rozmytego modyfikującego prawdopodobieństwo
selekcji pozwoliło na zmniejszenie o około 15% liczby pokoleń potrzebnych do
uzyskania rozwiązania, co w konsekwencji spowodowało skrócenie czasu działania
algorytmu o około 6,5% w stosunku do klasycznego algorytmu genetycznego.
5. LITERATURA
[1] GOLDBERG D.E., Algorytmy genetyczne i ich zastosowania, Wydawnictwa Naukowo Techniczne,
Warszawa 1998.
[2] KASPRZAK A., Rozległe sieci komputerowe z komutacją pakietów. Oficyna Wydawnicza
Politechniki Wrocławskiej, Wrocław 1999.
[3] MICHALEWICZ Z., Algorytmy genetyczne + struktury danych = programy ewolucyjne,
Wydawnictwa Naukowo Techniczne, Warszawa 1999.
[4] PYTEL K., KLUKA G., Wykorzystanie logiki rozmytej do wspomagania ewolucji osobników w
algorytmach genetycznych, w Studia z Automatyki i Informatyki tom 27, Poznańskie Towarzystwo
Przyjaciół Nauk, Poznań 2002.
THE APPLICATION OF THE MODIFIED GENETIC ALGORITHMS TO OPTIMIZATION
OF COMPUTER NETWORKS
In the article we proposed the application of the genetic algorithms to the minimization of the average
delay of packet in the computer network. We use the modified genetic algorithm, that employs the fuzzy
logic controller for evaluating of all individuals in the population to increase algorithm convergence. In
the dependence from the estimation of the individual, the controller modifies the probability of his
selection to the parents' pool, so to the parents' pool should be chosen more of above-average and less
weak individuals. This method lets on the utilization of the aggregated knowledge by the genetic
algorithm in earlier generations to foreseeing of the direction, wherein should aim evolution. The
modified genetic algorithm gives better results in the shorter time than the elementary algorithm and can
be used also to the optimization of large networks.
-7-