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

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

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

Obliczenia inspirowane Naturą

Algorytmy mrówkowe. H. Bednarz. 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.

Algorytmy metaheurystyczne Wykład 6. Piotr Syga

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Problem Komiwojażera - algorytmy metaheurystyczne

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

Obliczenia z wykorzystaniem sztucznej inteligencji

Algorytmy mrówkowe (ang. Ant Colony Optimization)

Techniki optymalizacji

Wykład 4. Droga i cykl Eulera i Hamiltona

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

Obliczenia z wykorzystaniem sztucznej inteligencji

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

Algorytmy mrówkowe wprowadzenie.

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Obliczenia Naturalne - Algorytmy Mrówkowe

Algorytmika Problemów Trudnych

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

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

Optymalizacja. Wybrane algorytmy

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

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP

Algorytm genetyczny (genetic algorithm)-

Algorytmy mrówkowe w dynamicznych problemach transportowych

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

Strategie ewolucyjne (ang. evolu4on strategies)

Wybrane podstawowe rodzaje algorytmów

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne

Algorytmy zachłanne. dr inż. Urszula Gałązka

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

Mrówka Pachycondyla apicalis

Techniki optymalizacji

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne

Algorytmy genetyczne

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

Algorytmy stochastyczne laboratorium 03

Algorytmy metaheurystyczne podsumowanie

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

PROBLEM: SORTOWANIE PRZEZ ODWRÓCENIA METODA: ALGORYTMY ZACHŁANNE

Temat: Algorytmy zachłanne

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

Schemat programowania dynamicznego (ang. dynamic programming)

PRACA DYPLOMOWA MAGISTERSKA

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

Metody Rozmyte i Algorytmy Ewolucyjne

Programowanie Współbieżne. Algorytmy

Wykład 2 Hipoteza statystyczna, test statystyczny, poziom istotn. istotności, p-wartość i moc testu

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

Wokół Problemu Steinhausa z teorii liczb

6. Klasyczny algorytm genetyczny. 1

Algorytmy wyznaczania centralności w sieci Szymon Szylko

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Wstęp do programowania

ALGORYTMY MATEMATYCZNE Ćwiczenie 1 Na podstawie schematu blokowego pewnego algorytmu (rys 1), napisz listę kroków tego algorytmu:

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki

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

Planowanie drogi robota, algorytm A*

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

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

Metody przeszukiwania

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Algorytmy sztucznej inteligencji

LABORATORIUM 7: Problem komiwojażera (TSP) cz. 2

Przykłady problemów optymalizacyjnych

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

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD III: Problemy agenta

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

Luty 2001 Algorytmy (7) 2000/2001

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

Algorytmy ewolucyjne 1

Automaty komórkowe. Katarzyna Sznajd-Weron

Automatyczny dobór parametrów algorytmu genetycznego

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski

Optymalizacja ciągła

Metoda simpleks. Gliwice

Grafy Alberta-Barabasiego

Programowanie sieciowe. Tadeusz Trzaskalik

Spacery losowe generowanie realizacji procesu losowego

XXXVIII Egzamin dla Aktuariuszy z 20 marca 2006 r.

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

Algorytmy i struktury danych.

Elementy Modelowania Matematycznego Wykład 4 Regresja i dyskryminacja liniowa

W POSZUKIWANIU OPTYMALNEJ TRASY WYBRANE ALGORYTMY W ZASTOSOWANIU DO PROBLEMU KOMIWOJAŻERA

Rekurencja. Rekurencja zwana także rekursją jest jedną z najważniejszych metod konstruowania rozwiązań i algorytmów.

Algorytmy i struktury danych. Wykład 4

1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza

Zadania laboratoryjne i projektowe - wersja β

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

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

Hierarchiczna analiza skupień

Metody Programowania

Metoda UCT w stochastycznych problemach transportowych

Optymalizacja. Symulowane wyżarzanie

Archipelag Sztucznej Inteligencji

Algorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba

Różne reprezentacje mapy feromonowej w problemie plecakowym

Teoria grafów - Teoria rewersali - Teoria śladów

Transkrypt:

y mrówkowe P. Oleksyk Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne 14 kwietnia 2015

1 Geneza algorytmu - biologia 2 3 4 5 6 7 8

