MODEL TEORETYCZNY ALGORYTMU MRÓWKOWEGO SAS XII
Transkrypt
MODEL TEORETYCZNY ALGORYTMU MRÓWKOWEGO SAS XII
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ę , ℛ, , ‖∙‖, gdzie: • = , – jest zadanym skończonym grafem skierowanym nad zbiorem indeksowanych wierzchołków = , , … , i binarną macierzą sąsiedztwa wymiaru × , • ℛ = , , … , – 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 = , , … , oraz ≤ , dla każdego 1 ≤ " ≤ , • = # , # , … , # – jest zbiorem indeksowanych dopuszczalnych krotności wystąpień indeksów wierzchołków grafu w każdej drodze ∈ ℛ tak, że # ∈ ℕ& , dla 1 ≤ " ≤ oraz ∑( # = , • ‖∙‖: ℛ → ℝ& ∪ 0 – jest funkcją oceny jakości drogi. Wniosek 1.1. Ponieważ = . /0 123 ( 4, to zbiór ℛ jest zbiorem skończonym. Niech dalej ∗ ∈ ℛ będzie drogą optymalną, tj. ∀1 ≤ " ≤ ‖ ‖ ≥ ‖ ∗ ‖. Naszym zadaniem jest wyszukanie takiej drogi ∈ ℛ, by różnica ‖‖ − ‖ ∗ ‖ była możliwie minimalna. Zatem interesuje nas minimalizacja wartości funkcji oceny w przestrzeni rozwiązań ℛ. 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 9 indeksowanych mrówek : = ; , ; , … , ;9 , 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 <,= ∈ ℝ& krawędzi łączącej wierzchołek z wierzchołkiem = . Wartość współczynnika jest modyfikowana w trakcie wykonania algorytmu przez wszystkie mrówki ; , ; , … , ;9 , na podstawie indywidualnie skonstruowanych dróg > , ? , … , 9 , zgodnie z poniższą regułą aktualizacji współczynników nasycenia śladu feromonowego (AS-PUR) <,= ⟻ 1 − A + 0 9 D( D Δ<,= , gdzie A jest ustalonym współczynnikiem wyparowania feromonu oraz , ", H HJKL MNOP"ąR"JS G V D Δ<,= = EFG F 0, T M. M. dla będącego zadaną stałą. Aktualne wartości współczynników nasycenia śladu feromonowego <,= , dla 1 ≤ ", H ≤ stanowią nośnik wiedzy dla całego mrowiska na temat własności przeszukiwanej przestrzeni rozwiązań ℛ. Niech G = , , … , będzie aktualnie skonstruowaną drogą, przez mrówkę ;D , gdzie = ". Poniższa probabilistyczna reguła wyboru sąsiedztwa (AS-NCR) jednoznacznie determinuje prawdopodobieństwo dołączenia przez mrówkę ;D do ciągu G wierzchołka = X ∙ Y,= <,= Z D M,= = W∑[∉] < X ∙ Y Z ,[ 2 ,[ G 0, , H ∉ G V T M. M. dla ^ oraz _ będących zadanymi współczynnikami sterującymi zachowaniem mrówki oraz Y,= , dla 1 ≤ ", H ≤ , będącym dodatkową lokalną informacją (tzw. informacja heurystyczna) związaną z parą wierzchołków , = , np. dla problemu komiwojażera 1 Y,= = , dist", H gdzie dist", H jest odległością między wierzchołkami o indeksach " oraz H. Ostatecznie algorytm mrówkowy klasy AS ma następującą postać: • ustal wartości parametrów sterujących A, ^, _, • dopóki warunek stopu nie jest spełniony powtórz: o dla mrówki ; , ; , … , ;9 ustal indeks wierzchołka początkowego drogi G , o dla mrówki ; , ; , … , ;9 zbuduj korzystając z reguły AS-NCR drogę G , 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 A, ^, _ jedynie do współczynnika ^, dodatkowo rezygnujemy z informacji heurystycznej Y,= . 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 ; , ; , … , ;9 ustal indeks wierzchołka początkowego drogi G , o dla mrówki ; , ; , … , ;9 zbuduj korzystając z reguły SAS-PUR drogę G , o dla mrówki ; , ; , … , ;9 , przeprowadź lokalnie aktualizację współczynników nasycenia śladu feromonowego – reguła SASNCR. 3. Model teoretyczny algorytmu SAS Na potrzeby tego rozdziału przyjmiemy następujące oznaczenia: • de",∙f – wektor kolumnowy tożsamy z "-tą kolumną macierzy d, • d" – "-ty element ciągu d, • #", d – liczba wystąpień elementów " w wektorze/ciągu d. Niech < ∈ ℕ& będzie maksymalną wartością współczynnika nasycenia śladu feromonowego związanego z dowolną krawędzią grafu . Dalej zbiór ℍ = 1,2, … , < będziemy nazywali zbiorem współczynników nasycenia śladu feromonowego. W algorytmie SAS. Na tej podstawie wprowadzamy kolejno: • ℱ = kl , l , … , lm n – zbiór wszystkich m indeksowanych wektorów kolumnowych stopni nasycenia śladu feromonowego wymiaru takich, że l ∈ ℍ , dla 1 ≤ " ≤ m, gdzie leHf oznacza ilość feromonu związanego z wierzchołkiem = ∈ o, • ℋ = kq , q , … , qr n – zbiór wszystkich r indeskowanych macierzy stopni nasycenia śladu feromonowego wymiaru × takich, że q ∈ ℍ×, dla 1 ≤ " ≤ r, gdzie qeH, sf oznacza ilość feromonu związanego z krawędzią łączącą wierzchołek = z wierzchołkiem D . 3.1 Probabilistyka śladu feromonowego m = < , Wniosek 3.1. Ponieważ to zbiór ℱ jest zbiorem skończonym. Wniosek 3.2. Ponieważ r = < , ? to zbiór ℋ jest zbiorem skończonym. Korzystając z przedstawionych powyżej zbiorów ℍ, ℱ oraz ℋ wprowadzimy teraz niezbędny aparat probabilistyczny pozwalający na stworzenie modelu teoretycznego dla rozważanego algorytmu mrówkowego SAS. t oznaczać będziemy zbiór dyskretnych Przez ℍ t = uw, wartości prawdopodobieństwa postaci ℍ v gdzie ; ∈ 1,2, … , < , x ∈ 1,2, … , ∙ < oraz 0 < ≤ 1. Konstruujemy funkcję redukcji v t wektorów Ω: ℱ × ℛ × ℝ& → ℍ 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 l{ = Ωl, , ^ tak, że 0 l{ e"f = 1 ( oraz l{ e"f oznacza prawdopodobieństwo wyboru wierzchołka ∈ , gdzie le"fX l{ e"f = E∑k=:#=,]|}~n leHfX 0, , RO #", < # RO #", ≥ # V dla ^ będącego parametrem sterującym zachowaniem pojedynczej mrówki. Należy zwrócić uwagę na fakt, że prawdopodobieństwo wyboru na podstawie wektora wierzchołka { probabilistycznego l jest równe 0 wtedy i tylko wtedy, gdy krotność występowania indeksu " w dotychczas ustalonej drodze ∈ ℛ 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 K w chwili L będziemy rozumieli czwórkę ∗ l , q , , , gdzie: • l – jest wektorem stopnia nasycenia śladu feromonowego określającym probabilistykę wyboru wierzchołka początkowego dla drogi konstruowanej w chwili L, • q – jest macierzą stopni nasycenia śladu feromonowego określającą probabilistykę wyboru kolejnych wierzchołków w drodze konstruowanej w chwili L, • – droga będąca rezultatem przejścia mrówki ze stanu w chwili L − 1 do stanu K, ∗ • – najlepsza, względem wartości funkcji oceny, droga skonstruowana do chwili L − 1 włącznie, oraz 39 K ∈ ℱ × ℋ × ℛ . l& e f ⟻ max1, l& e f − 1, Wniosek 3.3. Stan mrówki w chwili L zależy jedynie od stanu mrówki w chwili L − 1. l& e∗ f ⟻ min< , l& e∗ f + 1, Dalej = K , K , … , K będzie zbiorem wszystkich = || indeksowanych stanów mrówki. Wniosek 3.4. Ponieważ = m ∙ r ∙ = . < ? & ∙ /0 to zbiór jest zbiorem skończonym. 123 ( q& e , & f ⟻ ∗ q& =∗ , =& ⟻ • niech = , , … , będzie skonstruowaną drogą, gdzie 1 ≤ ≤ , wtedy jeżeli F F ≤ ∗ F F, to wykonaj ∗ ⟻ w przeciwnym przypadku wykonaj ∗ • niech = ∗ , ∗ , … , ∗∗ , wykonaj aktualizację śladu feromonowego zgodnie z poniższym schematem: oraz q& ⟻ q max1, q& e , & f − 1, 4 , ⟻ , & , l& ⟻ l oraz Asymptotyczne górne ograniczenie na liczność elementów zbioru jest konsekwencją wprowadzonego w pierwszym rozdziale asymptotycznego górnego ograniczenia na liczność zbioru ℛ. 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 L znajduje się w stanie K . Poniższy schemat determinuje regułę przejścia mrówki w algorytmie SAS ze stanu K do stanu K&. Tym samym opisuje zmodyfikowaną regułę aktualizacji współczynników nasycenia śladu feromonowego (SAS-PUR): • na podstawie rozkładu prawdopodobieństwa zadanego wektorem kolumnowym Ωl , ∅, ^ 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 Ωq e",∙f, , ^ ustal indeks &-tego wierzchołka drogi , następnie ∗ ∗ ⟻ , następnie ∗ min< , q& =∗ , =& + 1, kolejno dla 1 ≤ " < i 1 ≤ H < ∗. Ostatecznie stan K& , który mrówka osiągnie w ∗ chwili L + 1 ma postać l& , q& , , . Na podstawie powyższego algorytmu postępowania dla pojedynczej mrówki możemy sformułować kompletny opis algebraiczny jego t ∈ e0,1f wykonania. Poniżej będzie stochastycznym wektorem kolumnowym wymiaru reprezentującym rozkład prawdopodobieństwa stanu mrówki w chwili L tak, że 0 t e"f = 1 { e", Hf = 1 ( t e"f oznacza prawdopodobieństwo tego, że oraz w chwili L mrówka znajduje się w stanie K ∈ . Następnie { ∈ e0,1f× będzie macierzą kolumnowo stochastyczną wymiaru × reprezentującą algorytm postępowania dla pojedynczej mrówki tak, że 0 =( dla każdego 1 ≤ " ≤ , oraz {e", Hf oznacza prawdopodobieństwo przejścia mrówki w chwili L ze stanu K = l , q , , ∗ do stanu K= = l= , q= , = , =∗ w chwili L + 1. Kryteria konstrukcji macierzy { bazują na przedstawionych powyżej regułach przejścia dla mrówki i są zgodne z następującym schematem: • {e", Hf = 0, gdy różnica wektorów l= − l nie jest wektorem o zerowej sumie elementów i zawierającym co najwyżej jeden element −1 oraz jeden element 1, • {e", Hf = 0, gdy różnica wektorów q= es,∙f − q es,∙f dla pewnego 1 ≤ s ≤ , nie jest wektorem o zerowej sumie elementów i zawierającym co najwyżej jeden element −1 oraz jeden element 1, • {e", Hf = 0, gdy F= F < F=∗ F, tj. nieosiągalne są stany, w których rozwiązanie F= F jest „lepsze” niż rozwiązanie do tej pory „najlepsze” F=∗ F, • {e", Hf = 0, gdy F=∗ F > ‖∗ ‖, tj. nieosiągalne są stany, w których rozwiązanie do tej pory 40 „najlepsze” F=∗ F jest „gorsze” niż rozwiązanie do tej pory „najlepsze” ‖∗ ‖ w stanie K poprzedzającym stan K= , • w pozostałych przypadkach, jeżeli = = , , … , , gdzie 1 ≤ ≤ , to {e", Hf = Ωl , ∅, ^e f ∙ Ωq es,∙f, , , … , D , ^eD& f D( czyli prawdopodobieństwo przejścia mrówki ze stanu K do stanu K= jest równe iloczynowi prawdopodobieństwa wyboru wierzchołka początkowego o indeksie zgodnie z rozkładem zadanym wektorem Ωl , ∅, ^, z prawdopodobieństwem wyboru wierzchołka o indeksie D& w wierzchołku D zgodnie z rozkładem prawdopodobieństwa zadanym wektorem Ωq es,∙f, , , … , D , ^, kolejno dla s = 1,2, … , − 1. t Załóżmy teraz, że wektor kolumnowy odpowiada za rozkład prawdopodobieństwa stanów mrówki w chwili L, wtedy t& = t { jest wektorem prawdopodobieństwa stanów mrówki t jest wektorem w chwili L + 1. Ogólnie, jeżeli rozkładu prawdopodobieństwa dla stanu początkowego pojedynczej mrówki, to t = t { 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 : = ; , ; , … , ;9 , składającego się z 9 > 1 mrówek. 9 Przez stan mrowiska K w chwili L będziemy rozumieli 9-tkę stanów mrówek K> , K? , … , K9 , gdzie G G , ∗ KG = l , q , jest czwórką opisującą stan mrówki ;D w chwili L, dla 1 ≤ s ≤ 9. Zatem 9 K ∈ ℱ × ℋ × ℛ . 9 Wniosek 3.6. Stan mrowiska w chwili L zależy jedynie od stanu mrowiska w chwili L − 1. Należy podkreślić fakt, że w przyjętym modelu teoretycznym dla stanu mrowiska, wszystkie mrówki w chwili L „dostrzegają” tą samą postać wektora l oraz macierzy q. Dalej 9 = kK9 , K9 , … , K99 n będzie zbiorem wszystkich 9 indeksowanych stanów mrowiska. 9 = m ∙ r ∙ 9 , Wniosek 3.7. Ponieważ to zbiór jest zbiorem skończonym. 9 Schemat reguły przejścia mrowiska stanu K do 9 stanu K& jest następujący: dla każdej mrówki ;D ∈ :, gdzie 1 ≤ s ≤ 9, wykonaj przejście G zgodnie z mrówki ze stanu KG do stanu K& 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 9 9 t mrowiska. Niech ∈ e0,1f będzie stochastycznym wektorem kolumnowym wymiaru 9 reprezentującym rozkład prawdopodobieństwa stanu mrowiska w chwili L tak, że 9 9 t e"f = 1 9 { 9 e", Hf = 1 0 ( 9 t e"f oznacza prawdopodobieństwo tego, że oraz w chwili L mrowisko znajduje się w stanie K9 ∈ . 9 9 Następnie { 9 ∈ e0,1f × będzie macierzą kolumnowo stochastyczną wymiaru 9 × 9 reprezentującą algorytm postępowania mrowiska tak, że 0 =( dla każdego 1 ≤ " ≤ 9, oraz {e", Hf oznacza prawdopodobieństwo przejścia mrowiska w chwili L ze stanu K9 do stanu K=9 w chwili L + 1. Określenie wartości elementu macierzy { 9 e", Hf bazuje na stwierdzeniu, że indywidualne procesy ewolucji mrówek z chwili L do chwili L + 1 są zdarzeniami niezależnymi. Stąd jeżeli K9 = K > , K ? , … , K 9 , 41 K=9 = K= > , K= ? , … , K= 9 , oraz K= G = l= , q= , = G , ∗ = G , dla 1 ≤ s ≤ 9 i = G = G , G , … GG , gdzie 1 ≤ D ≤ , to { 9 e", Hf = G [( 9 D( Ωl , ∅, ^ G V ∙ VΩq eO,∙f, G , … G , ^ e[& f, [ czyli prawdopodobieństwo przejścia mrowiska ze stanu K9 do stanu K=9 jest równe iloczynowi prawdopodobieństw przejścia każdej z mrówek ze stanu K G do stanu K= G . 9 t Ostatecznie jeżeli jest wektorem opisującym rozkład prawdopodobieństwa stanów mrowiska w chwili L, to 9 9 {9 t t& = jest wektorem prawdopodobieństwa stanów mrowiska w chwili t+1. Zatem analogicznie jak w przypadku pojedynczej mrówki 9 9 {9 t t = jest wektorem rozkładu prawdopodobieństwa 9 t 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 9 t probabilistycznej stanów mrowiska z wektora 9 t , możemy sformułować końcowy do wektora 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 oraz 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: [email protected] 42