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

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

Algorytmy mrówkowe wprowadzenie.

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

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.

Algorytmy mrówkowe (ang. Ant Colony Optimization)

Obliczenia inspirowane Naturą

Obliczenia Naturalne - Algorytmy Mrówkowe

Wykład 4. Droga i cykl Eulera i Hamiltona

Algorytmy metaheurystyczne Wykład 6. Piotr Syga

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

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

Techniki optymalizacji

Problem Komiwojażera - algorytmy metaheurystyczne

Obliczenia z wykorzystaniem sztucznej inteligencji

Obliczenia z wykorzystaniem sztucznej inteligencji

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

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

Algorytmy mrówkowe w dynamicznych problemach transportowych

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

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

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

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

Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4

Planowanie drogi robota, algorytm A*

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Algorytm grawitacyjnych poszukiwań (Gravitational Search Algorithm - GSA)

Programowanie Współbieżne. Algorytmy

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

Optymalizacja. Wybrane algorytmy

Heurystyki i metaheurystyki

Znajdowanie wyjścia z labiryntu

Zaawansowane programowanie

Porównanie algorytmu mrówkowego oraz programowania dynamicznego do wyznaczania bezpiecznej trajektorii statku

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

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

Strategie ewolucyjne (ang. evolu4on strategies)

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

Systemy wieloagentowe (Multi Agent Systems - MAS) aspekty wybrane

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

HARMONOGRAMOWANIE Z OGRANICZENIAMI PROJEKTÓW WSPÓŁBIEŻNYCH

Metody Optymalizacji: Przeszukiwanie z listą tabu

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

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

Dobór parametrów algorytmu ewolucyjnego

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

Procesy dynamicznego formowania rzek (River Formation Dynamics, RFD)

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

SZTUCZNA INTELIGENCJA

Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4

Programowanie gier planszowych

Algorytmy metaheurystyczne podsumowanie

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

Heurystyczne metody przeszukiwania

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

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

PSO Rój cząsteczek - Particle Swarm Optimization. Michał Szopiak

ALHE. prof. Jarosław Arabas semestr 15Z

Algorytmiczna teoria grafów Przepływy w sieciach.

Bezgradientowe metody optymalizacji funkcji wielu zmiennych. informacje dodatkowe

Teoria i metody optymalizacji

Analiza stanów gry na potrzeby UCT w DVRP

Nowa implementacja algorytmu mrówkowego wykorzystująca technologię przetwarzania wieloprocesorowego i rozproszonego w systemie nawigacji

Matematyczne Podstawy Informatyki

Symulacje geometrycznych sieci neuronowych w środowisku rozproszonym

Wybrane podstawowe rodzaje algorytmów

Algorytmy i struktury danych. Wykład 6 Tablice rozproszone cz. 2

Title: Algorytmy metaheurystyczne w kryptoanalizie szyfrów strumieniowych

PODEJMOWANIE DECYZJI W WARUNKACH NIEPEŁNEJ INFORMACJI

Weryfikacja hipotez statystycznych. KG (CC) Statystyka 26 V / 1

Techniki optymalizacji

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

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

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

II. Optymalizacja globalna. Metody optymalizacji. dr inŝ. Ewa Szlachcic

ĆWICZENIE 1: Przeszukiwanie grafów strategie heurystyczne

Inteligencja stadna: od mrówek do cząsteczek

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

Różne reprezentacje mapy feromonowej w problemie plecakowym

Optymalizacja ciągła

Grafy Alberta-Barabasiego

Systemy wieloagentowe (Multi Agent Systems - MAS) aspekty wybrane

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

Rozwiązywanie problemów metodą przeszukiwania

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

Metody systemowe i decyzyjne w informatyce

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}

Algorytmy wyznaczania centralności w sieci Szymon Szylko

Digraf. 13 maja 2017

Planowanie przedsięwzięć

RÓWNANIA NIELINIOWE Maciej Patan

Grupowanie Witold Andrzejewski, Politechnika Poznańska, Wydział Informatyki 201/633

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

PRACA DYPLOMOWA MAGISTERSKA

Temat: Problem najkrótszych cieek w grafach waonych, cz. I: Algorytmy typu label - setting.

CMAES. Zapis algorytmu. Generacja populacji oraz selekcja Populacja q i (t) w kroku t generowana jest w następujący sposób:

Optymalizacja ciągła

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

Prawdopodobieństwo i statystyka

Transkrypt:

Systemy mrówkowe Opracowali: Dawid Strucker, Konrad Baranowski

Wprowadzenie Algorytmy mrówkowe oparte są o zasadę inteligencji roju (ang. swarm intelligence). Służą głównie do znajdowania najkrótszej drogi w grafie, jednak nie gwarantują one znalezienia optymalnego rozwiązania. Dlatego znajdują one zastosowanie gdy wystarczające jest rozwiązanie prawie optymalne. Nie trudno domyślić się że algorytmy mrówkowe naśladują pewne zachowania mrówek.

Jak mrówki znajdują pożywienie? Żeby coś naśladować najpierw musimy wiedzieć jak to coś działa :)