Geneza algorytmu - biologia Mrówki wykorzystują do komunikacji feromony, czyli substancje zapachowe wyznaczające m.in. ścieżki prowadzące do pożywienia. Mrówki podążają śladem tych, którym się powiodło w poszukiwaniach (krótsza droga do pożywienia jest równoważne z częstszym odkładaniem feromonu na ścieżce). Należy również pamiętać ze feromon na ścieżce ulatnia się w czasie.

Rysunek: Pierwsza mrówka lokalizuje pożywienie F (ang. Food), podążają jedną z możliwych tras, a następni wraca do mrowiska N (ang. Nest), zostawiając po sobie ślad feromonowy.

Rysunek: Mrówki podążają do pożywienia w sposób losowy, ale większy ruch mrówek jest na tej ścieżce gdzie jest najwięcej pozostawianego śladu feromonowego.

Rysunek: Mrówki na końcu podążają tylko jedną ścieżką (o najmniejszej długości) a reszta ścieżek nie jest brana pod uwagę.

- słownie Populacja niezależnych agentów buduje rozwiązanie (każdy swoje) w kolejnych, losowych krokach. Rozwiązania są oceniane, po czym wszystkie elementy ścieżki prowadzącej do danego rozwiązania są oznaczane feromonem (zwiększamy ich wagę) proporcjonalnie do jakości rozwiązania. Kolejne pokolenia agentów wybierają daną ścieżkę tym chętniej, im więcej jest na niej feromonu.

Procedure ACO Meta heuristic

Procedure ants generation and activity()

daemon actions() Gromadzenie globalnej informacji, którą można użyć do podjęcia decyzji czy korzystne będzie dodanie feromonu, by ograniczyć proces poszukiwania, co jest oceniane z perspektywy globalne(nie może być ocenione przez jedną mrówkę).

Procedure new active ant() 1/2

Procedure new active ant() 2/2

y mrówkowe dają oczywiście się zastosować również do problemów nie będących bezpośrednio zdefiniowanymi na grafie, ale dającymi się do takich sprowadzić problem plecakowy.

Rysunek: Dyskretny problem plecakowy (ang. discrete knapsack problem) jest jednym z najczęściej poruszanych problemów optymalizacyjnych. Nazwa zagadnienia pochodzi od maksymalizacyjnego problemu wyboru przedmiotów, tak by ich sumaryczna wartość była jak największa i jednocześnie mieściły się w plecaku.

Rysunek: Matematyczne przedstawienie problemu

Reprezentacja problemu optymalizacyjny w algorytmie Każda mrówka tworzy rozwiązanie problemu w pewnej liczbie kroków W każdym kroku otrzymujemy pośrednie rozwiązanie (intermediate solution), częściowe rozwiązanie (partial solution) lub stan(state). Każda mrówka k przechodzi ze stanu i do kolejnego stanu j i tworzy nowe rozwiązanie pośrednie W każdym kroku, każda mrówka k uwzględnia zbiór możliwych rozwinięć (ang. expansions)do stanu aktualnego i przenosi się do jednego z nich z pewnym prawdopodobieństwem

Reprezentacja problemu optymalizacyjny w algorytmie Zbiór rozwinięć nazywany jest sąsiedztwem (ang. neighbourhood) Każda mrówka k zaczyna z pustym zbiorem S i dodaje do niego obiekty wybrane z prawdopodobieństwem ρj przemieszczających się z jednego stanu i do innego stanu j. W każdym stanie i istnieją pewne obiekty w zestawie S i, które stanowią częściowe rozwiązanie. Każda mrówka, w celu konstrukcji rozwiązania, używa wspólnej informacji, która jest kodowana w szlakach feromonowych τ j Każda mrówka rozpyla feromony na wszystkich obiektów zawartych w plecaku, kiedy znalezione zostało rozwiązanie.

Reprezentacja problemu optymalizacyjny w algorytmie Ilość feromonów τ rozpylenia zależy od jakości tego rozwiązania Q. Ruch każdej z mrówki zależy również od tzw. atrakcyjności ruchu µ j. W celu uniknięcia bardzo szybkiego upodobnienia się do lokalnego optymalnego rozwiązania jest stosowany mechanizm odparowanie(evaporation mechanism) τ = ρτ. Z czasem, szlak feromonowy wyparowuje, redukując w ten sposób swoją atrakcyjność. każda mrówka k przenosi się z jednego stanu i do innego stanu j zgodnie z regułą prawdopodobieństwa przejścia p j :

