Bazy danych
Transkrypt
Bazy danych
2011-04-04 PLAN WYKŁADU Algorytm mrówkowy OPTYMALIZACJA GLOBALNA Wykład 8 dr inż. Agnieszka Bołtuć ALGORYTM MRÓWKOWY (ANT SYSTEM) ALGORYTM MRÓWKOWY Inspiracja: Zasada działania w naturze: Mrówki początkowo wybierają trasę losowo, Wracając do mrowiska zostawiają ślad feromonowy, Feromony stopniowo parują, Na krótszej trasie feromon odparowuje wolniej, a więc kolejne mrówki chętniej wybierają tą trasę, Skoro wybierana jest ta trasa to następuje wzmocnienie śladu feromonowego (atrakcyjna trasa staje się bardziej atrakcyjna), W miarę upływu czasu mrówki opracowują zbiorowo najkrótszą ścieżkę wiodącą je do pożywienia. Zachowanie mrówek podczas poszukiwania żywności, Zachowanie to polega na tym, że jeśli do żywności prowadzą dwie drogi to po pewnym czasie większość mrówek będzie korzystać z krótszej. 1 2011-04-04 ALGORYTM MRÓWKOWY ALGORYTM MRÓWKOWY Zastosowania: Tworzenie populacji mrówek, Pojedyncza mrówka generuje swoją ścieżkę niezależnie od innych, Każda mrówka ma losowo wybrany początek trasy, Startując z niego mrówka porusza się po grafie szukając najkrótszej drogi, Mrówka jest wyposażona w pamięć, aby nie wracać do już odwiedzonych wierzchołków (tzw. lista tabu), pozwala później na aktualizację feromonu. Najczęściej wykorzystywane do algorytmów poszukiwania najlepszych ścieżek w grafie, Bardzo często stosowany do rozwiązywania zadania komiwojażera. ALGORYTM MRÓWKOWY ALGORYTM MRÓWKOWY Rodzaje algorytmu mrówkowego: Gęstościowy – mrówka zostawia stałą ilość feromonu podczas budowania drogi (dochodząc do każdego kolejnego miasta), Ilościowy – mrówka zostawia ilość feromonu odwrotnie proporcjonalną do długości krawędzi wybranej podczas budowania drogi, Przy wyborze drogi mrówka kieruje się: Pamięcią – nie odwiedza już odwiedzonych, Ilością feromonu na danej krawędzi, Długością trasy. Cykliczny – mrówki zostawiają feromon dopiero gdy zbudują całą drogę, znacznie wydajniejszy algorytm niż pozostałe wymienione, 2 2011-04-04 ALGORYTM MRÓWKOWY ALGORYTM MRÓWKOWY Przykładowa reprezentacja danych: j Prawdopodobieństwo wybrania drogi przez mrówkę k z i do j w iteracji t: 1 d ij (t ) f ij (t ) i dij fij k ij p (t ) l N ik 1 d il (t ) ( f il (t ) ) - parametr określający wpływ pozostawionego feromonu na prawdopodobieństwo, dij – odległość pomiędzy i,j fij – poziom feromonu ALGORYTM MRÓWKOWY Wraz ze wzrostem ilości feromonu na krawędzi i,j prawdopodobieństwo wybrania feromonu rośnie, zaś spada wraz ze wzrostem długości krawędzi, Sterowanie zasięgiem odbywa się za pomocą parametrów i , - parametr określający wpływ odległości na prawdopodobieństwo, N k i - zbiór miast których mrówka nie odwiedziła a do których prowadzi droga z miasta i, ALGORYTM KOLONII MRÓWKOWYCH (ANT COLONY SYSTEM) Odmiana systemu mrówkowego Różnica leży w sposobie obliczania prawdopodobieństwa wybrania krawędzi, Dla k-tej mrówki znajdującej się w i-tym mieście ustalone jest na poziomie stałej q0 prawdopodobieństwo przejścia do tego miasta l, dla 1 którego wartość iloczynu f (t ) d (t ) jest najwyższa, Pozostała część prawdopodobieństwa (1-q0) jest rozdysponowana wśród pozostałych krawędzi wychodzących z l-tego miasta zgodnie ze schematem podziału jak w systemach mrówkowych, ij ij Po ustaleniu prawdopodobieństwa dla wszystkich krawędzi wychodzących z i-tego miasta następuje losowanie w celu wybrania krawędzi według której poruszać się będzie mrówka (najczęściej odbywa się za pomocą koła ruletki), 3 2011-04-04 ALGORYTM KOLONII MRÓWKOWYCH Takie sformułowanie wyliczania prawdopodobieństwa pozwala kontrolować prawdopodobieństwo wyboru tego połączenia, które jest wskazywane przez najwyższy poziom feromonu oraz najkrótszą krawędź, ALGORYTM MRÓWKOWY Aktualizacja poziomu feromonu: uwzględnia zarówno odparowanie jak i złożenie feromonu przez mrówkę k odparowywanie n f ij (t 1) (1 Pozwala na obronę przed dominacją jednej krawędzi oraz przypadkowością wyboru dalszej ścieżki w przypadku równej wartości prawdopodobieństwa dla wszystkich możliwych krawędzi. k 1 Wartości początkowe: f ij c 1, najlepiej bardzo mała wartość 0.001 5, 0.5 dobrane eksperymentalnie przez Dorigo 1 Lk składanie - współczynnik odparowywania [0,1] n LK ALGORYTM MRÓWKOWY ) f ij (t ) - liczba mrówek - całkowita długość trasy przebytej przez mrówkę ALGORYTM MRÓWKOWY - MODYFIKACJE Dobre rezultaty dla zadań nie większych niż 75 miast, dlatego wprowadzano różne modyfikacje, Modyfikacje: elityzm, system kolonii mrówkowych, system mrówkowy MAX-MIN, system mrówkowy z rangami, 4 2011-04-04 ALGORYTM MRÓWKOWY - MODYFIKACJE ELITYZM Elityzm – modyfikacja reguł pozostawiania śladu feromonowego, elita – zbiór o rozmiarze e, zawiera najlepsze ścieżki znalezione w aktualnej iteracji, dodatkowy mechanizm przechowywania najkrótszej ścieżki znalezionej w ramach całego procesu optymalizacji (k’’), SYSTEM KOLONII MRÓWKOWYCH Dwa rodzaje aktualizacji feromonu przez mrówkę: globalny i lokalny, Aktualizacja globalna: tak jak w metodzie z poziomem cyklicznym w systemie mrówkowym, ale feromon składany jest wyłącznie przez jedną mrówkę – tą która w danej iteracji znalazła najlepszą ścieżkę, Aktualizacja lokalna: Każda mrówka po przejściu krawędzi pozostawia na niej ślad (t ) (1 ) ij (t ) 0 aktualizując ślad feromonowy wyróżnia się krawędzie należące do ścieżki k’’ , pod warunkiem, że wystąpią w dowolnej ścieżce należącej do elity, do krawędzi należących do k’’ dodaje się dodatkowy feromon w ilości eQ / Lk ,'' gdzie Q to waga wyróżnienia (z eksperymentu), zaś Lk '' to całkowita długość ścieżki k’’. SYSTEM KOLONII MRÓWKOWYCH ' ij k ij mechanizm aktualizacji krok z krokiem znany z systemów mrówkowych, jednak inaczej liczy się ilość pozostawionego feromonu, Sterujemy parametrem z przedziału [0,1], Intencją dodania lokalnej aktualizacji śladu feromonowego w takiej postaci jest to aby już odwiedzone krawędzie nie stawały się zbyt interesujące dla każdej następnej mrówki, parametr oraz stałą dobiera się w drodze eksperymentu indywidualnie dla 0 każdego zadania, (t ) 1 / Lk 5 2011-04-04 SYSTEM MRÓWKOWY MAX-MIN Tylko jedna mrówka pozostawia ślad, ta która reprezentuje najlepsze globalne lub lokalne (w danej iteracji) rozwiązanie, Wprowadzono dodatkowo ( w celu zapobiegania stagnacji w procesie szukania) ograniczenia na ilość feromonu na krawędzi min ; max , Przy składaniu feromonu maksymalnie przyjmowana jest górna granica, przy odparowywaniu dolna, Ponadto wartość początkowa feromonu na krawędziach jest ustalana na maksymalną dopuszczalną wartość – co powoduje wzmocnienie cech eksploracyjnych algorytmu na początku jego działania, SYSTEM MRÓWKOWY Z RANGAMI Ślad feromonowy pozostawia tylko mrówka która wygenerowała globalnie najlepsze rozwiązanie oraz pewna liczba mrówek reprezentujących najlepsze rozwiązania w danej iteracji, W każdym kroku mrówki są sortowane zgodnie z długością ścieżki i jedynie w najlepszych pozostawia ślad, który jeszcze jest mnożony przez współczynnik (w-k), gdzie k to pozycja mrówki na liście, W YKŁAD PRZYGOTOWANO NA PODSTAWIE K. Trojanowski, „Metaheurystyki praktyczne”, WIT, 2005, K. Grygiel, „Metaheurystyki, notatki do wykładu”, UW, 6