Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation)

Podobne dokumenty
Algorytmy mrówkowe. P. Oleksyk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne

Problem komiwojażera ACO. Zagadnienie optymalizacyjne, polegające na znalezieniu minimalnego cyklu Hamiltona w pełnym grafie ważonym.

Systemy mrówkowe. Opracowali: Dawid Strucker, Konrad Baranowski

Algorytmy metaheurystyczne Wykład 6. Piotr Syga

Obliczenia Naturalne - Algorytmy Mrówkowe

Obliczenia inspirowane Naturą

Algorytmy mrówkowe. H. Bednarz. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne

Techniki optymalizacji

Algorytmy mrówkowe (ang. Ant Colony Optimization)

Algorytmy mrówkowe. Plan. » Algorytm mrówkowy» Warianty» CVRP» Demo» Środowisko dynamiczne» Pomysł modyfikacji» Testowanie

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA ALGORYTM MRÓWKOWY (ANT SYSTEM) ALGORYTM MRÓWKOWY. Algorytm mrówkowy

Algorytmy mrówkowe wprowadzenie.

Problem Komiwojażera - algorytmy metaheurystyczne

Algorytmy Mrówkowe. Daniel Błaszkiewicz. 11 maja Instytut Informatyki Uniwersytetu Wrocławskiego

Wykład 4. Droga i cykl Eulera i Hamiltona

Droga i cykl Eulera Przykłady zastosowania drogi i cyku Eulera Droga i cykl Hamiltona. Wykład 4. Droga i cykl Eulera i Hamiltona

Algorytmy mrówkowe w dynamicznych problemach transportowych

Obliczenia z wykorzystaniem sztucznej inteligencji

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie

Algorytmy genetyczne

Obliczenia z wykorzystaniem sztucznej inteligencji

Algorytmy Mrówkowe. Daniel Błaszkiewicz 11 maja 2011

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).

Techniki optymalizacji

ALHE. prof. Jarosław Arabas semestr 15Z

Wstęp do sieci neuronowych, wykład 12 Wykorzystanie sieci rekurencyjnych w optymalizacji grafowej

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

WYKORZYSTANIE ALGORYTMÓW GENETYCZNYCH I MRÓWKOWYCH W PROBLEMACH TRANSPORTOWYCH

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

Planowanie drogi robota, algorytm A*

ZASTOSOWANIE ALGORYTMÓW MRÓWKOWYCH W ROZWIĄZANIU PROBLEMU SZEREGOWANIA ZADAŃ APPLICATION OF ANT COLONY SYSTEMS IN SOLVING OF TASK SCHEDULING PROBLEM

Strategie Zespołowe (SZ) dr inż. Tomasz Białaszewski

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

Optymalizacja. Wybrane algorytmy

Znajdowanie wyjścia z labiryntu

Wybrane podstawowe rodzaje algorytmów

Programowanie Współbieżne. Algorytmy

1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb.

Wyznaczanie optymalnej trasy problem komiwojażera

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP

Metoda UCT w stochastycznych problemach transportowych

Przykłady problemów optymalizacyjnych

PRACA DYPLOMOWA MAGISTERSKA

Temat 9. Zabłocone miasto Minimalne drzewa rozpinające

Heurystyczne metody przeszukiwania

Spacery losowe generowanie realizacji procesu losowego

Przykład planowania sieci publicznego transportu zbiorowego

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

OPTYMALIZACJA W LOGISTYCE

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Optymalizacja. Przeszukiwanie tabu

Prawa potęgowe w grafach przepływu informacji dla geometrycznych sieci neuronowych

Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A

PLANOWANIE TRASY PRZEJŚCIA STATKU Z ZASTOSOWANIEM ALGORYTMU MRÓWKOWEGO

ZASTOSOWANIE ALGORYTMU MRÓWKOWEGO DO WYZNACZANIA MAKSYMALNEJ GRUPY WZAJEMNIE POŁĄCZONYCH ELEMENTÓW

Seminarium IO. Zastosowanie algorytmu UCT w Dynamic Vehicle Routing Problem. Michał Okulewicz

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Mrówka Pachycondyla apicalis

Zadania laboratoryjne i projektowe - wersja β

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Strategie ewolucyjne. Gnypowicz Damian Staniszczak Łukasz Woźniak Marek

Programowanie dynamiczne

Metody przeszukiwania

Tworzenie gier na urządzenia mobilne

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

PROGRAMOWANIE SIECIOWE. METODA ŚCIEŻKI KRYTYCZNEJ

Rzut oka na współczesną matematykę spotkanie 3: jak liczy kalkulator i o źródłach chaosu

Algorytmy stochastyczne laboratorium 03

