Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
Transkrypt
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Plan
Literatura
Obliczenia Naturalne - Algorytmy Mrówkowe
cz. 3
Paweł Paduch
Politechnika Świętokrzyska
29 maja 2014
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
1 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Plan
Literatura
Plan wykładu
1
Wstęp
Plan
Literatura
2
MMAS
Wstęp
Opis
Zalecane parametry
3
Rangowy System mrówkowy
Wstęp
Główne cechy
4
ANTS
Wstęp
Dolna granica
Prawdopodobieństwo
Aktualizacja feromonu
5
Najlepszy - Najgorszy
Wstęp
Najlepszy nagradzany - Najgorszy karany
Restartowanie
Mutacje
Podsumowanie
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
2 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Plan
Literatura
Literatura
Marco Dorigo, Thomas Stützle - Ant Colony Optimization.
Bradford Company, Scituate, MA, USA, 2004
Thomas Stützle - Local search algorithms for combinatorial
problems — analysis, improvements, and new applications.
Raport instytutowy, 1998
Thomas Stützle - Max-min ant system for quadratic
assignment problems, 1997
Thomas Stützle, Holger Hoos - Improving the ant system: A
detailed report on the max-min ant system. Raport
instytutowy, 1996
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
3 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Plan
Literatura
Literatura
Bernd Bullnheimer, Richard F. Hartl, Christine Strauß - A new
rank based version of the ant system - a computational study.
Central European Journal for Operations Research and
Economics, 7:25–38, 1997.
Oscar Cordon, Inaki Fern´andez de Viana, Francisco Herrera,
Llanos Moreno - A new aco model integrating evolutionary
computation concepts: The best-worst ant system, 2000.
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
4 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Opis
Zalecane parametry
Modyfikacje
W systemie MMAS Stützle wprowadził 4 podstawowe modyfikacje
w stosunku do oryginalnego systemu mrówkowego:
Tylko jedna najlepsza mrówka (w danej iteracji IB (ang.
iteration-best) lub od początku działania algorytmu BS (ang.
best-so-far )) może nanosić nowy feromon. Ponieważ taka
metoda szybko prowadzi do stagnacji, wprowadził kolejną
modyfikację.
Ilość feromonu na łukach jest ograniczona do pewnego
zakresu [τmin , τmax ].
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
5 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Opis
Zalecane parametry
Modyfikacje
Wszystkie połączenia inicjowane są maksymalną ilością
feromonu τmax . W połączeniu z niewielkim współczynnikiem
parowania feromonu zwiększa to stopień eksploracji algorytmu
w jego początkowej fazie.
Ścieżka feromonowa jest ponownie inicjowana za każdym
razem, gdy algorytm przestanie znajdować lepsze rozwiązania
(dojdzie do stagnacji).
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
6 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Opis
Zalecane parametry
Aktualizacja feromonu
Początkowa ilość feromonu na wszystkich krawędziach wynosi
τmax .
Najlepsza mrówka dokłada na każdej krawędzi wchodzącej
w skład jej trasy odpowiednią ilość feromonu jak w poniższym
wzorze
τij ← ρτij + ∆τijbest .
(1)
Parametr ρ przyjmuje wartość od 0 do 1 i oznacza jaką część
feromonu zostawić po odparowaniu.
Wyrażenie ∆τijbest = 1/C best oznacza ile dodać feromonu na
odcinku ij.
C best oznacza długość najkrótszej znalezionej trasy.
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
7 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Opis
Zalecane parametry
Wybór najkrótszej trasy
Długość najkrótszej znalezionej trasy C best wyznaczamy na dwa
sposoby:
C best = C ib - feromon aktualizowany jest na najkrótszej trasie
w danej iteracji.
C best = C bs - feromon aktualizowany jest na najkrótszej trasie
od początku działania algorytmu.
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
8 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Opis
Zalecane parametry
Najlepszy w iteracji czy od początku?
To, jaką wybrać trasę (T ib czy T bs ) jest głównym problemem
w MMAS.
Gdy feromon uaktualniany jest tylko na najlepszej trasie od
początku działania algorytmu (T bs ), to algorytm szybko
osiąga lokalne minimum. Mrówki skupiają swoje poszukiwania
wokół T bs , nie dając dużych szans na dokładniejszą
eksplorację.
Gdy używana jest tylko T ib , aktualizacja feromonu przebiega
na zbyt dużej liczbie połączeń. Szukanie rozwiązania jest
słabo ukierunkowane, ponieważ trasy pomiędzy kolejnymi
iteracjami nadmiernie się różnią.
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
9 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Opis
Zalecane parametry
Wybór najkrótszej trasy
Eksperymenty, które prowadził Stützle wykazały, że:
dla małych problemów lepiej wykorzystać tylko T ib ,
dla dużych (liczących setki miast) lepiej zastosować strategię
mieszaną, gdzie częstość wyboru T bs w stosunku do T ib
rośnie wraz z czasem działania algorytmu. Im dłużej działa
algorytm, tym częściej używana jest trasa T bs .
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
10 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Opis
Zalecane parametry
Górny limit
Stützle udowodnił że, gdy algorytm działa odpowiednio długo,
górny limit ilości feromonu jest ograniczony przez
1
,
(1 − ρ)C ∗
gdzie C ∗ jest długością minimalnej trasy. Gdy nie znamy długości
minimalnej trasy, to
τmax =
1
.
(1 − ρ)C bs
Za każdym razem, gdy wynik minimalny C bs jest poprawiany,
aktualizowana jest wartość τmax . W pierwszej iteracji C ∗ przyjmuje
się dla trasy znalezionej metodą „Najbliższego Sąsiada”.
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
11 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Opis
Zalecane parametry
Dolny limit
Dolny limit ilości feromonu jest ustawiany na
τmax
τmin =
,
a
gdzie a jest stałą. Stützle wyznaczył
√
(avg − 1) · ( n pbest )
a=
.
√
(1 − n pbest )
Gdzie:
pbest oznacza prawdopodobieństwo skonstruowania
najlepszego rozwiązania gdy algorytm MMAS jest zbieżny.
W praktyce przyjmuje się pbest = 0, 05.
avg oznacza średnią liczbę możliwych decyzji dla pojedynczej
mrówki w każdym kroku konstruowania rozwiązania.
n to liczba miast.
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
12 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Opis
Zalecane parametry
Minimum i maksimum
Efektem wprowadzenie ograniczenia ilości feromonu [τmin , τmax ]
jest ograniczenie prawdopodobieństwa pij wyboru połączenia
z kolejnym miastem w przedziale [pmin , pmax ], gdzie
0 < pmin ¬ pij ¬ pmax ¬ 1. Gdy k-ta mrówka ma tylko jedną
możliwą drogę do następnego miasta czyli |Nik | = 1, to
pmin = pmax = 1.
Stützle wykazał eksperymentalnie, że τmin ma większe znaczenie
przy unikaniu stagnacji niż τmax . Z drugiej strony τmax jest
przydatny przy okazjonalnej reinicjacji.
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
13 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Opis
Zalecane parametry
Wybór węzła
Prawdopodobieństwo wyboru miasta j stojąc w mieście i dane jest
wzorem
pij (t) =
α
β
P (τij ) (ηij )
α
ci,l ∈Ω
0
(τil ) (ηil )β
∀ci,l ∈ Ω
(2)
∀ci,l ∈
/ Ω,
gdzie:
l - możliwe miasto,
Ω - dopuszczalne rozwiązania (pozostałe nieodwiedzone
miasta, nienależące do tabuk ),
ηij - wartość lokalnej funkcji kryterium, w tym przypadku
odwrotność odległości pomiędzy węzłami η = d1ij ,
α - parametr regulujący wpływ τij ,
β - parametr regulujący wpływ ηij .
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
14 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Opis
Zalecane parametry
Elitaryzm czy socjalizm
Stützle rozważał użycie wszystkich mrówek w algorytmie MMAS
(socjalizm) lub tylko części najlepszych mrówek, jednak efekt był
zbliżony do podstawowego algorytmu AS, czyli raczej słaby.
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
15 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Opis
Zalecane parametry
Reinicjalizacja i inne modyfikacje
W algorytmie MMAS wprowadzono okazjonalną reinicjalizacje
ścieżek feromonowych. Odbywa się ona wtedy gdy w kolejnych
iteracjach algorytm przestał przynosić korzyści. Wszystkie szlaki
feromonowe ustawiane są na τmax a do aktualizacji wykorzystuje się
zapamiętaną T bs . Czasami zamiast T bs używa się najlepszej trasy
od poprzedniej reinicjalizacji. Można też spotkać wprowadzoną
regułę pseudolosowego wyboru miasta tak jak w ACS.
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
16 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Opis
Zalecane parametry
Wygładzanie ścieżek feromonowych
PTS (ang. Pheromone Trail Smoothing ) został wprowadzony w
celu zwiększenia wydajności elitarnych algorytmów mrówkowych, w
tym MMAX. Celem jest zwiększenie eksploracji tras w przypadku
gdy MMAS doszedł do zbieżności. W takiej sytuacji jest wielce
prawdopodobne że trasa T ib zostanie zbudowana przez wybór w
każdym węźle łuku z maksymalną ilością feromonu. (ponieważ
wszystkie inne mogą mieć wartość τmin W takim przypadku
algorytm będzie próbować wzmocnić szlak feromonowy, który i tak
już ma τmax więc ogólna mapa feromonowa się nie zmieni.
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
17 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Opis
Zalecane parametry
PTS
Aby zwiększyć atrakcyjność słabszych łuków stosuje się jedną z
poniższych technik:
Aktualizacja proporcjonalna, gdzie na każdym łuku
zwiększamy ilość feromonu proporcjonalnie do różnicy
pomiędzy aktualną ilością feromonu a τmax
τij∗ = τij (t) + δ · (τmax (t) − τij (t))
Aktualizacja przez podniesienie minimum. Wszystkie wartości
∗ ustalane są na τ ∗
feromonu które są mniejsze niż τmin
min
∗
τmin
= τmin (t) + δ · (τmax (t) − τmin (t))
Parametr δ ∈< 0, 1 > określa w jakim stopniu aktualizujemy gdy 0
to PTS jest wyłączone gdy 1 następuje całkowita reinicjalizacja.
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
18 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Opis
Zalecane parametry
Zalecane parametry
Najlepszymi wartościami dla algorytmu MMAS są odpowiednio:
α=1
β od 2 do 5
τ0 = 1/ρC nn , gdzie n to liczba miast, C nn jest długością trasy
wygenerowanej za pomocą heurystyki “najbliższy sąsiad”
(ang. Nearest Neighbor )
liczba mrówek m = n
ρ = 0, 02
τmax = 1/ρC nn
√
n
0.05)
max (1− √
τmin = τ(avg
, gdzie avg jest średnią liczbą możliwych
−1)· n 0.05
wyborów dla pojedynczej mrówki w każdym kroku tworzącym
rozwiązanie.
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
19 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Główne cechy
Wstęp
Kolejną modyfikację AS zaproponował Bullnheimer w 1997 roku.
Jest to Rangowy (rankingowy) System mrówkowy (ang.
Rank-based AS) ASrank . Algorytm ten bazuje na systemie
rankingowym, zaczerpniętym z algorytmów genetycznych oraz
zmodyfikowanym algorytmie elitarnym EAS.
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
20 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Główne cechy
Główne cechy
Po znalezieniu tras przez m mrówek, są one sortowane według
długości tras jakie znalazły (L1 ¬ L2 ¬ ... ¬ Lm ) tworząc
ranking od najlepszej do najgorszej.
Wkład pojedynczej mrówki do uaktualnienia szlaku
feromonowego jest zależny od jej rangi µ.
Feromon jest aktualizowany tylko przez kilka pierwszych
mrówek w rankingu.
Dodatkowo nanoszony jest feromon, jak w elitarnym systemie
mrówek, na najlepszą znalezioną trasę od początku działania
algorytmu.
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
21 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Główne cechy
Aktualizacja śladu feromonowego
Uwzględniając powyższe zasady uaktualnienie śladu feromonowego
można opisać następującą zależnością:
τij (t + 1) ← ρτij (t) + ∆τij + ∆τij∗ ,
(3)
gdzie
ρ - parametr oznaczający ile feromonu ma zostać
z poprzedniej iteracji po odparowaniu
∆τij =
∆τijµ
=
µ
µ=1 ∆τij
Pσ−1
Q
(σ − µ) Lµ
0
Jeżeli kolejna mrówka o indeksie µ
idzie przez krawędź (i, j)
w innym przypadku
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
22 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Główne cechy
Aktualizacja śladu feromonowego
∆τij∗
Q
σ L∗
Jeżeli krawędź (i, j) jest częścią
=
najlepszego rozwiązania
0
w innym przypadku
µ indeks rankingu
∆τijµ zwiększenie ilości feromonu na krawędzi (i, j)
spowodowane przez µ-tą najlepszą mrówkę
Lµ długość trasy µ-tej najlepszej mrówki
∆τij∗ zwiększenie ilości feromonu na krawędzi (i, j)
spowodowane przez elitarne mrówki
σ liczba elitarnych mrówek
L∗ długość najlepszego znalezionego rozwiązania od początku
działania algorytmu.
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
23 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Główne cechy
Przykład
Przykładowo dla σ = 5 aktualizacja feromonu wyglądałaby
następująco:
τij (t + 1) ← ρτij (t) +
4·Q
3·Q
2·Q
1·Q
5·Q
+
+
+
+ ∗
L1
L2
L3
L4
L
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
24 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Główne cechy
Podsumowanie
W eksperymentach wykazano, że algorytm ASrank działa
nieznacznie lepiej od EAS natomiast znacznie lepiej w porównaniu
ze standardowym AS.
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
25 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Dolna granica
Prawdopodobieństwo
Aktualizacja feromonu
Wstęp
Aproksymacyjne niedeterministyczne drzewo przeszukiwań (ang.
Approximate Nondeterministic Tree Search - ANTS) jest
algorytmem zaczerpniętym z programowania matematycznego. Od
zwykłego algorytmu AS różni się trzema elementami:
Oblicza dolną granicę kosztu kompletnego rozwiązania, by
zdefiniować informację heurystyczną, która jest używana przez
każdą mrówkę podczas budowania rozwiązania.
Używa nowej funkcji wyboru kolejnego miasta.
Wprowadza modyfikacje w sposobie uaktualniania feromonu.
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
26 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Dolna granica
Prawdopodobieństwo
Aktualizacja feromonu
Dolna granica
W ANTS liczona jest dolna granica kosztów kompletnego
rozwiązania w danym miejscu i. Granicę tę używa się do obliczenia
heurystycznej informacji na temat atrakcyjności dodania krawędzi
(i, j). Jest to osiągane poprzez wstępne dodanie łuku do bieżącego
częściowego rozwiązania i oszacowania kosztów ukończenia trasy
zawierającej ten łuk, za pomocą dolnej granicy. Niestety, dolną
granicę musimy liczyć przy każdym kroku wykonywanym przez
każdą mrówkę. Dlatego szacowanie powinno być możliwie jak
najszybsze.
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
27 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Dolna granica
Prawdopodobieństwo
Aktualizacja feromonu
Dolna granica i parametr η
Obliczone oszacowanie jest użyte do wyliczenia parametru ηi,j ,
który wpływa na prawdopodobieństwo wyboru danej krawędzi. Im
mniejsze oszacowanie tym większe prawdopodobieństwo wybrania
danego łuku (i, j). W efekcie, ewentualny możliwy ruch może
zostać odrzucony gdy okaże się, że doprowadzi do częściowego
rozwiązania, którego oszacowanie jest dłuższe od najkrótszego
dotychczas znalezionego.
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
28 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Dolna granica
Prawdopodobieństwo
Aktualizacja feromonu
Prawdopodobieństwo wyboru miasta
Jedną z modyfikacji w stosunku do innych algorytmów ACO jest
inny sposób obliczania prawdopodobieństwa wybrania miasta
j przez mrówkę k stojącą w mieście i. Jest ono wyliczane według
wzoru:
ζτij + (1 − ζ)ηij
, jeżeli j ∈ Nik ,
ζτ
+
(1
−
ζ)η
k
il
il
l∈N
pijk = P
(4)
i
gdzie ζ jest parametrem 0 ¬ ζ ¬ 1, Nik tak jak poprzednio oznacza
możliwe sąsiedztwo a wybranie krawędzi poza Nik ma
prawdopodobieństwo 0.
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
29 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Dolna granica
Prawdopodobieństwo
Aktualizacja feromonu
Aktualizacja feromonu
Pozbyto się problematycznego w dostrojeniu do konkretnego
problemu parametru ρ. Gdy parametr ten był zbyt wysoki
prowadził szybko do stagnacji, gdy zbyt niski za mało informacji
było przekazywane z poprzednich pokoleń. Aktualizacja feromonu
odbywa się według poniższego wzoru:
τij ← τij +
m
X
∆τijk ,
(5)
k=1
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
30 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Dolna granica
Prawdopodobieństwo
Aktualizacja feromonu
Aktualizacja feromonu
gdzie
(
∆τijk
=
ϑ 1−
0,
C k −LB
Lavg −LB
, jeżeli krawędź (i, j) należy do T k
w innym przypadku,
(6)
gdzie
ϑ jest parametrem,
LB jest dolnym ograniczeniem kosztu optymalnego
rozwiązania, obliczonego na początku działania algorytmu.
LB ¬ C ∗ , gdzie C ∗ jest długością optymalnej trasy,
Lavg średnia ostatnich l tras wygenerowanych przez mrówki,
gdzie l jest parametrem algorytmu.
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
31 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Dolna granica
Prawdopodobieństwo
Aktualizacja feromonu
Podsumowanie
Efekt zastosowania równania 6 jest taki, że gorsze rozwiązania od
średniej zmniejszają ilość feromonu na krawędziach wchodzących
w skład znalezionej ścieżki, zaś lepsze zwiększają.
ANTS nie był zaprojektowany do problemu komiwojażera, ale
z powodzeniem odnosił sukcesy w problemie kwadratowego
przydziału.
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
32 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Najlepszy nagradzany - Najgorszy karany
Restartowanie
Mutacje
Podsumowanie
Wstęp
Algorytm BWAS (ang. Best-Worst Ant System - BWAS) został
zaproponowany przez Oskara Cordón wraz z zespołem w 2000
roku. Bazuje on na algorytmie AS z pewnymi modyfikacjami.
Nazwa algorytmu wzięła się od pierwszej z poniższych modyfikacji.
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
33 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Najlepszy nagradzany - Najgorszy karany
Restartowanie
Mutacje
Podsumowanie
Aktualizacja feromonu
Uaktualnienie feromonu bazuje na najlepszym globalnym (w
sposób pozytywny) i najgorszym bieżącym (w sposób negatywny)
rozwiązaniu według poniższych wyrażeń:
τij ← (1 − ρ)τij + ∆τij ,
(7)
gdzie
(
∆τij =
f (C (Sgb )), jeżeli krawędź (i, j) należy do Sgb
0,
w innym przypadku.
Paweł Paduch
(8)
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
34 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Najlepszy nagradzany - Najgorszy karany
Restartowanie
Mutacje
Podsumowanie
Najlepsze nagradzane
Najlepsze globalne rozwiązanie (gb - global best) jest
“nagradzanie” poprzez dodanie, tak jak było to w przypadku ACS,
pewnej ilości feromonu na wszystkich krawędziach budujących
najlepsze dotychczasowe rozwiązanie. Funkcja f (C (Sgb )) zwykle
jest odwrotnością długości znalezionej trasy.
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
35 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Najlepszy nagradzany - Najgorszy karany
Restartowanie
Mutacje
Podsumowanie
Najgorsze karane
Najgorsze bieżące (cw - current worst) rozwiązanie jest “karane”
poprzez dodatkowe odparowanie z krawędzi, które go budowały, ale
jednocześnie nie wchodziły w skład najlepszego rozwiązania.
∀(i, j) ∈ Scw ∧ (i, j) ∈
/ Sgb , τij ← (1 − ρ)τij .
Paweł Paduch
(9)
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
36 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Najlepszy nagradzany - Najgorszy karany
Restartowanie
Mutacje
Podsumowanie
Restartowanie
Kolejną modyfikacją jest restartowanie procesu szukania, gdy
dochodzi do stagnacji. Podobną modyfikację użyto w algorytmie
MMAS. Do stagnacji dochodzi gdy krawędzie wchodzące w skład
najlepszego dotychczasowego rozwiązania mają bardzo dużo
feromonu natomiast pozostałe mają wartość bliską 0. Stagnacja
jest wykrywana gdy liczba krawędzi różnych pomiędzy bieżącą
iteracją a poprzednią maleje poniżej ustalonego progu
procentowego. Oznacza to, że mrówki przestały znajdować nowe
trasy. Wtedy ilość feromonu na wszystkich krawędziach ustawiana
jest na ilość początkową τ0 .
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
37 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Najlepszy nagradzany - Najgorszy karany
Restartowanie
Mutacje
Podsumowanie
Mutacje
Mutacje stosuje się w celu zróżnicowania procesu szukania.
Operator mutacji wprowadza małe zmiany w początkowej fazie
szukania i duże w późniejszej. To powoduje, że mrówki wciąż
próbują eksplorować cały teren poszukiwań a nie tylko
wykorzystywać wcześniejsze rozwiązanie.
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
38 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Najlepszy nagradzany - Najgorszy karany
Restartowanie
Mutacje
Podsumowanie
Mutacje
Każde połączenie pomiędzy węzłami jest mutowane
z prawdopodobieństwem Pm według poniższych wzorów.
(
τij0
τij + mut(it, τprogowe ), jeżeli a = 0
τij − mut(it, τprogowe ), jeżeli a = 1.
=
(10)
gdzie
P
(i,j)∈S
τij
gb
τprogowe =
- średnia wartość feromonu ze
Sgb
wszystkich krawędzi budujących najlepsze globalne
rozwiązanie
a jest losową wartością {0, 1}
it bieżącą iteracją
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
39 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Najlepszy nagradzany - Najgorszy karany
Restartowanie
Mutacje
Podsumowanie
s
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
40 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Najlepszy nagradzany - Najgorszy karany
Restartowanie
Mutacje
Podsumowanie
Mutacje
Funkcja mut() przedstawia się następująco:
mut(it, τprogowe ) =
it − itr
· σ · τprogowe
Nit − itr
(11)
gdzie:
Nit jest maksymalną liczbą iteracji algorytmu
itr jest ostatnią iteracją gdzie został wykonany restart,
σ oznacza z jaką mocą działa mutacja.
Dzięki takim zależnościom mutacja jest tym większa, im dłużej
działa algorytm. We wzorze są także uwzględniane restarty
algorytmu.
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
40 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Najlepszy nagradzany - Najgorszy karany
Restartowanie
Mutacje
Podsumowanie
Wartości parametrów
Autorzy BWAS w swych eksperymentach zwykle używali
następujących parametrów:
Nit = 300
ρ = 0, 2
α=1
β=2
τ0 = n/C (SGreedy ), gdzie n liczba miast
Pm = 0, 3
σ=4
Procentowa liczba różnych krawędzi w warunku restartu 5%
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
41 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Najlepszy nagradzany - Najgorszy karany
Restartowanie
Mutacje
Podsumowanie
Podsumowanie
Testy porównawcze z AS i ACS dokonane przez Oskara Cordón
wraz z zespołem wykazały, że dla problemów TSP takich jak Eil51,
Berlin52, Brazil58, Kroa100, Gr120, Att532, Rat783 algorytm
BWAS daje takie same lub lepsze wyniki zarówno średnie jak
i najlepsze. Jedynie dla większych problemów takich jak Fl1577
algorytm ACO dał lepsze rezultaty od BWAS. Czas obliczeń oprócz
problemów Brazil58, Att532 i Rat783 też był mniejszy od ACS. AS
we wszystkich testowanych problemach miał najgorszy czas.
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
42 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Najlepszy nagradzany - Najgorszy karany
Restartowanie
Mutacje
Podsumowanie
Pytania
?
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
43 z 44
Wstęp
MMAS
Rangowy System mrówkowy
ANTS
Najlepszy - Najgorszy
Wstęp
Najlepszy nagradzany - Najgorszy karany
Restartowanie
Mutacje
Podsumowanie
koniec
Dziękuję Państwu za uwagę.
Paweł Paduch
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 3
44 z 44