Reprezentacja problemu optymalizacyjny w algorytmie Szlak feromonowy τ j jest przydatne informacją, zostawioną przez inne mrówki, mówi o wykorzystaniu obiektu j w przeszłości. Atrakcyjność µ j jest to pragnienie, aby wybrać obiekt j od sąsiedztwa N i obecnego stanu. Atrakcyjność µ j umożliwia lepszy wybór obiektu ze wszystkich dostępnych obiektów które tworzą sąsiedztwa N i obecnego stanu, a które mogą być dodawane do rozwiązania które jest konstruowane. Sąsiedztwo N i stanu i składa się z przedmiotów, które mogą być dodawane do skonstruowania częściowego rozwiązania.

Rysunek: ACO dla problemu plecakowego

Reprezentacja problemu optymalizacyjny w algorytmie Na początku pracy mrówek, wszystkie obiekty mogą być dodawane do częściowego rozwiązania danego problemu Liczba tych obiektów jest zmniejszona następnie nie tylko ze względu na ich włączenie do częściowego rozwiązania S, ale także dlatego, że niektóre z tych obiektów nie może być dodany do rozwiązania, który jest w trakcie konstrukcji, ponieważ te obiekty już nie spełniają wymagań rozwiązania. Tylko te obiekty, które nadal spełniają wymagania rozwiązania można dodać do skonstruowanego częściowego rozwiązania.

Rysunek: Parametry α i β, które są wykorzystywane w regule prawdopodobieństwa ρ j przejścia wyrażonej wzorem, wskazują, jak ważny szlak feromony τ j i atrakcyjność µ j są w trakcie przejścia z jednego stanu do drugiego.

Po znaleziono rozwiązania, każda mrówka zostawia część ilość τ feromonów na wszystkich obiektach, które stanowią rozwiązania S, zgodnie z wzorem: τ = τ + τ Ilość zostawionego feromonami τ jest wyrażony jako: τ = 1 1 + z best z z best Zatem te przedmioty, które były zawarte w rozwiązaniu otrzymały dodatkową ilość feromonów i mogą być wybrane następnie z większym prawdopodobieństwem niż inne przedmioty.

Mechanizm odparowania jest włączona do algorytmów mrówek, aby uniknąć zbyt szybkiego zbieżność do rozwiązania suboptymalnego. Intensywność parowania jest regulowane przez parametr ρ. Ilość feromonów dla każdego obiektu jest uaktualniany na końcu każdego cyklu, zgodnie z wzorem: τ = ρτ, ρ (0, 1]

Trzy mrówkowy były realizowane dla atrakcyjności. AKA 1 µ = z j w j V j AKA 2 AKA 3 µ = z j w j 2 µ = z j w j C

Warunki początkowe ilość cykli - 100, 200, 300, 400, 500, 600 ilość obiektów 300 ilość mrówek 120 współczynnik wyparowania 0.95 wagi rand(1 100) zysk rand(1 10)

Rysunek: Obserwacje: Największe zyski otrzymano gdy zastosowana AKA2

Rysunek: Drugi eksperyment: zysk a ilość mrówek, cykle = 500 Obserwacje: Gdy ilość mrówek większa niż 60 to brak zasadniczych zmian w AKA2

Rysunek: Trzeci eksperyment: zysk a ilość mrówek, cykle = 300 Obserwacje: najlepszy wynik dla AKA2 ilość mrówek do 60 najlepszym wynikiem

Rysunek: Czwarty eksperyment: Zależność zysku od wyparowywania feromonów Obserwacje: AKA2 największe zyski, współczynnik dobierać z zakresu od 0.93 do 0.98

y pokazały że jeżeli zastosujemy algorytm AKA2 to znajdziemy rozwiązanie z większym zyskiem niż w AKA1 i AKA3. Do tego znajdowania rozwiązania jest szybsze, w pierwszym eksperymencie AKA2 znalazło największy zysk w 200 cyklu a AKA1 i AKA3 dopiero w 600.