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