y mrówkowe P. Oleksyk Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne 14 kwietnia 2015
1 Geneza algorytmu - biologia 2 3 4 5 6 7 8
Geneza algorytmu - biologia Mrówki wykorzystują do komunikacji feromony, czyli substancje zapachowe wyznaczające m.in. ścieżki prowadzące do pożywienia. Mrówki podążają śladem tych, którym się powiodło w poszukiwaniach (krótsza droga do pożywienia jest równoważne z częstszym odkładaniem feromonu na ścieżce). Należy również pamiętać ze feromon na ścieżce ulatnia się w czasie.
Rysunek: Pierwsza mrówka lokalizuje pożywienie F (ang. Food), podążają jedną z możliwych tras, a następni wraca do mrowiska N (ang. Nest), zostawiając po sobie ślad feromonowy.
Rysunek: Mrówki podążają do pożywienia w sposób losowy, ale większy ruch mrówek jest na tej ścieżce gdzie jest najwięcej pozostawianego śladu feromonowego.
Rysunek: Mrówki na końcu podążają tylko jedną ścieżką (o najmniejszej długości) a reszta ścieżek nie jest brana pod uwagę.
- słownie Populacja niezależnych agentów buduje rozwiązanie (każdy swoje) w kolejnych, losowych krokach. Rozwiązania są oceniane, po czym wszystkie elementy ścieżki prowadzącej do danego rozwiązania są oznaczane feromonem (zwiększamy ich wagę) proporcjonalnie do jakości rozwiązania. Kolejne pokolenia agentów wybierają daną ścieżkę tym chętniej, im więcej jest na niej feromonu.
Procedure ACO Meta heuristic
Procedure ants generation and activity()
daemon actions() Gromadzenie globalnej informacji, którą można użyć do podjęcia decyzji czy korzystne będzie dodanie feromonu, by ograniczyć proces poszukiwania, co jest oceniane z perspektywy globalne(nie może być ocenione przez jedną mrówkę).
Procedure new active ant() 1/2
Procedure new active ant() 2/2
y mrówkowe dają oczywiście się zastosować również do problemów nie będących bezpośrednio zdefiniowanymi na grafie, ale dającymi się do takich sprowadzić problem plecakowy.
Rysunek: Dyskretny problem plecakowy (ang. discrete knapsack problem) jest jednym z najczęściej poruszanych problemów optymalizacyjnych. Nazwa zagadnienia pochodzi od maksymalizacyjnego problemu wyboru przedmiotów, tak by ich sumaryczna wartość była jak największa i jednocześnie mieściły się w plecaku.
Rysunek: Matematyczne przedstawienie problemu
Reprezentacja problemu optymalizacyjny w algorytmie Każda mrówka tworzy rozwiązanie problemu w pewnej liczbie kroków W każdym kroku otrzymujemy pośrednie rozwiązanie (intermediate solution), częściowe rozwiązanie (partial solution) lub stan(state). Każda mrówka k przechodzi ze stanu i do kolejnego stanu j i tworzy nowe rozwiązanie pośrednie W każdym kroku, każda mrówka k uwzględnia zbiór możliwych rozwinięć (ang. expansions)do stanu aktualnego i przenosi się do jednego z nich z pewnym prawdopodobieństwem
Reprezentacja problemu optymalizacyjny w algorytmie Zbiór rozwinięć nazywany jest sąsiedztwem (ang. neighbourhood) Każda mrówka k zaczyna z pustym zbiorem S i dodaje do niego obiekty wybrane z prawdopodobieństwem ρj przemieszczających się z jednego stanu i do innego stanu j. W każdym stanie i istnieją pewne obiekty w zestawie S i, które stanowią częściowe rozwiązanie. Każda mrówka, w celu konstrukcji rozwiązania, używa wspólnej informacji, która jest kodowana w szlakach feromonowych τ j Każda mrówka rozpyla feromony na wszystkich obiektów zawartych w plecaku, kiedy znalezione zostało rozwiązanie.
Reprezentacja problemu optymalizacyjny w algorytmie Ilość feromonów τ rozpylenia zależy od jakości tego rozwiązania Q. Ruch każdej z mrówki zależy również od tzw. atrakcyjności ruchu µ j. W celu uniknięcia bardzo szybkiego upodobnienia się do lokalnego optymalnego rozwiązania jest stosowany mechanizm odparowanie(evaporation mechanism) τ = ρτ. Z czasem, szlak feromonowy wyparowuje, redukując w ten sposób swoją atrakcyjność. każda mrówka k przenosi się z jednego stanu i do innego stanu j zgodnie z regułą prawdopodobieństwa przejścia p j :
Reprezentacja problemu optymalizacyjny w algorytmie Szlak feromonowy τ j jest przydatne informacją, zostawioną przez inne mrówki, mówi o wykorzystaniu obiektu j w przeszłości. Atrakcyjność µ j jest to pragnienie, aby wybrać obiekt j od sąsiedztwa N i obecnego stanu. Atrakcyjność µ j umożliwia lepszy wybór obiektu ze wszystkich dostępnych obiektów które tworzą sąsiedztwa N i obecnego stanu, a które mogą być dodawane do rozwiązania które jest konstruowane. Sąsiedztwo N i stanu i składa się z przedmiotów, które mogą być dodawane do skonstruowania częściowego rozwiązania.
Rysunek: ACO dla problemu plecakowego
Reprezentacja problemu optymalizacyjny w algorytmie Na początku pracy mrówek, wszystkie obiekty mogą być dodawane do częściowego rozwiązania danego problemu Liczba tych obiektów jest zmniejszona następnie nie tylko ze względu na ich włączenie do częściowego rozwiązania S, ale także dlatego, że niektóre z tych obiektów nie może być dodany do rozwiązania, który jest w trakcie konstrukcji, ponieważ te obiekty już nie spełniają wymagań rozwiązania. Tylko te obiekty, które nadal spełniają wymagania rozwiązania można dodać do skonstruowanego częściowego rozwiązania.
Rysunek: Parametry α i β, które są wykorzystywane w regule prawdopodobieństwa ρ j przejścia wyrażonej wzorem, wskazują, jak ważny szlak feromony τ j i atrakcyjność µ j są w trakcie przejścia z jednego stanu do drugiego.
Po znaleziono rozwiązania, każda mrówka zostawia część ilość τ feromonów na wszystkich obiektach, które stanowią rozwiązania S, zgodnie z wzorem: τ = τ + τ Ilość zostawionego feromonami τ jest wyrażony jako: τ = 1 1 + z best z z best Zatem te przedmioty, które były zawarte w rozwiązaniu otrzymały dodatkową ilość feromonów i mogą być wybrane następnie z większym prawdopodobieństwem niż inne przedmioty.
Mechanizm odparowania jest włączona do algorytmów mrówek, aby uniknąć zbyt szybkiego zbieżność do rozwiązania suboptymalnego. Intensywność parowania jest regulowane przez parametr ρ. Ilość feromonów dla każdego obiektu jest uaktualniany na końcu każdego cyklu, zgodnie z wzorem: τ = ρτ, ρ (0, 1]
Trzy mrówkowy były realizowane dla atrakcyjności. AKA 1 µ = z j w j V j AKA 2 AKA 3 µ = z j w j 2 µ = z j w j C
Warunki początkowe ilość cykli - 100, 200, 300, 400, 500, 600 ilość obiektów 300 ilość mrówek 120 współczynnik wyparowania 0.95 wagi rand(1 100) zysk rand(1 10)
Rysunek: Obserwacje: Największe zyski otrzymano gdy zastosowana AKA2
Rysunek: Drugi eksperyment: zysk a ilość mrówek, cykle = 500 Obserwacje: Gdy ilość mrówek większa niż 60 to brak zasadniczych zmian w AKA2
Rysunek: Trzeci eksperyment: zysk a ilość mrówek, cykle = 300 Obserwacje: najlepszy wynik dla AKA2 ilość mrówek do 60 najlepszym wynikiem
Rysunek: Czwarty eksperyment: Zależność zysku od wyparowywania feromonów Obserwacje: AKA2 największe zyski, współczynnik dobierać z zakresu od 0.93 do 0.98
y pokazały że jeżeli zastosujemy algorytm AKA2 to znajdziemy rozwiązanie z większym zyskiem niż w AKA1 i AKA3. Do tego znajdowania rozwiązania jest szybsze, w pierwszym eksperymencie AKA2 znalazło największy zysk w 200 cyklu a AKA1 i AKA3 dopiero w 600.