zachodniopomorski uniwersytet technologiczny w szczecinie

Transkrypt

zachodniopomorski uniwersytet technologiczny w szczecinie
ZACHODNIOPOMORSKI UNIWERSYTET
TECHNOLOGICZNY W SZCZECINIE
INSTYTUT TECHNOLOGII MECHANICZNEJ
Metody Sztucznej Inteligencji
Algorytmy Mrówkowe
Wstęp
ACO (Ant Colony Optimization) jest programem służącym do demonstracji działania algorytmów
mrówkowych na przykładzie problemu komiwojażera (danych jest n miast połączonych siecią dróg;
komiwojażer ma odwiedzić każde z nich i wrócić do miasta z którego wyruszył możliwie najkrótszą
drogą (w wyniku otrzymuje się tzw. cykl Hamiltona)).
Instrukcja
Aby uzyskać dostęp do programu otwórz stronę:
http://demonstrations.wolfram.com/AntColonyOptimizationACO/
Następnie należy pobrać program poprzez przycisk „Interact Now”/ wypełnić formularz/ „Start
Download”. Po zainstalowaniu i uruchomieniu programu trzeba wybrać drugą zakładkę i wcisnąć „Get
started”. Nastąpi przekierowanie na stronę internetową.
W wyszukiwarkę należy wpisać hasło „ACO”
i zaakceptować wciskając klawisz „enter”.
W wyniku na stronie pojawi się odnośnik do programu
Ant Colony Optimization. Klikając na ikonkę,
oprogramowanie zostanie uruchomione.
Zasada działania programu
Kliknij przycisk "run", aby uruchomić program
(wypuścić mrówki). Podczas działania programu,
wszystkie mrówki muszą ukończyć cykl
Hamiltona począwszy od losowo wybranego
miasta. Początkowo wszystkim ścieżkom
przypisane są równe ilości feromonów,
kontrolowane przez suwak początkowego stopnia
feromonów (initial level). Po każdym etapie,
feromon w każdym kierunku mnożony jest przez
liczbę
określającą
stopień
odparowania
1
Materiały dydaktyczne - na podstawie http://demonstrations.wolfram.com/AntColonyOptimizationACO/ opracowała dr inż. M. Krawczyk
(evaporation) w celu symulacji procesu parowania. Suwak "min /max ratio" określa minimalny poziom
feromonów dozwolony na ścieżce, aby zapobiec przedwczesnej zbieżności w kierunku szlaku
nieoptymalnego. Następnie feromon jest uaktualniany (osadzany) za pomocą przemieszczania mrówki.
Preferowane są krótkie ścieżki, z tego powodu poziom osadzonych feromonów jest odwrotnie
proporcjonalny do długości ścieżki. Trasom z wyższym poziomem feromonów lub o mniejszej długości
przypisano większe prawdopodobieństwo wybrania przez mrówki przy budowie nowego cyklu. Przy
obliczaniu prawdopodobieństwa, parametry  i  kontrolują odpowiednio: względne znaczenie poziomu
feromonów i długość ścieżki.
W wyniku uruchomienia programu, procesy będą się powtarzały, krawędzie na wykresie o małym
natężeniu ruchu znikną i szlak korzystny dla mrówek powoli będzie się wyłaniać.
Algorytm wdraża również „podejście elitarne” pozwalając tylko najbardziej efektywnym mrówkom do
złożenia feromonu. Menu "elite ants" umożliwia określenie udziału procentowego „elitarnych” mrówek
w populacji.
Korzystanie z "candidate list" ogranicza poszukiwanie kolejnego miasta do tych w najbliższej okolicy.
W przypadku większych wykresów, zwiększa to znacznie szybkość generowania cyklu Hamiltona.
Proces powtarza się, aż wszystkie mrówki zbiegną się w kierunku danego szlaku.
Domyślnie, po zakończeniu każdego etapu budowy stosowany jest prosty algorytm doskonalenia (TIA)
na każdej trasie (można go wyłączyć poprzez odznaczenie).
Pole "MMAS" umożliwia zastosowanie algorytmu MAX-MIN Ant System. Pozwala on złożyć feromon
tylko najlepiej działającej mrówce po każdej iteracji. Ponadto oblicza górne i dolne wartości graniczne
dla feromonu i dynamicznie ustawia liczbę mrówek do liczby miast. Dlatego kontrole te są wyłączone
(wygaszone), gdy funkcja "MMAS" jest włączona.
Po zgromadzeniu się mrówek na jednym szlaku, wynik (zaznaczony na czerwono) porównywany jest
z cyklem uzyskanym przez Mathematica Find Shortest Tour (linia przerywana) przy użyciu reguły
optymalnej ścieżki.
Klikając przycisk "save", można zapisać wynik konkretnego procesu. Można również zmienić parametry
i kliknąć przycisk "run", aby zobaczyć, jak algorytm pracuje na tym samym wykresie z nowymi
ustawieniami. Aby porównać najnowszy cykl z już zapisanym, kliknij "toggle". Kliknij przycisk "stop", aby
przerwać działanie programu. Zmiana "random seed" lub kliknięcie "run" powoduje utworzenie nowego
wykresu. Zmiana "random seed" do wcześniej używanej wartości, pozwoli użyć wykresu ponownie.
2
Materiały dydaktyczne - na podstawie http://demonstrations.wolfram.com/AntColonyOptimizationACO/ opracowała dr inż. M. Krawczyk
Zadanie
Należy utworzyć cykl Hamiltona dla 50 miast. Parametry związane z feromonami pozostawić
w ustawieniach domyślnych. Dobrać tak ilość mrówek oraz stopień elitarności i listę miast, aby uzyskać
jak najkrótsza trasę w możliwie jak najkrótszym czasie. Dla otrzymanych parametrów zbadać jak na
wynik końcowy wpływa niezastosowanie algorytmu doskonalenia (TIA) - domyślnie zaznaczony.
3
Materiały dydaktyczne - na podstawie http://demonstrations.wolfram.com/AntColonyOptimizationACO/ opracowała dr inż. M. Krawczyk

Podobne dokumenty