10 ACO instrukcja

background image

1 Cel ¢wiczenia.

1

POLITECHNIKA ‘LSKA

w Gliwicach

WYDZIAŠ AUTOMATYKI, ELEKTRONIKI i INFORMATYKI

Instytut Elektroniki

Zakªad Elektroniki Biomedycznej

LABORATORIUM

BIOCYBERNETYKI

ACO - Algorytmy mrówkowe

Opracowaª: mgr Jan Juszczyk

1 Cel ¢wiczenia.

Celem ¢wiczenia jest zapoznanie studentów z ide¡ algorytmów mrówkowych, oraz z ich podstawowymi odmia-
nami.

2 Wprowadzenie.

Algorytmy mrówkowe s¡ metodami optymalizacji, poprzez poszukiwanie optymalnej ±cie»ki w grae. Pierwszy
algorytm mrówkowy zostaª opracowany przez M. Doringo, A. Colornie oraz R. Maniezzo w 1991 roku. Opierali
si¦ oni na wcze±niejszych badaniach J. L. Deneubourga oraz S. Gossa. Badania Deneubourga i Gossa, które
dotyczyªy sposobów poszukiwania pokarmu przez argenty«skie mrówki. Okazaªo si¦, »e mimo tego, »e pojedyncza
mrówka porusza si¦ w sposób chaotyczny, to jako caªo±¢ potra¡ znale¹¢ ±cie»k¦, która jest bardzo zbli»ona do
optymalnej. Dodatkowo, w momencie zablokowania dotychczas najlepszej drogi, szybko wybieraj¡ krótsz¡ drog¦
obej±cia przeszkody.

3 Rzeczywiste mrówki

Mrówki podczas poszukiwania po»ywienia pozostawiaj¡ na ±cie»ce ±lad, substancj¦ chemiczn¡ okre±lan¡ fero-
monem, która jest wyczuwana przez pozostaªe mrówki kopca. Inne mrówki poszukuj¡ce pokarmu sugeruj¡ si¦
±ladami feromonowymi podczas wyboru drogi. Im mocniejszy ±lad feromonowy tym bardziej atrakcyjna dla
mrówki jest dana ±cie»ka. Feromon na danej ±cie»ce jest uzale»niony od dªugo±ci drogi oraz od ilo±ci mrówek,
które wykorzystaªy dan¡ drog¦. Dodatkowo feromon odparowuje, co prowadzi do tego, »e ±cie»ki nie u»ywane
wraz z upªywem czasu staj¡ si¦ coraz mniej atrakcyjne.

background image

4 Cyfrowe mrówki

2

4 Cyfrowe mrówki

Ró»nice mi¦dzy prawdziwymi mrówkami a ich komputerowymi odpowiednikami wynikaj¡ ze specyki pracy
komputera. Podstawow¡ ró»nic¡ jest kwantowanie czasu. Mrówki nie poruszaj¡ si¦ pªynnie po ±cie»kach, tylko
skokowo przeskakuj¡c z punktu do punku. Czyli zakªadamy, »e mi¦dzy punktami poruszaj¡ si¦ po liniach pro-
stych. Mrówki nie poruszaj¡ si¦ równolegle, w tym samym czasie, tylko jedna za drug¡.

4.1 Wªa±ciwo±ci feromonu

1. Jego intensywno±¢ zmienia si¦ wraz z dªugo±ci¡ ±cie»ki, w taki sposób, »e na krótszej ±cie»ce znajduje si¦

wi¦ksza ilo±¢ feromonu.

2. Nie utrzymuje si¦ caªy czas na ±cie»ce, ale paruje z pewn¡ szybko±ci¡.

3. Feromon od kilku mrówek na tej samej ±cie»ce jest do siebie dodawany.

4. Mrówka z najwi¦kszym prawdopodobie«stwem wybierze ±cie»k¦ o najwi¦kszej intensywno±ci feromonu,

ale nie oznacza to »e wybierze j¡ z prawdopodobie«stwem 1.

4.2 Wªa±ciwo±ci mrówki

1. Ka»da mrówka posiada tyle samo feromonu

2. Mrówka wybiera drog¦ w sposób losowy, z prawdopodobie«stwem okre±lonym dla danej ±cie»ki.

5 Przykªad: Zablokowane przej±cie

Najprostszym przykªadem dziaªania algorytmu mrówkowego jest sytuacja, kiedy na drodze mrówek znajdzie

si¦ jaka± przeszkoda. Mrówka po lewej i po prawej stronie ma przed sob¡ wybór mi¦dzy dwoma ±cie»kami. Sama
mrówka nie wie, która ±cie»ka jest krótsza, wi¦c wybiera j¡ losowo, prawdopodobie«stwo wybrania ka»dej z nich
wynosi 0,5. Zaªó»my, »e mrówka po lewej wybraªa ±cie»k¦ np. B. W tym samym czasie mrówka po prawej wybraªa

background image