Programowanie sieciowe. Tadeusz Trzaskalik

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA ZADANIE KOMIWOJAŻERA METODY ROZWIĄZYWANIA. Specyfika zadania komiwojażera Reprezentacje Operatory

Digraf. 13 maja 2017

Optymalizacja ciągła

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

Układy równań nieliniowych (wielowymiarowa metoda Newtona-Raphsona) f(x) = 0, gdzie. dla n=2 np.

SZTUCZNA INTELIGENCJA

Zastosowanie algorytmów mrówkowych do rozwiązywania problemu komiwojażera

WYKŁAD 3 WYPEŁNIANIE OBSZARÓW. Plan wykładu: 1. Wypełnianie wieloboku

Matematyka od zaraz zatrudnię

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego

Analiza stanów gry na potrzeby UCT w DVRP

Ogólne wiadomości o grafach

Zagadnienie transportowe

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane cd.

Algorytm grawitacyjnych poszukiwań (Gravitational Search Algorithm - GSA)

Algorytmika Problemów Trudnych

Algorytmy wyznaczania centralności w sieci Szymon Szylko

Grafy. Jeżeli, to elementy p i q nazywamy końcami krawędzi e. f a b c d e γ f {1} {1,2} {2,3} {2,3} {1,3}

Suma dwóch grafów. Zespolenie dwóch grafów

TEORETYCZNE PODSTAWY INFORMATYKI

Rozwiązywanie równań nieliniowych

Programowanie dynamiczne i algorytmy zachłanne

XII International PhD Workshop OWD 2010, October 2010 MODEL TEORETYCZNY ALGORYTMU MRÓWKOWEGO SAS

Dowód probabilistyczny Uwagi do dowodu Bibliografia. Prawo Haczykowe. Łukasz Bieniasz-Krzywiec

Problemy optymalizacyjne - zastosowania

Transkrypt:

Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation) Jest to technika probabilistyczna rozwiązywania problemów obliczeniowych, które mogą zostać sprowadzone do problemu znalezienie najkrótszych ścieżek w grafie. W rzeczywistym świecie mrówki wędrują losowo (początkowo) i po znalezieniu pożywienia wracają do mrowiska, wydzielając po drodze feromony. Jeżeli inna mrówka znajdzie taką ścieżkę z feromonami, porzuci losową wędrówkę i pójdzie za tą ścieżką, a gdy znajdzie pożywienie, również tą ścieżką wróci. Z czasem ścieżka feromonowa paruje. Im dłużej mrówka idzie drogą do pożywienia i z powrotem, tym więcej feromonów paruje. Gdy ścieżka jest krótka, gęstość feromonów jest wysoka (feromony nie zdążą wyparować, zanim mrówka zacznie wracać). Dzięki parowaniu feromonów można uniknąć zbieżności do rozwiązania lokalnego.gdyby nie było parowania feromonów, ścieżka wybrana przez pierwszą mrówkę, byłaby najbardziej atrakcyjną dla idących za nią mrówek. Wtedy przestrzeń rozwiązań zostałaby zawężona. Tak więc, gdy jedna mrówka znajdzie dobrą (krótką ) ścieżkę, inne mrówki będą za nią podążać, a następnie wracać tą ścieżką, co może doprowadzić to wędrówki wszystkich mrówek tą samą ścieżką. Algorytmy mrówkowe naśladowanie postępowania mrówek. Algorytm ten można zastosować do rozwiązywania problemu komiwojażera. Ma on przewagę nad symulowanym, wyżarzaniem w sytuacji, gdy graf zmienia się dynamicznie. Algorytm mrówkowy będzie się dostosowywał do zmian. (network routing) W AS sztuczne mrówki znajdują rozwiązanie (drogę) poruszając się po grafie problemu z jednego miasta do drugiego. Algorytm uruchamia t max iteracji. Podczas każdej z nich m mrówek szuka dróg wykonując n kroków, w których podejmowana jest probabilistyczna decyzja. W praktyce, kiedy w węźle i mrówka wybiera jako węzeł docelowy węzeł j, to krawędź (i,j) jest dodawana do aktualnie budowanej drogi. Te kroki są powtarzane, aż mrówka skończy budować swoją drogę. 1

