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-