6 Problem komiwoja»era TSP (ang. Travelling Salesman Problem)

3

±cie»k¦ A. Poniewa» ka»da mrówka niesie ze sob¡ tyle samo feromonu, to na krótszej ±cie»ce jest on bardziej
intensywny. Dlatego dla trzeciej mrówki ±cie»ka A b¦dzie ju» bardziej atrakcyjna ni» ±cie»ka B. Po przej±ciu
wielu mrówek wi¦kszo±¢ b¦dzie wybieraªa ±cie»k¦ A, poniewa» na niej b¦dzie odkªadane coraz wi¦cej feromonu.
‘cie»ka B wraz z upªywem czasu stanie si¦ coraz mniej atrakcyjna z powodu odparowywania feromonu. Dla
przykªadu omówionego powy»ej mo»na ªatwo wyznaczy¢ prawdopodobie«stwo wybrania okre±lonej ±cie»ki:

P

A

=

(k + A

i

)

n

(k + A

i

)

n

+ (k + B

i

)

n

(1)

gdzie:

P

A

 prawdopodobie«stwo wybrania ±cie»ki A

A

i

, B

i

 liczba mrówek, które wybraªy okre±lon¡ ±cie»k¦

i

 indeks okre±laj¡cy iteracj¦

k

 parametr okre±laj¡cy atrakcyjno±¢ nieucz¦szczanej drogi

n

 parametr okre±laj¡cy nieliniowo±¢ zmiany prawdopodobie«stwa

Wyra»enie 1  PB, wskazuje, »e je»eli mrówka nie wybraªa jednej ±cie»ki to musi wybra¢ drug¡, nie ma

mo»liwo±ci, aby nie wybraªa »adnej. Ró»nice w ilo±ci mrówek wybieraj¡cych okre±lon¡ ±cie»k¦ b¦d¡ tym wi¦ksze,
im wi¦ksza b¦dzie ró»nica w dªugo±ciach ±cie»ek. Dla szczególnego przypadku, kiedy ±cie»ki maj¡ tak¡ sam¡
dªugo±¢, po dªugim czasie ±rednio przez ka»d¡ z nich przejdzie tyle samo mrówek.

6 Problem komiwoja»era TSP (ang. Travelling Salesman Problem)

Problem komiwoja»era jest zagadnieniem poszukiwania najkrótszej drogi mi¦dzy miastami. Komiwoja»er ma do
objechania okre±lon¡ liczb¦ miast i do ka»dego z nich mo»e przyby¢ tylko jeden raz. Zadaniem jest wyznaczenie
jak najkrótszej trasy przejazdu zaliczaj¡cej wszystkie miasta.

Liczba mo»liwych rozwi¡za« TSP wyra»a si¦ wzorem

(n−1)!

2

, co powoduje praktycznie brak mo»liwo±ci spraw-

dzenia wszystkich mo»liwych rozwi¡za« w rozs¡dnie krótkim czasie dla liczby miast wi¦kszej ni» ok 30.

background image

7 Zastosowanie algorytmu mrówkowego do rozwi¡zania problemu komiwoja»era

4

7 Zastosowanie algorytmu mrówkowego do rozwi¡zania problemu ko-

miwoja»era

Algorytm mrówkowy wydaje si¦ by¢ jak na razie najlepszym sposobem rozwi¡zania TSP. Nie tylko daje najlepsze
wyniki w porównaniu z innymi zastosowanymi algorytmami, równie» przystosowanie go na potrzeby TSP jest
prawie intuicyjne.

Schemat algorytmu

1. Mrówka wybiera w sposób losowy ±cie»k¦ przej±¢ mi¦dzy miastami. Do zapami¦tania ma tylko kolejno±¢

odwiedzanych miast

2. Wyznaczana jest dªugo±¢ przebytej drogi na podstawie kolejno±ci miast.

3. Na podstawie przebytej drogi wyznaczany jest poziom feromonu na ±cie»kach mi¦dzy miastami.

1-3 s¡ wykonywanie tyle razy ile wpuszczonych jest mrówek

4. Feromon jest nakªadany na odpowiednie ±cie»ki (akutalizowany) dla wszystkich wpuszczonych mrówek

(zasada jest taka, jakby mrówki byªy wpuszczane równolegle)

5. Nast¦puje odparowanie feromonu

Powrót do 1

Prawdopodobie«stwo w tym przypadku dane jest wzorem:

F

ij

=

ij

)

α

ij

)

β

P

k∈Ω

ih

)

α

ih

)

β

dla

j ∈ Ω

0

dla

j /

∈ Ω

(2)

gdzie:
τ

ij

- feromon znajduj¡cy si¦ na ±cie»ce mi¦dzy miastami i oraz j

η

ij

- warto±¢ lokalnej funkcji kryterium  element losowy wyboru ±cie»ki

α

- paramet reguluj¡cy wpªyw τ

ij

β

- paramet reguluj¡cy wpªyw η