Wymyślono trzy rodzaje algorytmu AS różniące się sposobem, w jaki uaktualniany jest szlak feromonowy. Te algorytmy to: gęstościowy (ant-density), w którym mrówki zostawiają stałą ilość feromonu podczas budowania drogi, ilościowy (ant-quantity), w którym mrówki zostawiają ilość feromonu odwrotnie proporcjonalną do długości wybranej krawędzi podczas budowania drogi, cykliczny (ant-cycle), w którym mrówki zostawiają feromon dopiero w momencie, gdy zbudują całą drogę. Eksperymenty wykazały, że wydajność algorytmu cyklicznego była znacznie wyższa, niż pozostałych dwóch, więc przestaniemy się nimi zajmować, a określenie AS będziemy odnosić do algorytmu cyklicznego. Problem komiwojażera: Mamy graf pełny. Znamy długość każdej z krawędzi d(i; j). Pseudokod: while(not warunek_końca) { generujrozwiązanie()//znajdz drogi dla m mrówek UaktualnijWartościFeromonów() } Mrówki poruszając się między miastami zostawiają ślad feromonowy o natężeniu τ(i, j) Natężenie feromonu na każdej z krawędzi będzie zmieniać się w trakcie rozwiązywania problemu (w miarę jak kolonia poznawać będzie otoczenie i wybierać najlepszą trasę.) Mrówki kierują się nie tylko feromonem ale preferują również krótkie odcinki podróży Odległości d oraz natężenie feromonu τ definiują funkcję preferencji: t(i; j) = τ (i; j)/d(i; j) β 2

Dla pojedynczej mrówki znajdującej się w mieście i wybieramy miasto j zgodnie z rozkładem prawdopodobieństwa danym wzorem: t( i, j) P( j) = t( i, k) gdzie N i nieodwiedzeni sąsiedzi miasta i k Ni Zmiany ilości feromonów: τ i,j = ρτ i,j + Δτ i,j - ρ wspólczynnik parowania (ρ<1) - Δτ i,j ilość zdeponowanego feromonu dana wzorem gdzie L k jest długością drogi k-tej mrówki (im krótsza droga, tym większa ilość feromonu zostawiona na jej krawędziach) Inne sposoby zmian natężenia feromonów OZNACZANIA GLOBALNE Zmieniamy natężenie tylko dla najkrótszej z tras (tylko dla mrówki, która znalazła najkrótszą trasę) τ i,j = ρτ i,j + αδτ i, gdzie α ufność z jaką mrówki podchodzą do najkrótszej trasy. Przyjmijmy α=0.1 OZNACZANIE LOKALNE Oznaczanie lokalne ma zniechęcić mrówkę do sprawdzania krawędzi, którą w tym samym obiegu sprawdziła inna mrówka. Oznaczanie wykonywane natychmiast po przejściu z miasta i do miasta j τ i,j = ρτ i,j + α/p gdzie p- bardzo duże 3

Uwagi praktyczne: Każda mrówka pamięta miasta już odwiedzone (w odpowiedniej kolejności) Każda mrówka pamięta miasta jeszcze nie odwiedzone Początkowo przyjmujemy dla każdej krawędzi: τ i,j =1/(d(i; j) β Przyjmijmy β=2 Mrówki umieszczamy losowo po miastach Algorytm dla każdej mrówki wygląda następująco: 1. Wylosuj miasto startowe 2. Uaktualnij listę miast odwiedzonych 3. Uaktualnij listę miast nie odwiedzonych 4. Oblicz rozkład prawdopodobieństwa, czyli P(j) dla każdego j z listy miast nie odwiedzonych 5. Wybierz miasto j spośród miast nie odwiedzonych zgodnie z rozkładem, czyli przykładowo: - niech sąsiedzi nie odwiedzeni to j, k, l - niech P(j)=P(k)=1/4 oraz P(l)=1/2 - wylosuj liczbę f z przedziału [0,1] - if (f<p(j)=1/4) wybierz miasto j Else if ( f< ( P(j)+P(k)=1/4) ) wybierz miasto k Else wybierz miasto l Przykładowo: niech f=3/8 Wtedy wybieramy miasto k, ponieważ: 4

Modyfikacje algorytmu: Dodatkowy parametr q 0 [ 0,1 ] q 0 = 0 oznacza pełny determinizm q 1 oznacza pełną nosowość 0 = Sposób postępowania: q 0,1 Losujemy [ ] - Jeśli q < q0 to mrówka idzie z miasta i do takiego miasta j, które maksymalizuje funkcję preferencji t(i,j) - Jeśli q > q0 to mrówka idzie z miasta i do takiego miasta j, wybranego zgodnie z rozkładem prawdopodobieństwa Zadanie: Zaimplementować powyższy algorytm, przyjmując α= 0.1 β= 2 q 0 = 0.9 M-liczba miast=20; P należy wybrać w sposób następujący: p=lm, gdzie L długość trasy wyznaczonej przez strategię najbliższego sąsiada [z każdego miasta idziemy do najbliższego]. Narysować długość ostatniej najlepszej drogi dla liczby mrówek m = 1, 2,10, 50. Jak długo trwa nauka w zależności od m? Przyjąć m = 10. Zbadać jak idzie mrówkom nauka, gdy: q 0, 0.25, 0.5,1 0 = Rozwiązać problem dla większej liczby miast. 5