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

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

Algorytmy metaheurystyczne Wykład 6. Piotr Syga

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

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

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

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Algorytmy mrówkowe (ang. Ant Colony Optimization)

Techniki optymalizacji

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP

Obliczenia inspirowane Naturą

Algorytmy mrówkowe w dynamicznych problemach transportowych

Problem Komiwojażera - algorytmy metaheurystyczne

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

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

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

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

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

Programowanie sieciowe. Tadeusz Trzaskalik

Programowanie Współbieżne. Algorytmy

Obliczenia Naturalne - Algorytmy Mrówkowe

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

Heurystyczne metody przeszukiwania

Algorytmy mrówkowe wprowadzenie.

MODELE SIECIOWE 1. Drzewo rozpinające 2. Najkrótsza droga 3. Zagadnienie maksymalnego przepływu źródłem ujściem

Problem skoczka szachowego i inne cykle Hamiltona na szachownicy n x n

TEORETYCZNE PODSTAWY INFORMATYKI

Algorytmy i struktury danych

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

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

ĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe

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

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

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

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

Digraf. 13 maja 2017

Metoda UCT w stochastycznych problemach transportowych

Planowanie drogi robota, algorytm A*

a) 7 b) 19 c) 21 d) 34

Graf. Definicja marca / 1

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

5. Najkrótsze ścieżki

Kolejny krok iteracji polega na tym, że przechodzimy do następnego wierzchołka, znajdującego się na jednej krawędzi z odnalezionym już punktem, w

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Wybrane podstawowe rodzaje algorytmów

Archipelag Sztucznej Inteligencji

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

Algorytm grawitacyjnych poszukiwań (Gravitational Search Algorithm - GSA)

Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH

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

Automatyczne Diagnozy Partii Szachowych nowa funkcja Zestawienie Ruchów.

Obliczenia z wykorzystaniem sztucznej inteligencji

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

PRACA DYPLOMOWA MAGISTERSKA

Tworzenie gier na urządzenia mobilne

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

Tworzenie gier na urządzenia mobilne

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Grafy Alberta-Barabasiego

Pawnographic chess. (Sztuczna inteligencja) Wydzia ł Informatyki i Zarządzania Informatyka. Pozna ń, 25 lutego 2008 r.

G. Wybrane elementy teorii grafów

Twój wynik: 4 punktów na 6 możliwych do uzyskania (66,67 %).

Rozwiązywanie problemów metodą przeszukiwania

Ogólne wiadomości o grafach

Metody przeszukiwania

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

Algorytmy genetyczne

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

ĆWICZENIE 1: Przeszukiwanie grafów strategie heurystyczne

TEORIA GRAFÓW I SIECI

Algorytm obejścia drzewa poszukiwań i zadanie o hetmanach szachowych

RÓWNANIA NIELINIOWE Maciej Patan

Algorytmy wyznaczania centralności w sieci Szymon Szylko

Informatyka w szkole - algorytm Dijkstry dla każdego. Krzysztof Diks Instytut Informatyki, Uniwersytet Warszawski

Zadanie 1. Suma silni (11 pkt)

Matematyczne Podstawy Informatyki

LABORATORIUM 2: Przeszukiwanie grafów cz. 2 strategie heurystyczne

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.

Algorytmy stochastyczne laboratorium 03

Przykład planowania sieci publicznego transportu zbiorowego

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6

Wyznaczanie strategii w grach

OPTYMALIZACJA W LOGISTYCE

Planowanie przedsięwzięć

Przykładowe rozwiązania

Obliczenia z wykorzystaniem sztucznej inteligencji

Wyznaczanie optymalnej trasy problem komiwojażera

7. Teoria drzew - spinanie i przeszukiwanie

Obliczenia iteracyjne

Sprawozdanie do zadania numer 2

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

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

Badania operacyjne egzamin

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Zastosowanie UCT w problemach transportowych ze zmiennym zakorkowaniem ulic

Matematyczne Podstawy Informatyki

Sprzedaż online. Piotr Sankowski Uniwersytet Warszawski Warszawa p. 1/40

Transkrypt:

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

1 2 3 4 Przestrzeń poszukiwań Ograniczenia do algorytmu ACO Parametry inicjalizacji i równania Przydatność rozwiązania Ocena heurystyczna Prawdopodobieństwo wyboru węzła 5 6

Rozwiązanie problemu n-hetmanów za pomocą algorytmu mrówkowego(optymalizacja). Cel algorytmu Celem algorytmu n-hetmanów jest znalezienie takiego ustawienia n hetmanów na szachownicy nxn aby się nie zbijały nawzajem, z założeniem, że hetmani używają standardowych ruchów dla tego pionka w szachach.

Złożoność algorytmu Im większa jest wartość n w problemie n-hetmanów tym jest trudniejszy do rozwiązania. Ilość możliwych ustawień n hetmanów na szachownicy określa wzór: ( ) n 2 n

1 Prosty algorytm ACO będzie użyty do znalezienia najkrótszej drogi między węzłem V s a przeznaczeniem V d w grafie G. G = (V, E) - graf, gdzie: * V - całkowita ilość węzłów * E - całkowita liczba krawędzi w grafie 2 Długość ścieżki jest przedstawiona przez: liczbę węzłów na ścieżce sumę wartości krawędzi, przejścia pomiędzy V i a V j (sztuczne modyfikowane feromony) 3 Wybór następnego węzła. d j,i - dystans między węzłami i a j; S - węzły, które nie zostały odwiedzone p i,j = [τ i,j ] α [η i,j ] β k S [τ i,j] α [η i,j ] β