ij

8 Typy algorytmów mrówkowych

Od czasów powstania pierwszego algorytmu mrówkowego (AS) pojawiªo si¦ kilka inny odmian. W zasadzie
wszystkie ró»nice mi¦dzy kolejnymi odmianami algorytmów mrówkowych sprowadzaj¡ si¦ do ró»nych sposobów
dozowania feromonu.

8.1 Ant System (AS)

Jest to pierwszy opracowany algorytm mrówkowy, feromon dany jest wzorem:

τ

ij

← (1 − ρ)· τ

ij

+

m

X

k=1

∆τ

k

ij

(3)

gdzie:
τ

ij

- feromon

ρ

- wspóªczynnik parowania feromonu

m

- liczba mrówek

∆τ

k

ij

jest zdeniowane:

∆τ

k

ij

=

(

Q/L

k

,

jezeli mrowka uzyla sciezki (i, j)

0

,

w przeciwnym przypadku

(4)

background image

8.2 MAX-MIN Ant System (MMAS)

5

i jest ilo±ci¡ feromonu zostawion¡ przez k-t¡ mrówk¦ na ±cie»ce (i, j)
gdzie:
Q

- staªa ilo±¢ feromonu niesiona przez mrówk¦

L

k

-dªugo±¢ drogi przebytej przez k-t¡ mrówk¦

System ten jest najprostszym systemem najbardziej intuicyjnym. Ka»de nast¦pne algorytmy s¡ rozwini¦ciem
tego systemu.

8.2 MAX-MIN Ant System (MMAS)

System MMAS ró»ni si¦ tym od AS, »e aktualizowany jest w taki sposób, »e wyró»niona jest najlepsza droga,
a dokªadnie dotychczas najlepsza droga.

τ

ij

(1 − ρ)· τ

ij

+ ∆τ

best

ij



(5)

gdzie operator [] jest dany:

[x]

b
a

=

a

dla

x > a

b

dla

x < b

x

dla

pozostaych

(6)

∆τ

best

ij

jest zdeniowane:

∆τ

best

ij

=

(

1/L

best

,

jezeli sciezka nalezy do najlepszej drogi (i, j)

0

,

w przeciwnym przypadku

(7)

8.3 Ant Colony System (ACS)

W ACS feromon jest aktualizowany dopiero po przebiegu wszystkich mrówek w iteracji, tak jak jest to zreali-
zowane w rozwi¡zaniu problemu komiwoja»era w przykªadzie.

9 Inne zastosowania algorytmów mrówkowych

Oprócz problemu komiwoja»era, algorytmy mrówkowe s¡ wykorzystywane do rozwi¡zywania problemów opty-
malizacyjnych w:
- transporcie
- transferze danych
- sortowaniu
- szeregowaniu zada«
Algorytmy mrówkowe równie» s¡ stosowane przy segmentacji obrazów.

10 Program ¢wiczenia

1. Zapoznanie studentów z teoretycznymi podstawami algorytmów mrówkowych

2. Znalezienie parametrów optymalizuj¡cych dziaªanie algorytmu mrówkowego wykonanego w ±rodowisku

Matlab, dla problemu komiwoja»era przy zadanym przez prowadz¡cego ukªadzie miast.

3. Podanie, który z otrzymanych parametrów okre±la najkrótsz¡ drog¦.

background image

LITERATURA

6

Literatura

[1] M.Dorigo, M.Birattari Ant Colony Optimization IEEE Computational Intelligence Magazine, Nov 2006

Addison-Wesley, 2004.

[2] M.Dorigo, G. Di Caro Ant Algorithms Discrete Optimization MIT Press, 1999

[3] L. Li, Y. Ren, X. Gong Medical Image Segmentation Based on Modied Ant Colony Algorithm with GVF

Snake Model IEEE Computer Society, 2008

[4] L. M. Gambardella, M. Dorigo Soloving Symmetric and Asymmetric TSPs by Ant Colonies IEEE, 1996

[5] http://www.aco-metaheuristic.org/

[6] http://www.iis.pwr.wroc.pl/~kwasnick/prace_studenckie.htm


Document Outline


Wyszukiwarka

Podobne podstrony:
10 strofoida Instrukcja 10, Strofoida
10 Edometr instrukcja
10 Edometr instrukcjaid 10543
10 02 Instrukcja Bezpiecznego Wykonywania Robotid 11254
DSW 09 10 kl 3 instrukcja
10 strofoida, Instrukcja 10 Strofoida
Biznes plan BART (10 stron), Instrukcje & Pomoce, Biznes, Biznes plan - firmy
10 Stdys instrukcja
AllData 10 53 instrukcja instalacji
10 Czy instruktaż ogólny i stanowiskowy może prowadzić
IO.WW-10.02, Instrukcje, aplisens, dtr
Analiza SWOT (10 stron), instrukcje, Biznes plany
10 edometr instrukcja

więcej podobnych podstron