Jak mrówki znajdują pożywienie? - mrówka porusza się dość losowo, dopóki nie natrafi na ślad feromonowy, im mocniejszy tym chętniej uczęszczany - mrówki chętniej chodzą po mocnym śladzie - po pewnym czasie feromony wyparowują eliminując dłuższe ścieżki - gdy mrówka znajdzie jedzenie potrafi z nim wrócić po własnych śladach Wniosek? Gdy jakaś mrówka odnajdzie krótką drogę to inne mrówki będą podążać właśnie tą ścieżką zostawiając własna feromony i zwiększając ich natężenie. Gorsze(dłuższe) drogi zostaną zapomniane.

Algorytm Z poprzedniego slajdu łatwo wywnioskować że mrówki nie szukają rozwiązania najlepszego a zadowala je jedynie rozsądne. My jednak potrzebujemy większego rozproszenia mrówek aby można było znaleźć optimum nawet w znacznej odległości od obecnej najlepszej ścieżki. program AlgorytmMrówkowy while (nie nastąpił warunek końca) koniec generujrozwiązania(); zaktualizujścieżkiferomonów(); end while Na kolejnych śladach szczegółowo opisane będą kolejne kroki.

generujrozwiązania() W tym miejscu algorytm naśladuje rozchodzenie się mrówek. Przy każdej iteracji generowane jest pełne rozwiązanie czyli od punktu startowego do celu. W tym przypadku od 1 do 4. Mrówka ląduje w węźle 1. Musi zdecydować w którą uda się stronę. Na podstawie lokalnej budowy grafu oraz ilości feromonu przypisuję się wartość prawdopodobieństwa przejścia mrówki do danego stanu. Mrówka Czynność nie musi wybrać stanu o wyższym prawdopodobieństwie. powtarzamy aż znajdziemy się w węźle docelowym.

GenerujRozwiązania() cz2 Prawdopodobieństwa przejścia k-tej mrówki z węzła i do węzła j k p i,j ={ (τ ij ) α (σ ij ) β ((τ ih ) α (σ ih ) β ),jeślij tabu k h tabu k 0, w przeciwnym przypadku gdzie: τ ij to ilość feromonu ze stanu i do stanu j σ ij to funkcja określająca atrakcyjność przejscia z i do j α,β to współczynniki istotności tabu k to zbiór odwiedzonych przez mrówkę węzłów

ZaktualizujŚcieżkiFeromonów() W tej fazie każda mrówka zostawia feromon na przebytej ścieżce podobnie jak postępują prawdziwe mrówki, z kilkoma zmianami: - mrówka zostawia feromon dopiero gdy odnajdzie rozwiązanie, a nie w trakcie podróży - w zależności od długości przebytej ścieżki mrówka zostawia różną ilość feromonu Reguła aktualizacji feromonu ρ współczynnik wyparowywania feromonu k τ i,j k k :=(1 ρ)τ i,j +Δτ i,j k Δτ i,j ={ Q L k jeśliwęzełknależydorozwiązaniazwiązanegozmrówkąk 0, w przeciwnym wypadku Q to pewna dobrana stała (parametr procedury) L k to koszt rozwiązania związanego z mrówką k (czyli jak dobre było jej rozwiązanie, np. długość ścieżki, im krótsza tym więcej feromonu zostanie dodane

Warunek końcowy Gdy zostanie osiągniety kończymy szukać rozwiązania i aktualizować feromony. Dobierany jest do konkretnego przypadku. Określona Jeżeli Możliwości: ilość iteracji przez następne x iteracji wartość najlepszego rozwiązania nie poprawi się to zakończ

Problem N-Hetmanów

Oczywistości Warunek Fitness Heurystyka 4,426,165,368 Jednak końcowy to znalezienie rozwiązania lub przekroczonie liczby iteracji Value to liczba poprawnie ustawiona liczba hetmanów to liczba kolizji pomiędzy hetmanami traktowana jako długość ścieżki możliwych ustawień hetmanów jedynie 92 możliwości są poprawne

Szachownica to graf

Mrówki chodzą po szachownicy

Stałe algorytmu ρ to liczba z przedziału <0,1> Marco Dorigo proponuje 0.5 a czyli jak bardzo atrakcyjne ścieżki będą wybierane β czyli jak mocno feromony wpływają na drogę mrówek Swarm size czyli jak dużo mrówek chodzi w każdej iteracji

University Of Computer and Emerging Science Islamabad

Rozwiązania

Liczba mrówek ma znaczenie?

Parametr beta

Parametr alfa

Optymalne wartości Liczba mrówek 15 a równe 1 jeśli β 1.5 a równe 1.5 jeśli β równe 1

Bibliografia [2] [3] [4] [5] [6] [1] http://www.ioz.pwr.wroc.pl/pracownicy/kuchta/referat.pdf Ant Colony Optimization: A New Meta-Heuristic Marco Dorigo, Gianni Di Caro Universite Libre de Bruxelles http://dinoanimals.pl/zwierzeta/mrowki-formicidae-symbol-pracowitosci/ http://babskiswiat.net/topic/312-%c5%9bmieszne-zwierzaki/ http://smak.pl/przepisy/filety-z-kurczaka-nadziewane-sliwkami Solution of n-queen Problem Using ACO Salabat Khan, Mohsin Bilal, M. Sharif, Malik Sajid, Rauf Baig National University Of Computer and Emerging Science Islamabad, Pakistan