ang. Ant Search (AS) Marco Dorigo (1992).
Systemy mrówkowe wykorzystuj¡ sposób zachowania si¦ kolonii mrówek do rozwi¡zania problemów optymalizacji kombinatorycznej. Ich cech¡ charak-terystyczn¡ jest wspóªpraca autonomicznych osobników o niskich
zdolno-±ciach (maªa orientacja w terenie, niska inteligencja, itp.) pojedyncze mrówki do osi¡gania zaawansowanych celów (np. wyszukiwanie najkrót-szych tras z mrowiska do ¹ródeª po»ywienia) inteligencja grupowa.
W przypadku kolonii mrówek, ±rodkiem komunikacji (wspóªpracy) jest po-zostawiany przez nie feromon.
Natomiast pojedyncza mrówka porusza si¦ chaotycznie (losowo), bior¡c pod uwag¦ tylko poziom feromonu, a jej celem jest znalezienie po»ywienia (i za-niesienie go do mrowiska).
Feromon to substancja zapachowa o nast¦puj¡cych wªa±ciwo±ciach:
• Jest pozostawiana przez ka»d¡ mrówk¦ na przebytej przez ni¡ trasie
±cie»ka feromonowa.
• Przej±cie kolejnej (lub tej samej) mrówki t¡ sam¡ tras¡ (lub jej frag-mentem) powoduje wzrost st¦»enia feromonu na danym odcinku.
• Mrówki preferuj¡ poruszanie si¦ po ±cie»kach o wysokim st¦»eniu fero-monu, gdy» oznacza to, »e wiele mrówek tamt¦dy ju» przeszªo, a wi¦c jest du»e prawdopodobie«stwo, »e ±cie»ka jest wªa±ciwa (np. prowa-dzi do po»ywienia). Zatem coraz wi¦cej mrówek porusza si¦ po cz¦sto ucz¦szczanych trasach.
• Feromon ulatnia si¦ z czasem, w zwi¡zku z czym na maªo ucz¦szcza-nych trasach st¦»enie feromonu maleje. Zatem coraz mniej mrówek przechodzi po trasach maªo ucz¦szczanych.
• W efekcie zachodzi dodatnie sprz¦»enie zwrotne dobrymi drogami pod¡»a coraz wi¦cej mrówek.
W kontek±cie optymalizacji kombinatorycznej:
• Najwygodniej stosowa¢ systemy mrówkowe do problemów, które mo»na reprezentowa¢ w postaci grafów (np. problem komiwoja»era).
• Wtedy rozwi¡zanie mo»e by¢ reprezentowane jako ±cie»ka w grae i kon-struowane stopniowo, co odzwierciedla poruszanie si¦ mrówki.
• Skonstruowanie peªnego rozwi¡zania oznacza doj±cie mrówki do celu (po»ywienia). Warto±¢ funkcji celu skonstruowanego rozwi¡zania b¦-dzie dªugo±ci¡ ±cie»ki przebytej przez dan¡ mrówk¦ (zatem jej mini-malizacja jest równowa»na celowi mrówki, czyli minimalizacji dªugo±ci przebytej drogi).
• Mo»emy puszcza¢"jedn¡ lub wiele mrówek, jednocze±nie lub jedna po drugiej. Efektywno±¢ systemu mrówkowego (czas dziaªania i jako±¢
dostarczonego rowi¡zania) zale»y wprost od przyj¦tej metody.
Przykªad:
Algorytm mrówkowy do rozwi¡zania Problemu Komiwoja»era Problem Komiwoja»era (PK) przypomnienie
Dane:
n liczba miast, n ∈ Z+,
cji, i, j ∈ {1, . . . , n}, i 6= j odlegªo±¢ mi¦dzy miastem i a miastem j, cji = cij, cji ∈ R+.
Zadanie:
Znale¹¢ permutacj¦ miast π∗, dla której T C(π∗) =
n−1 X j=1
cπ∗(j)π∗(j+1) + cπ∗(n)π∗(1) −→ min .
Zachowanie mrówki przy rozwi¡zywaniu PK:
• Mrówka rozpoczyna tras¦ z dowolnego miasta.
• Prawdopodobie«stwo przej±cia do innego miasta zale»y od:
1. odlegªo±ci do tego miasta,
2. intensywno±ci feromonu na trasie do tego miasta.
• Trasa mrówki musi speªnia¢ te same wymagania co trasa komiwoja»era, tzn. przechodzi¢ przez ka»de z miast tylko raz. Aby to zagwarantowa¢
ka»da mrówka musi mie¢ list¦ ju» odwiedzonych miast.
• Po odwiedzeniu przez mrówk¦ wszystkich miast otrzymujemy rozwi¡zanie.
Po zako«czeniu trasy nale»y uaktualni¢ feromon na wszystkich drogach mi¦dzy miastami (zwi¦kszy¢ na trasie mrówki, zmniejszy¢ poza) i mo»na wypuszcza¢ w tras¦ nast¦pn¡ mrówk¦∗.
∗Poziom feromonu mo»na tak»e aktualizowa¢ po ka»dym kroku mrówki. Mrówki mo»na wtedy wypuszcza¢ równolegle
Q - ilo±¢ feromonu zostawiana przez pojedyncz¡ mrówk¦ pomi¦-dzy dwoma miastami,
∆τij = mQ - zmiana intensywno±ci feromonu pomi¦dzy miastem i a j wy-woªana przej±ciem m mrówek,
τij(t) - intensywno±¢ feromonu pomi¦dzy miastem i a j w chwili t, w - wspóªczynnik wysychania feromonu w jednostce czasu.
Stosuj¡c powy»sze oznaczenia otrzymujemy formuª¦ wyra»aj¡c¡ zmian¦
intensywno±ci feromonu pomi¦dzy miastami i a j w jednostce czasu:
τij(t + 1) = w · τij(t) + ∆τij.
Decyduj¡c si¦ na podj¦cie podró»y do kolejnego miasta mrówka kieruje si¦
trzema informacjami:
1. Widoczno±ci¡ miasta, do którego mo»e si¦ uda¢ z miasta, w którym aktualnie jest. Widoczno±¢ miasta j z miasta i jest deniowane jako odwrotno±¢ odlegªo±ci z miasta i do miasta j: ηij = 1
cij.
2. Intensywno±ci¡ feromonu na drodze do miasta, do którego mo»e si¦
uda¢ w danej chwili. Intensywno±¢ feromonu na drodze z miasta i do miasta j w iteracji t jest dana przez τij(t).
3. List¡ miast ju» odwiedzonych.
Najprostsza mo»liwa formuªa uwzgl¦dniaj¡ca powy»sze informacje i umo»-liwiaj¡ca wyliczenie prawdopodobie«stwa przej±cia z miasta i do miasta j przez mrówk¦ k jest nast¦puj¡ca:
pkij(t) =
0 w przeciwnym wypadku,
gdzie Dk jest zbiorem miast nieodwiedzonych jeszcze przez mrówk¦ k.
Nast¦puj¡ca zmiana wzoru pozwala na wi¦ksz¡ kontrol¦ pomi¦dzy suge-rowaniem si¦ widoczno±ci¡ miasta a popularno±ci¡ trasy w±ród mrówek:
pkij(t) =
0 w przeciwnym wypadku,
gdzie parametry α i β s¡ dobierane przez u»ytkownika. Wysokie α powo-duje, »e mrówki kieruj¡ si¦ gªównie na ±cie»ki feromonowe. Niskie α zbli»a poszukiwanie mrówkowe do algorytmu zachªannego.
Schemat metody AS procedure Algorytm mrówkowy;
begin
zainicjuj(m,Q,w);
K∗ := ∞; {K∗ - wart. f. kryt. dla najlepszego dotychczasow. rozw.}
x∗ := ∅; {x∗ - najlepsze dotychczasowe rozwi¡zanie}
rozmie±¢ m mrówek losowo;
t := 0;
repeat { P¦tla realizuj¡ca pojedyncze przej±cie m mrówek } for i := 1 to m do
begin
mrówka(i) konstruuje rozwi¡zanie xi;
if K∗ > K(xi) then K∗ := K(xi); x∗ := xi;
W problemie komiwoja»era skojarzenie dªugo±ci trasy z odlegªo±ci¡ od ¹ró-dªa po»ywienia jest oczywiste. W ogólno±ci przy rozwi¡zywaniu problemów kombinatorycznych przechodzenie tras¡ jest równoznaczne z konstruowa-niem rozwi¡zania. Przykªady:
• Kolejne kroki na trasie to dobieranie kolejnych przedmiotów do plecaka w problemie plecakowym.
• Kolejne kroki na trasie przy rozwi¡zywaniu problemu szeregowania mog¡ by¢ doª¡czaniem kolejnych zada« do cz¦±ciowego uszeregowania.
Dªugo±¢ caªej trasy jest proporcjonalna do warto±ci funkcji celu dla danej trasy (reprezentuj¡cej rozwi¡zanie).