XII International PhD Workshop OWD 2010, 23 26 October 2010 MODEL TEORETYCZNY ALGORYTMU MRÓWKOWEGO SAS Paweł Rembelski, Polsko-Japońska Wyższa Szkoła Technik Komputerowych (Opiekun naukowy: prof. Witold Kosiński, Polsko-Japońska Wyższa Szkoła Technik Komputerowych) Abstract The paper introduces a Simple Ant System algorithm (SAS), which is a modification of a well known Ant System (AS) heuristic. SAS method is designed with respect to the assumed definition of an optimization problem. In this case the following components of the AS method are rebuilt: the definition of pheromone density coefficient, the neighborhood choosing rule, the pheromone update rule. Using these modifications the theoretical model of evolution of SAS algorithm is derived, both in the local scale, i.e. for a single ant, as well as in the global scale, i.e. for the whole ant colony. The final conclusion is that Simple Ant System evolution process is the Markov process over the finite set of states. This result gives a possibility to carry out the detailed research on the convergence property of SAS method as well as allows to investigate a theoretical background of self-adaptive subalgorithms for the single ant behavior. Due to this line of research a Self-Adaptive Ant System (SAAS) with parallelization schema for the NVidia CUDA platform is planned to be SAS method successor. Streszczenie W artykule prezentujemy zmodyfikowaną wersję klasycznej heurystyki mrówkowej, nazwaną przez autora pracy Simple Ant System (SAS), dla której konstruujemy model teoretyczny sformułowany w języku algebry liniowej. Finalnym rezultatem pracy jest wniosek mówiący, że proces ewolucji algorytmu SAS jest procesem Markowa w skończonej przestrzeni stanów. 1. Problem optymalizacyjny Przez problem optymalizacyjny będziemy rozumieli czwórkę,r,,, gdzie: =, jest zadanym skończonym grafem skierowanym nad zbiorem indeksowanych wierzchołków =,,, i binarną macierzą sąsiedztwa wymiaru, R=,,, jest zbiorem wszystkich indeksowanych dróg (rozwiązań), tj. ciągów (z powtórzeniami) złożonych z indeksów wierzchołków grafu, gdzie =,,,, dla każdego 1, =,,, jest zbiorem indeksowanych dopuszczalnych krotności wystąpień indeksów wierzchołków grafu w każdej drodze R tak, że N, dla 1, = :R R 0 jest funkcją oceny jakości drogi. Wniosek 1.1. Ponieważ =, to zbiór R jest zbiorem skończonym. Niech dalej R będzie drogą optymalną, tj. 1. Naszym zadaniem jest wyszukanie takiej drogi R, by różnica była możliwie minimalna. Zatem interesuje nas minimalizacja wartości funkcji oceny w przestrzeni rozwiązań R. Przedstawione powyżej sformułowanie problemu optymalizacyjnego jest dostatecznie uniwersalne. Pozwala na wyrażenie wielu praktycznych zagadnień kombinatorycznych z dziedziny teorii algorytmów, szczególnie tych, z klasy problemów NP-zupełnych, jak np. problem komiwojażera, problem marszrutyzacji, problem plecakowy. Z punktu widzenia tematyki prezentowanej pracy ustalenie konkretnego problemu optymalizacyjnego nie jest istotne. Stąd, w dalszej części artykułu przedstawimy wyniki teoretyczne bez bezpośredniego odniesienia do instancji problemu optymalizacyjnego. 2. Algorytmy mrówkowe 37
Algorytmy mrówkowe stanowią szeroką klasę heurystyk optymalizacyjnych inspirowanych biologią, a dokładniej zachowaniami rojowymi. W tym przypadku siła metody obliczeniowej spoczywa na kolektywnym gromadzeniu informacji przez jednostki nazywane mrówkami i konstruowaniu indywidualnych rozwiązań w oparciu o globalną wiedzę zbioru indeksowanych mrówek =,,,, nazywanego mrowiskiem. Pierwsze prace nad algorytmami mrówkowymi przedstawił w rozprawie doktorskiej M. Dorigo [1]. Następnie razem z współpracownikami podał kompletny schemat metody Ant System (AS) [5] i wykazał efektywność tego podejścia na przykładzie problemu komiwojażera [4]. Kolejne lata badań przyniosły wiele modyfikacji bazowego modelu AS, w rezultacie czego powstała szeroka klasa heurystyk mrówkowych, nazywanych ogólnie Ant Colony Optimization (ACO), np. Ant Colony System (ACS) [3], MAX-MIN Ant System (MMAS) [8]. Algorytmy zawarte w tej klasie metod ACO znalazły szeroką gamę zastosowań praktycznych w dziedzinach: routingu, przydziału zasobów, planowania pracy, wyszukiwania właściwych podzbiorów elementów i wielu innych [2]. Wraz z rozwojem praktycznych aspektów zastosowań algorytmów mrówkowych, podano także częściowe wyniki teoretyczne dotyczące ich zbieżności i oczekiwanego czasu działania, np. [6], [7]. 2.1 Algorytm AS Model heurystyki AS bazuje na pojęciu współczynnika nasycenia śladu feromonowego, R krawędzi łączącej wierzchołek z wierzchołkiem. Wartość współczynnika jest modyfikowana w trakcie wykonania algorytmu przez wszystkie mrówki,,,, na podstawie indywidualnie skonstruowanych dróg,,,, zgodnie z poniższą regułą aktualizacji współczynników nasycenia śladu feromonowego (AS-PUR), 1 + Δ,, gdzie jest ustalonym współczynnikiem wyparowania feromonu Δ, =,, ą 0,.. dla będącego zadaną stałą. Aktualne wartości współczynników nasycenia śladu feromonowego,, dla 1, stanowią nośnik wiedzy dla całego mrowiska na temat własności przeszukiwanej przestrzeni rozwiązań R. Niech =,,, będzie aktualnie skonstruowaną drogą, przez mrówkę, gdzie =. Poniższa probabilistyczna reguła wyboru sąsiedztwa (AS-NCR) jednoznacznie determinuje prawdopodobieństwo dołączenia przez mrówkę do ciągu wierzchołka =,,,,,, 0,.. dla będących zadanymi współczynnikami sterującymi zachowaniem mrówki,, dla 1,, będącym dodatkową lokalną informacją (tzw. informacja heurystyczna) związaną z parą wierzchołków,, np. dla problemu komiwojażera 1, = dist,, gdzie dist, jest odległością między wierzchołkami o indeksach. Ostatecznie algorytm mrówkowy klasy AS ma następującą postać: ustal wartości parametrów sterujących,,, dopóki warunek stopu nie jest spełniony powtórz: o dla mrówki,,, ustal indeks wierzchołka początkowego drogi, o dla mrówki,,, zbuduj korzystając z reguły AS-NCR drogę, o przeprowadź globalnie aktualizację współczynników nasycenia śladu feromonowego reguła AS-PUR. 2.2 Algorytm SAS Prosty algorytm mrówkowy Simple Ant System (SAS) stanowi przedmiotem pracy badawczej autora artykułu. Heurystyka SAS bazuje na schemacie metody AS, wprowadza jednak szereg modyfikacji względem poszczególnych składowych wersji pierwotnej. Podstawowe zmiany dotyczą trzech kluczowych aspektów: definicji współczynnika nasycenia śladu feromonowego, reguły aktualizacji współczynników nasycenia śladu feromonowego reguła SAS-PUR, reguły wyboru sąsiedztwa reguła SAS-NCR. Dokładny opis powyższych zmian jest zawarty w treści kolejnego rozdziału. Istotny jest fakt, że w algorytmie SAS zawężamy zbiór parametrów sterujących,, jedynie do współczynnika, dodatkowo rezygnujemy z informacji heurystycznej,. Ostatecznie heurystyka SAS ma następującą postać: ustal wartość parametru sterującego,, dopóki warunek stopu nie jest spełniony powtórz: 38
o dla mrówki,,, ustal indeks wierzchołka początkowego drogi, o dla mrówki,,, zbuduj korzystając z reguły SAS-PUR drogę, o dla mrówki,,,, przeprowadź lokalnie aktualizację współczynników nasycenia śladu feromonowego reguła SAS- NCR. 3. Model teoretyczny algorytmu SAS Na potrzeby tego rozdziału przyjmiemy następujące oznaczenia:, wektor kolumnowy tożsamy z -tą kolumną macierzy, -ty element ciągu, #, liczba wystąpień elementów w wektorze/ciągu. 3.1 Probabilistyka śladu feromonowego Niech N będzie maksymalną wartością współczynnika nasycenia śladu feromonowego związanego z dowolną krawędzią grafu. Dalej zbiór H=1,2,, będziemy nazywali zbiorem współczynników nasycenia śladu feromonowego. W algorytmie SAS. Na tej podstawie wprowadzamy kolejno: F=,,, zbiór wszystkich indeksowanych wektorów kolumnowych stopni nasycenia śladu feromonowego wymiaru takich, że H, dla 1, gdzie oznacza ilość feromonu związanego z wierzchołkiem, H=,,, zbiór wszystkich indeskowanych macierzy stopni nasycenia śladu feromonowego wymiaru takich, że H, dla 1, gdzie, oznacza ilość feromonu związanego z krawędzią łączącą wierzchołek z wierzchołkiem. Wniosek 3.1. Ponieważ =, to zbiór F jest zbiorem skończonym. Wniosek 3.2. Ponieważ =, to zbiór H jest zbiorem skończonym. Korzystając z przedstawionych powyżej zbiorów H, F H wprowadzimy teraz niezbędny aparat probabilistyczny pozwalający na stworzenie modelu teoretycznego dla rozważanego algorytmu mrówkowego SAS. Przez H oznaczać będziemy zbiór dyskretnych wartości prawdopodobieństwa postaci H =, gdzie 1,2,,, 1,2,, 0< 1. Konstruujemy funkcję redukcji wektorów Ω:F R R H stanowiącą zmodyfikowaną regułę wyboru sąsiedztwa (SAS-NCR) dla algorytmu SAS, która danemu wektorowi kolumnowemu stopni nasycenia śladu feromonowego przyporządkowuje stochastyczny wektor kolumnowy =Ω,, tak, że =1 oznacza prawdopodobieństwo wyboru wierzchołka, gdzie =, #,< 0, #, :#, dla będącego parametrem sterującym zachowaniem pojedynczej mrówki. Należy zwrócić uwagę na fakt, że prawdopodobieństwo wyboru wierzchołka na podstawie wektora probabilistycznego jest równe 0 wtedy i tylko wtedy, gdy krotność występowania indeksu w dotychczas ustalonej drodze R jest większa bądź równa. W każdym innym przypadku prawdopodobieństwo wyboru wierzchołka jest niezerowe. 3.2 Przypadek podstawowy pojedyncza mrówka Przez stan mrówki w chwili będziemy rozumieli czwórkę,,,, gdzie: jest wektorem stopnia nasycenia śladu feromonowego określającym probabilistykę wyboru wierzchołka początkowego dla drogi konstruowanej w chwili, jest macierzą stopni nasycenia śladu feromonowego określającą probabilistykę wyboru kolejnych wierzchołków w drodze konstruowanej w chwili, droga będąca rezultatem przejścia mrówki ze stanu w chwili 1 do stanu, najlepsza, względem wartości funkcji oceny, droga skonstruowana do chwili 1 włącznie, F H R. 39
Wniosek 3.3. Stan mrówki w chwili zależy jedynie od stanu mrówki w chwili 1. Dalej =,,, będzie zbiorem wszystkich = indeksowanych stanów mrówki. Wniosek 3.4. Ponieważ = = to zbiór jest zbiorem skończonym. Asymptotyczne górne ograniczenie na liczność elementów zbioru jest konsekwencją wprowadzonego w pierwszym rozdziale asymptotycznego górnego ograniczenia na liczność zbioru R. Oczywiście nie jest to wynik dokładny, ale zarazem wystarczający do tego by wykazać fakt skończoności zbioru, a tym samym podać skończony wektor kolumnowy opisujący rozkład prawdopodobieństwa dla stanów mrówki, a także skonstruować skończoną macierz reprezentującą algorytm działania dla pojedynczej mrówki. Załóżmy teraz, że mrówka (z ustaloną wartością parametru ) w chwili znajduje się w stanie. Poniższy schemat determinuje regułę przejścia mrówki w algorytmie SAS ze stanu do stanu. Tym samym opisuje zmodyfikowaną regułę aktualizacji współczynników nasycenia śladu feromonowego (SAS-PUR): na podstawie rozkładu prawdopodobieństwa zadanego wektorem kolumnowym Ω,, ustal indeks pierwszego wierzchołka w konstruowanej drodze, dopóki warunek stopu nie jest spełniony powtórz: niech =,,,, na podstawie rozkładu prawdopodobieństwa zadanego wektorem kolumnowym Ω,,, ustal indeks -tego wierzchołka drogi, następnie,, niech =,,, będzie skonstruowaną drogą, gdzie 1, wtedy jeżeli, to wykonaj w przeciwnym przypadku wykonaj, niech =,,,, wykonaj aktualizację śladu feromonowego zgodnie z poniższym schematem:, max1, 1, min, +1, następnie, max1,, 1,, min,, +1, kolejno dla 1 < i 1 <. Ostatecznie stan, który mrówka osiągnie w chwili +1 ma postać,,,. Na podstawie powyższego algorytmu postępowania dla pojedynczej mrówki możemy sformułować kompletny opis algebraiczny jego wykonania. Poniżej 0,1 będzie stochastycznym wektorem kolumnowym wymiaru reprezentującym rozkład prawdopodobieństwa stanu mrówki w chwili tak, że =1 oznacza prawdopodobieństwo tego, że w chwili mrówka znajduje się w stanie. Następnie 0,1 będzie macierzą kolumnowo stochastyczną wymiaru reprezentującą algorytm postępowania dla pojedynczej mrówki tak, że,=1 dla każdego 1,, oznacza prawdopodobieństwo przejścia mrówki w chwili ze stanu =,,, do stanu =,,, w chwili +1. Kryteria konstrukcji macierzy bazują na przedstawionych powyżej regułach przejścia dla mrówki i są zgodne z następującym schematem:,=0, gdy różnica wektorów nie jest wektorem o zerowej sumie elementów i zawierającym co najwyżej jeden element 1 jeden element 1,,=0, gdy różnica wektorów,, dla pewnego 1, nie jest wektorem o zerowej sumie elementów i zawierającym co najwyżej jeden element 1 jeden element 1,,=0, gdy <, tj. nieosiągalne są stany, w których rozwiązanie jest lepsze niż rozwiązanie do tej pory najlepsze,,=0, gdy >, tj. nieosiągalne są stany, w których rozwiązanie do tej pory 40
najlepsze jest gorsze niż rozwiązanie do tej pory najlepsze w stanie poprzedzającym stan, w pozostałych przypadkach, jeżeli =,,,, gdzie 1, to,=ω,, Ω,,,,,, czyli prawdopodobieństwo przejścia mrówki ze stanu do stanu jest równe iloczynowi prawdopodobieństwa wyboru wierzchołka początkowego o indeksie zgodnie z rozkładem zadanym wektorem Ω,,, z prawdopodobieństwem wyboru wierzchołka o indeksie w wierzchołku zgodnie z rozkładem prawdopodobieństwa zadanym wektorem Ω,,,,,,, kolejno dla =1,2,, 1. Załóżmy teraz, że wektor kolumnowy odpowiada za rozkład prawdopodobieństwa stanów mrówki w chwili, wtedy = jest wektorem prawdopodobieństwa stanów mrówki w chwili +1. Ogólnie, jeżeli jest wektorem rozkładu prawdopodobieństwa dla stanu początkowego pojedynczej mrówki, to = jest wektorem prawdopodobieństwa dla stanów mrówki w chwili, gdzie =1,2,3,. Przedstawione powyżej rozważania z uwzględnieniem wniosków 3.3 i 3.4, pozwalają nam na wyrażenie procesu ewolucji stanów pojedynczej mrówki w języku teorii łańcuchów Markowa nad dyskretną przestrzenią stanów. Prowadzi to do kluczowego wniosku: Wniosek 3.5. Proces ewolucji stanów pojedynczej mrówki w przyjętym modelu teoretycznym algorytmy SAS jest procesem Markowa. 3.3 Przypadek rozszerzony - mrowisko W oparciu o zaprezentowany model teoretyczny postępowania dla pojedynczej mrówki możemy podać rozszerzenie rezultatów dla procesu ewolucji mrowiska =,,,, składającego się z >1 mrówek. Przez stan mrowiska w chwili będziemy rozumieli -tkę stanów mrówek gdzie,,,, =,,, jest czwórką opisującą stan mrówki w chwili, dla 1. Zatem F H R. Wniosek 3.6. Stan mrowiska w chwili zależy jedynie od stanu mrowiska w chwili 1. Należy podkreślić fakt, że w przyjętym modelu teoretycznym dla stanu mrowiska, wszystkie mrówki w chwili dostrzegają tą samą postać wektora macierzy. Dalej =,,, będzie zbiorem wszystkich indeksowanych stanów mrowiska. Wniosek 3.7. Ponieważ =, to zbiór jest zbiorem skończonym. Schemat reguły przejścia mrowiska stanu do stanu jest następujący: dla każdej mrówki, gdzie 1, wykonaj przejście mrówki ze stanu do stanu zgodnie z reguła przejścia dla pojedynczej mrówki przedstawioną w podrozdziale 3.2. Na tej podstawie możemy wyprowadzić algebraiczny opis procesu ewolucji dla całego mrowiska. Niech 0,1 będzie stochastycznym wektorem kolumnowym wymiaru reprezentującym rozkład prawdopodobieństwa stanu mrowiska w chwili tak, że =1 oznacza prawdopodobieństwo tego, że w chwili mrowisko znajduje się w stanie. Następnie 0,1 będzie macierzą kolumnowo stochastyczną wymiaru reprezentującą algorytm postępowania mrowiska tak, że,=1 dla każdego 1,, oznacza prawdopodobieństwo przejścia mrowiska w chwili ze stanu do stanu w chwili +1. Określenie wartości elementu macierzy, bazuje na stwierdzeniu, że indywidualne procesy ewolucji mrówek z chwili do chwili +1 są zdarzeniami niezależnymi. Stąd jeżeli =,,,, =,,,, 41
=,,,, dla 1 i =,,, gdzie 1, to,= Ω,, Ω,,,,, czyli prawdopodobieństwo przejścia mrowiska ze stanu do stanu jest równe iloczynowi prawdopodobieństw przejścia każdej z mrówek ze stanu do stanu. Ostatecznie jeżeli jest wektorem opisującym rozkład prawdopodobieństwa stanów mrowiska w chwili, to = jest wektorem prawdopodobieństwa stanów mrowiska w chwili t+1. Zatem analogicznie jak w przypadku pojedynczej mrówki = jest wektorem rozkładu prawdopodobieństwa stanów mrowiska w chwili =1,2,3,, dla będącego wektorem rozkładu prawdopodobieństwa dla stanu początkowego mrowiska. Teraz korzystając z wniosków 3.6, 3.7 jak i powyższego równania procesu ewolucji probabilistycznej stanów mrowiska z wektora do wektora, możemy sformułować końcowy wniosek: Wniosek 3.8. Proces ewolucji stanów mrowiska w przyjętym modelu teoretycznym algorytmy SAS jest procesem Markowa. 4. Podsumowanie Głównym rezultatem przedstawionych badań jest stwierdzenie mówiące, że ewolucja uproszczonego schematu algorytmu mrówkowego SAS jest procesem Markowa w przyjętym modelu teoretycznym. Wynik ten daje szanse dalszej analizy własności rozważanej heurystyki pod względem zbieżności, a stąd także i oczekiwanej złożoności czasowej. W przyszłości autor artykułu planuje rozszerzyć metodę SAS o schemat samoadaptacji heurystyki względem parametru. W tym przypadku zostanie także podany rozszerzony model teoretyczny algorytmu bazujący na tym, który został przedstawiony w rozdziale 3. Ostatecznie autor podejmie próbę ustalenia efektywnego schematu zrównoleglenia otrzymanej wersji samoadaptacyjnej algorytmu mrówkowego, dla wielordzeniowej platformy obliczeniowej NVidia CUDA. Prace badawcze zostaną zakończone implementacją rozwiązania szeroką analizą wyników eksperymentalnych dla różnych instancji problemów NP-trudnych. Literatura 1. Dorigo M., Optimization, learning and natural algorithms, Ph. D. disseration, 1992. 2. Dorigo M., Birattari M. Stutzle T, Ant Colony Optimization, IEEE Computional Intelligence Magazine, XI 2006. 3. Dorgio M., Gambardella L. M., Ant Colony System: A cooperative learing approach to the TSP problem, IEEE Transaction on Evolutionary Computation, vol. 1, 1997. 4. Dorigo M, Gambardella L. M., Solving symmetric and asymmetic TSPs by ant colonies, IEEE International Conference on Evolutionary Computation, 1996. 5. Dorigo M., Maniezzo V., Colorni A., Ant System: optymization by colony of cooperating agents, IEEE Transactions on Systems, Man and Cybernetics, vol. 26, 1996. 6. Dorigo M., Stutzle T., A short convergence proof for a class of ACO algorithms, IEEE Transactions on Evolutionary Computation, vol 6, 2002. 7. Gutjahr W. J., ACO algorithms with guaranteed convergence proof to the optimal solution, Information Processing Letters, vol 82, 2002. 8. Stutzle T., Hoos H. H., MAX-MIN Ant System, Future Generation Computer Systems, vol 16, 2000. Adres służbowy Autora: Mgr inż. Paweł Rembelski PJWSTK ul. Koszykowa 86 02-008 Warszawa tel. (0-22)-58-44-529 email: rembelski@pjwstk.edu.pl 42