Wartość heurystyki - 1 d i,j Parametry alfa i beta współczynniki modyfikujące wartość feromonów i heurystyki 4 Modyfikacja wartości na krawędzi dodanej do trasy, np.: [τ i,j ] = [τ i,j ] + Q L Q - pewna stała, L - długość ścieżki 5 Występuje zjawisko ulatniania się feromonów. τ i,j = τ i,j ρ ρ ma wartość pomiędzy 0, a 1

Wierzchołki w przestrzeni zorganizowane są w siatkę n 2 wierszy i n kolumn. Każdy wierzchołek w kolumnie jest połączony ze wszystkimi wierzchołkami następnej kolumny. Etykiety wierzchołków pokazują ich pozycję na szachownicy. Etykieta 1 jest zapisana jako [0, 0] Etykieta 2 jest zapisana jako [0, 1]... Etykieta n 2 (64) jest zapisana jako [n-1, n-1] ([7, 7])

Rysunek : Przestrzeń poszukiwań. V = n 2 * n - całkowita ilość węzłów E = (n 2 * n 2 ) * (n-1) - całkowita liczba krawędzi w grafie

Ograniczenia Ograniczenia dodane do podstawowego ACO: * mrówka może poruszać się tylko od lewej do prawej * po węźle wybranym w konkretnej kolumnie następny może wybrać tylko z kolumny będącej obok bieżącej. * trasa kończy się w ostatniej, n, kolumnie * mrówka odwiedza tylko n węzłów (8 dla 8-hetmanów) * etykieta węzłów w trasie nie może być taka sama

Parametry inicjalizacji Wszystkie krawędzie mają małe wartości feromonów. Wartość feromonu jest modyfikowana na podstawie przydatności rozwiązania. Dowolna liczba mrówek (rozmiar roju).

Przydatność rozwiązania Przydatność rozwiązania jest liczona przez liczbę stanowisk na szachownicy, które spełniają ograniczenia gry tj. hetmani umieszczeni na stanowiskach nie zbijają żadnego innego hetmana. W przypadku problemu 8-hetmanów problem ma możliwy przedział tej wartości 0-8.

Ocena heurystyczna nie jest liczona w oparciu o odległość między dwoma wierzchołkami ale jako liczba bić, jeśli węzeł j jest wybrany jako następny węzeł. p i,j = [τ i,j ] α [η i,j ] β k S [τ i,j] α [η i,j ] β τ i,j - wartość feromonów na krawędzi i,j α, β - parametry wpływające na wartość feromonów i heurystyki η i,j - wartość heurystyki, liczonej jako suma bić S - węzły, które nie zostały odwiedzone

Równanie prawdopodobieństwa wyboru węzła: [τ i,j ] = [τ i,j ] + Q L Q - pewna stała, L - długość ścieżki Wartość alfa i beta jest inicjalizowana losowo, wartość generowana z zakresu 0-2.

Ulatnianie Ulatnianie czyli zmniejszenie wartości feromonów na krawędzi, na wszystkich krawędziach w danej trasie o tę samą stałą. Wykonuje się po zakończeniu pojedynczej iteracji. Iteracja kończy się gdy wszystkie mrówki zakończą trasę. Ulatnianie zakończy się poprzez zmniejszenie wartości na krawędzi o małą stałą.

* Average Fitness Gain - średnio ile nie zostało zbitych, im więcej tym lepiej * Maximum Iterations Allowed - iteracje : Rysunek : Figura 3.

Rysunek : Figura 4. * Average Iterations Taken - średnio ile iteracji zostało wykonanych, przerwane szybciej ze względu na zero bić * Maximum Iterations Allowed - iteracje

Rysunek : Figura 5. * Perfect Convergence - ilość poprawnych rozwiązań w 50 testach * Maximum Iterations Allowed - iteracje

Rysunek : Figura 6. * Averange Fitness Gain - średnio ile nie zostało zbitych, im więcej tym lepiej * Swarm Size - wielość roju, ilość mrówek

Rysunek : Figura 7. * Perfect Convergence - ilość poprawnych rozwiązań w 50 testach * Swarm Size - wielość roju, ilość mrówek

Rysunek : Figura 8. * Averange Fitness Gain - średnio ile nie zostało zbitych, im więcej tym lepiej * Alpha Values - wartość alfa

Rysunek : Figura 9. * Perfect Convergence - ilość poprawnych rozwiązań w 50 testach * Alpha Values - wartość alfa

Rysunek : Figura 10. * Averange Fitness Gain - średnio ile nie zostało zbitych, im więcej tym lepiej * Beta Values - wartość beta

Rysunek : Figura 11. * Perfect Convergence - ilość poprawnych rozwiązań w 50 testach * Beta Values - wartość beta

Rysunek : Figura 12 - Poprawne ustawienie hetmanów na szachownicy.

literatura: Solution of n-queen Problem Using ACO; Slabat Khan, Mohsin Bilal, M. Sharif, Malik Sajid, Rauf Baig