• Nie Znaleziono Wyników

Poszukiwanie mrówkowe

W dokumencie METODY SZTUCZNEJ INTELIGENCJI (Stron 32-42)

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).

W dokumencie METODY SZTUCZNEJ INTELIGENCJI (Stron 32-42)

Powiązane dokumenty