POZNAN UNIVERSITY OF TECHNOLOGY ACADEMIC JOURNALS Adam CHOJNACKI* Maciej PIECHOWIAK* Piotr ZWIERZYKOWSKI* 2007 Poznańskie Warsztaty Telekomunikacyjne Poznań 6-7 grudnia 2007 NOWY ALGORYTM GENETYCZNY DLA POŁĄCZEŃ ROZGAŁĘŹNYCH W SIECIACH PAKIETOWYCH W artykule zaproponowano nowy algorytm genetyczny routingu rozgałęźnego dla sieci pakietowych. Przedstawiono opis i schemat działania algorytmu. Symulacyjne badania algorytmu potwierdziły jego efektywność w porównaniu z dobrze znanymi algorytmami heurystycznymi tj. CSPT, KPP oraz LD. 1. WPROWDZENIE Wzrost przepustowości współczesnych sieci umożliwił transmisję danych multimedialnych w czasie rzeczywistym (transmisja radiowa i telewizyjna, wideo na żądanie, telekonferencje, itp.) [1]. Dla zapewnienia poprawnej transmisji tego typu danych wymagane jest określone pasmo, a przede wszystkim opóźnienie między węzłem nadawczym i odbiorczym utrzymane na stałym, nieprzekraczalnym poziomie. Zjawisko fluktuacji opóźnienia (ang. jitter) jest w tym wypadku niepożądane. Sposób transmisji tego typu danych przypomina technikę rozsiewczą (ang. broadcasting), jednak w praktyce istnieje określona grupa węzłów odbierająca równolegle te same dane w tym samym czasie. Transmisja grupowa (ang. multicasting) wymaga wydajnych algorytmów routingu wyznaczających drzewo o minimalnym koszcie między węzłem nadawczym, a poszczególnymi węzłami reprezentującymi odbiorców. Takie rozwiązanie zapobiega powielaniu tych samych danych (pakietów) w łączach sieci. Rozgałęzianie przesyłanych danych następuje tylko w tych węzłach sieci, które prowadzą bezpośrednio do węzłów odbiorczych. Jeżeli sieć komunikacyjną przedstawimy jako graf, wynikiem działania takiego algorytmu routingu będzie drzewo rozpinające zakorzenione w węźle nadawczym i obejmujące wszystkie węzły odbiorcze wchodzące w skład grupy multicast. W procesie optymalizacji wyróżnić można dwa rodzaje drzew: minimalne drzewo Steinera (MST ang. Minimum Steiner Tree) oraz drzewo najkrótszych ścieżek między węzłem źródłowym, a każdym z węzłów odbiorczych (SPT ang. Shortest Path Tree). Znalezienie minimalnego drzewa Steinera, będące problemem NPzupełnym, prowadzi do struktury o minimalnym koszcie całkowitym [3]. Drzewo najkrótszych ścieżek minimalizuje koszt każdej ścieżki między nadawcą, a każdym * Poznań University of Technology, Chair of Communication and Computer Networks PWT 2007 - POZNAŃ 6-7 GRUDNIA 2007 1/9
Adam Chojnacki, Maciej Piechowiak, Piotr Zwierzykowski z członków grupy multicast tworząc drzewo ze ścieżek o najmniejszym koszcie. W ogólności stosuje się algorytm Dijkstry [5] lub Bellmana-Forda [6], a następnie odcina gałęzie drzewa, które nie zawierają węzłów odbiorczych. W celu zapewnienia niezawodnej transmisji aplikacje multimedialne stawiają wysokie wymagania parametrom jakościowym (ang. QoS - Quality-of-Service). Wymagania jakościowe dotyczące m.in. stałej gwarantowanej wartości opóźnień związanych z przejściem pakietu pomiędzy węzłem nadawczym i odbiorczym po określonej ścieżce w sieci są wciąż wyzwaniem dla projektantów aplikacji czasu rzeczywistego. Dlatego proces optymalizacyjny przeprowadza się przy użyciu drugiej metryki sieci opóźnienia. Maksymalne opóźnienie między dwoma końcowymi punktami w sieci (Δ) jest kryterium wykorzystywanym przy konstruowaniu drzew multicast. W pracach [3] i [4] udowodniono, że znalezienie takiego drzewa jest problemem NP-zupełnym dla jednego i większej liczby parametrów QoS. Z uwagi na złożoność problemu prezentowane algorytmy stosują techniki przybliżające rozwiązanie algorytmy genetyczne i algorytmy heurystyczne (m.in. [4]). W artykule przedstawiono propozycję nowego algorytmu genetycznego oraz porównano efektywność popularnych algorytmów heurystycznych. W rozdziale drugim przedstawiono model sieci wykorzystywany w badaniach. Rozdział trzeci zawiera opis proponowanego algorytmu. W rozdziale czwartym przedstawiono uzyskane wyniki badań. Artykuł kończy podsumowanie umieszczone w rozdziale piątym. 2. MODEL SIECI Załóżmy, że sieć komunikacyjna reprezentowana jest jako nieskierowany, spójny graf N = (V, E), gdzie V jest zbiorem węzłów, a E zbiorem łączy między węzłami sieci. Istnienie łącza e=(u,v) między węzłem u i v pociąga za sobą istnienie łącza e'=(v,u) dla dowolnych u, v V (odpowiednik łączy dwukierunkowych w sieciach komunikacyjnych). Z każdym łączem e E skojarzone są dwa parametry: koszt C(e) oraz opóźnienie D(e). Koszt połączenia reprezentuje wykorzystanie zasobów łącza. C(e) jest zatem funkcją wielkości ruchu w danym łączu i pojemności bufora wymaganej dla tego ruchu. Opóźnienie w łączu z kolei jest sumą opóźnień wprowadzanych przez propagację w łączu, kolejkowanie i przełączanie w węzłach sieci. Grupa multicast jest zbiorem węzłów będących odbiorcami ruchu grupowego (identyfikacja odbywa się na podstawie unikalnego adresu i), G = {g 1,..., g n } V, gdzie n = G V. Węzeł s V jest źródłem dla grupy multicast G. Drzewo multicast T(s,G) E jest drzewem zakorzenionym w węźle źródłowym s i obejmującym wszystkich członków grupy G. Całkowity koszt drzewa T(s,G) można określić jako t T ( s, G ) C( t). Ścieżka P(s, G) T(s, G) jest zbiorem łączy między s a g G. Koszt ścieżki P(s, G) PWT 2007 - POZNAŃ 6-7 GRUDNIA 2007 2/9
Nowy algorytm genetyczny dla połączeń rozgałęźnych w sieciach pakietowych można przedstawić jako początkiem i końcem ścieżki: p P ( s, G ) C( p) p P ( s, G ) D( p) drzewie można wyznaczyć jako max D( p., natomiast opóźnienie mierzone między p P( s, G) ) g G. Stąd też maksymalne opóźnienie w Drzewo Steinera jest dobrą reprezentacją rozwiązania problemu routingu multicast. Takie podejście nabiera szczególnego znaczenia, gdy mamy do czynienia tylko z jedną aktywną grupą multicast, a koszt całego drzewa ma być minimalny. Ze względu jednak na złożoność obliczeniową tego algorytmu (problem NP-zupełny) [3] stosuje się algorytmy genetyczne lub heurystyczne. Jeżeli zbiór węzłów minimalnego drzewa Steinera zawiera wszystkie węzły danej sieci, wtedy problem sprowadza się do znalezienia minimalnego drzewa rozpinającego (rozwiązanie to można uzyskać w czasie wielomianowym). 3. PROPONOWANY ALGORYTM GENETYCZNY W działaniu każdego algorytmu genetycznego możemy wyróżnić etap wyboru populacji początkowej, krzyżowania oraz mutacji. Duże znaczenie dla efektywności i jakości rozwiązania ma równie sposób kodowania chromosomów i ich ocena. Dlatego w przedstawionym opisie algorytmu skupiono się na tych elementach. 3.1. Tablica trasowania W grafie sieciowym, zdefiniowanym jako G=(V, E), gdzie V oznacza liczbę wierzchołków, a E określa liczbę krawędzi, może istnieć do V x{ V -1} par: węzeł nadawczy-węzeł odbiorczy. Taka para może być połączona zestawem różnego rodzaju łączy, od węzła początkowego do węzła końcowego, zwanych dalej drogami. W wyniku tego istnieje wiele różnych dróg pomiędzy węzłem nadawczym, a węzłem odbiorczym. W przypadku przedstawianej implementacji algorytmu genetycznego tworzymy tablice trasowania, w których zapisujemy określoną liczbę dróg dla każdej pary: nadawca-odbiorca. Tablice trasowania możemy tworzyć w sposób uporządkowany lub nie. Dla potrzeb implementacji wybrano zmodyfikowany algorytm Dijkstry [5], natomiast sortowanie tablic odbywa się według kosztu elementów składających się na drogę łączącą docelowe węzły, przy czym najtańsze rozwiązania znajdują się na początku zestawienia. 3.2. Reprezentacja chromosomów Dla danego zestawu: węzeł nadawczy M[0] i zbioru węzłów odbiorczych M[1, 2, 3,, k] chromosom może być reprezentowany przez ciąg liczb naturalnych o długości k równej liczbie dróg pomiędzy węzłem nadawczym, a poszczególnymi węzłami odbiorczymi. W ten sposób otrzymujemy osobniki PWT 2007 - POZNAŃ 6-7 GRUDNIA 2007 3/9
Adam Chojnacki, Maciej Piechowiak, Piotr Zwierzykowski złożone z liczby: k genów, z których każdy reprezentuję określoną drogę w wybranej tablicy trasowania (0, 1, 2,., K), zgodnie ze schematem przedstawionym na rysunku. Rys. 1. Reprezentacja chromosomu Przedstawiona metoda kodowania została po raz pierwszy zaprezentowana dla problemu routingu połączeń typu punkt-punkt [1],[2]. W celu wykorzystania jej w algorytmie routingu połączeń typu punkt wielopunkt, który wymaga drzewa spinającego wszystkie wierzchołki należące do grupy multicastowej, musi zostać uwzględniona specyfika takich systemów. A zatem otrzymany rezultat nie może zawierać powtarzających się krawędzi, które mogą pojawić się niezależnie w ramach różnych dróg łączących inne wierzchołki docelowe. Co więcej, wszelkie pętle, jakie mogą powstać wyniku przecinania się dwóch lub większej liczby dróg muszą zostać wyeliminowane. 3.3. Działanie algorytmu Algorytm rozpoczyna pracę z losową wykreowaną populacją. Dla wszystkich chromosomów składających się na populację następuje obliczenie funkcji oceny, określającej dopasowanie poszczególnych osobników. Po dokonaniu oceny i posortowaniu populacji według ich przystawania rozpoczyna się proces ewolucji, opierający się na dwóch podstawowych operatorach genetycznych mutacji i krzyżowaniu. Po przetworzeniu określonej liczby pokoleń najlepiej dopasowany chromosom wyznaczy wartość rozwiązania odnalezioną przez algorytm. PWT 2007 - POZNAŃ 6-7 GRUDNIA 2007 4/9
Nowy algorytm genetyczny dla połączeń rozgałęźnych w sieciach pakietowych 3.4. Inicjalizacja chromosomów Każdy osobnik złożony jest z liczby k genów, które to reprezentowane są przez liczby naturalne w zakresie (0, 1, 2,., K). Inicjalizacja populacji polega na losowym wypełnieniu genów liczbami wygenerowanymi przez generator multiplikatywny. Proces ten jest powtarzany dla wszystkich chromosomów należących do populacji, których liczba jest zawsze stała w każdej iteracji. 3.5. Ocena chromosomów Wartość funkcji dopasowania chromosomu określa wartość celu dla poszukiwanego drzewa multicastowego reprezentowanego przez dany osobnik. Funkcja oceny jest obliczana na podstawie ścieżek z tablic trasowania wskazywanych przez poszczególne geny pojedynczych osobników populacji. Obliczamy ją sumując koszt wszystkich ścieżek wchodzących w skład drzewa multicastowego zdefiniowanego przez dany chromosom. Po obliczeniu wartości dla każdego osobnika, chromosomy są sortowane poczynając od najlepiej przystosowanych egzemplarzy, a kończąc na najgorzej ocenionych w populacji. 3.6. Operatory genetyczne i rozwój populacji Zgodnie z obliczona funkcją dopasowania poszczególnych osobników, część chromosomów zostaje wybrana do wygenerowania następnego pokolenia, natomiast pozostałe zostają skazane na wymarcie. W ten sposób osobniki z wyższych miejsc listy (o większej wartości funkcji dopasowania) mają większe szanse na przeżycie i reprodukcje, natomiast niedopasowane do otoczenia chromosomy wyginą, zgodnie z zasadna selekcji naturalnej. W procesie PWT 2007 - POZNAŃ 6-7 GRUDNIA 2007 5/9
Adam Chojnacki, Maciej Piechowiak, Piotr Zwierzykowski reprodukcji nie następuje zmiana liczebności populacji, która jest utrzymywana przez cały czas na tym samym poziomie. 3.6.1. Krzyżowanie W wyniku działania operatora krzyżowania informacja genetyczna pochodząca od osobników o lepszej funkcji dopasowania wybieranych z istniejącej populacji jest mieszana w celu utworzenia dwóch nowych potomków. Punkty cięcia chromosomów rodzicielskich, a co za tym idzie długość porcji genów przekazywanych potomkom od poszczególnych rodziców są wybierane losowo. Na bazie materiału przekazanego od rodziców tworzone są osobniki potomne tworzące nowe pokolenie. Rys. 2. Schemat krzyżowania 3.6.2. Mutacja Operacja mutacji stanowi pewną losową zmianę w materiale genetycznym osobnika, której celem jest uniknięcie znalezienia się w lokalnym optimum. Mutacja ułatwia poszerzenie obszaru przeszukiwań przestrzeni możliwych rozwiązań. W przypadku algorytmu genetycznego zastosowana mutację punktową, w której z pewnym prawdopodobieństwem, zwanym prawdopodobieństwem mutacji, następuję losowa zmiana pojedynczego genu przetwarzanego osobnika, zgodnie z wartością wylosowaną przez generator losowy. 4. WYNIKI BADAŃ Wyniki badań przedstawione na Rys. 4 7 prezentują porównanie proponowanego algorytmu genetycznego z popularnymi algorytmami dla połączeń typu multicast: KPP, CSPT oraz drzewem minimalnych opóźnień LDC. W pierwszym etapie badań wyznaczono koszty generowanych drzew w funkcji wielkości sieci (liczba węzłów sieci n). Symulacje przeprowadzono dla maksymalnej wartości opóźnienia wzdłuż ścieżki =2000 (Rys. 3) oraz bez uwzględniania tego parametru ( ) Rys. 4. Zmniejszenie kosztów generowanych drzew jest szczególnie widoczne dla proponowanego algorytmu przy =2000. Znajduje on wtedy rozwiązania lepsze niż popularny CSPT. Przy braku ograniczenia opóźnienia, wydajność obydwu algorytmów jest zbliżona (w PWT 2007 - POZNAŃ 6-7 GRUDNIA 2007 6/9
Nowy algorytm genetyczny dla połączeń rozgałęźnych w sieciach pakietowych rzeczywistości obydwa algorytmy są algorytmami budującymi drzewo najkrótszych ścieżek SPT). KPP zwraca najlepsze wyniki w obydwu przypadkach. Rysunek 5 pokazuje, że wraz ze wzrostem liczebności grupy multicastowej koszty drzew rosną dla każdego z wykorzystywanych algorytmów. Jednak te uzyskiwane przez AG są mniejsze od analogicznych kosztów uzyskiwanych przez CSPT. W przypadku kosztów drzew otrzymanych dla sieci o różnych gęstościach (różny średni stopień grafu D av wyniki AG są zbliżone do CSPT (Rys. 6). Rys. 3. Zależność kosztu drzewa multicast w funkcji liczby węzłów sieci n (m=10, D av =4, =2000) Rys. 4. Zależność kosztu drzewa multicast w funkcji liczby węzłów sieci n (m=10, D av =4, ) PWT 2007 - POZNAŃ 6-7 GRUDNIA 2007 7/9
Adam Chojnacki, Maciej Piechowiak, Piotr Zwierzykowski Rys. 5. Zależność kosztu drzewa multicast w funkcji liczby węzłów odbiorczych m (n=100, D av =4, =2000) Rys. 6. Zależność kosztu drzewa multicast w funkcji liczby łączy w sieci k (n=200, m=10, ) 5. PODSUMOWANIE W artykule przedstawiono propozycję nowego algorytmu genetycznego dla połączeń rozgałęźnych w sieci pakietowej. Wyniki licznych eksperymentów symulacyjnych przeprowadzonych przez autorów wskazują na efektywność proponowanego rozwiązania, która w wielu wypadkach jest lepsza od klasycznych algorytmów heurystycznych. Prezentowane wyniki potwierdzają słuszność PWT 2007 - POZNAŃ 6-7 GRUDNIA 2007 8/9
Nowy algorytm genetyczny dla połączeń rozgałęźnych w sieciach pakietowych przyjętego kierunku badań, których pierwszym rezultatem jest opisywany w artykule algorytm genetyczny. Dalsze badania będą dotyczyły sprawdzenia efektywności badanego algorytmu dla różnych metod generowania topologii sieci i związanych z nimi parametrów opisu sieci. Prowadzone będą również badania efektywności AG w zależności od przyjętych metod implementacji operatorów genetycznych. LITERATURA [1] Wang Z., Crowcroft J.: Quality-of-service routing for supporting multimedia applications, Journal on Selected Area in Communications, 14(7):1228-1234, 1996. [2] Schmamoto N., Hiramatu A., Yamasaki K.: A dynamic routing control based on a genetic algorithm, IEEE International Conference on Neural Networks, pp. 1123-1128, 1993. [3] Karp R.: Reducibility among combinatorial problems, Complexity of Computer Computations, pp. 85-104, 1972 [4] Kou L., Markowsky G., Berman L.: A fast algorithm for Steiner trees, Acta Informatica, no. 15, pp. 141-145, 1981. [5] Dijkstra E.: A note on two problems in connexion with graphs, Numerische Mathematik, vol. 1, pp. 269-271, 1959. [6] Bellman R.: On a routing problem, Quarterly of Applied Mathematics, vol. 16, no.1, pp. 87-90, 1958. [7] Kompella V.P., Pasquale J., Polyzos G.C.: Multicasting for Multimedia Applications, in Proceedings of INFOCOM, pp. 2078-2085, 1992. PWT 2007 - POZNAŃ 6-7 GRUDNIA 2007 9/9