Obliczenia z wykorzystaniem sztucznej inteligencji

Podobne dokumenty
Obliczenia z wykorzystaniem sztucznej inteligencji

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

Obliczenia inspirowane Naturą

Techniki optymalizacji

Algorytmy metaheurystyczne Wykład 6. Piotr Syga

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

Algorytmy mrówkowe (ang. Ant Colony Optimization)

Obliczenia Naturalne - Algorytmy Mrówkowe

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

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

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

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

Wykład 4. Droga i cykl Eulera i Hamiltona

Problem Komiwojażera - algorytmy metaheurystyczne

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

Algorytmy mrówkowe wprowadzenie.

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

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

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Optymalizacja. Wybrane algorytmy

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

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

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP

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

Mrówka Pachycondyla apicalis

Metody Programowania

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Optymalizacja. Przeszukiwanie lokalne

Algorytmy mrówkowe w dynamicznych problemach transportowych

Techniki optymalizacji

Metody przeszukiwania

Metody Rozmyte i Algorytmy Ewolucyjne

Zadania laboratoryjne i projektowe - wersja β

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

Planowanie drogi robota, algorytm A*

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

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

Znajdowanie wyjścia z labiryntu

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

Algorytmy metaheurystyczne podsumowanie

Przegląd metod optymalizacji wielowymiarowej. Funkcja testowa. Funkcja testowa. Notes. Notes. Notes. Notes. Tomasz M. Gwizdałła

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

Wybrane podstawowe rodzaje algorytmów

Algorytmy genetyczne

Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4

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

Techniki optymalizacji

Algorytm genetyczny (genetic algorithm)-

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

8. Neuron z ciągłą funkcją aktywacji.

Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4

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

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

Algorytmy genetyczne

Metody Optymalizacji: Przeszukiwanie z listą tabu

Strefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek

Optymalizacja. Przeszukiwanie tabu

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

SZTUCZNA INTELIGENCJA

Wstęp do Sztucznej Inteligencji

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}

Spacery losowe generowanie realizacji procesu losowego

Strategie ewolucyjne (ang. evolu4on strategies)

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

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

Heurystyki. Strategie poszukiwań

SZTUCZNA INTELIGENCJA

Heurystyki i metaheurystyki

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych

Algorytmy sztucznej inteligencji

Rój cząsteczek. Particle Swarm Optimization. Adam Grycner. 18 maja Instytut Informatyki Uniwersytetu Wrocławskiego

Sztuczna Inteligencja Projekt

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

Programowanie Współbieżne. Algorytmy

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

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

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013

Schemat programowania dynamicznego (ang. dynamic programming)

Podstawy Sztucznej Inteligencji (PSZT)

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

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

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Optymalizacja ciągła

Programowanie sieciowe. Tadeusz Trzaskalik

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

1 Wprowadzenie do algorytmiki

Algorytmy dla maszyny PRAM

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Testy De Jonga. Problemy. 1 Optymalizacja dyskretna i ciągła

Techniki optymalizacji

Problem 1 [Sieć telekomunikacyjna routing]

Dobór parametrów algorytmu ewolucyjnego

Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga;

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

Heurystyczne metody przeszukiwania

Algorytm. Krótka historia algorytmów

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

Transkrypt:

Obliczenia z wykorzystaniem sztucznej inteligencji wykład III Systemy mrówkowe Joanna Kołodziejczyk marzec 2016 Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 1 / 38

Inspiracje biologiczne Plan wykładu 1 Inspiracje biologiczne Informacje ogólne Naturalna optymalizacja 2 Artificial Ants 3 Podsumowanie 4 Literatura Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 2 / 38

Inspiracje biologiczne Informacje ogólne Biologia Owady społeczne z rodziny Formicidae. Należą do rzędu błonkoskrzydłych. 22000 gatunków Żyją w koloniach o liczności od kilkuset do miliona osobników. Duże kolonie składają się głównie z robotnic, wojowników (bezpłodnych), trutni oraz płodnych osobników żeńskich nazywanych królową. Nazywane superorganizmem, gdyż tylko współpraca daje pełną funkcjonalność całej kolonii. W społeczności mrówek istnieje podział pracy. Wykazują się umiejętnością komunikacja między osobnikami i zdolnością do rozwiązywania złożonych problemów. Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 3 / 38

Inspiracje biologiczne Informacje ogólne Biologia Feromon Jest to wydzielany lub wydalany czynnik chemiczny, który wywołuje reakcje społeczne na osobniki tego samego gatunku. Istnieją feromony alarmowe, feromony szlaków żywności, feromony seksualne i wiele innych, które wpływają na zachowanie lub fizjologię jednostki odbierającej sygnał. Znaczenie ścieżki Mrówki znaczą ścieżki do pożywienia lotnymi węglowodorami. Niektóre mrówki znaczą wstępny szlak feromonowy oznaczając jak wrócić do gniazda z pokarmem. Ta trasa przyciąga inne mrówki i służy jako przewodnik. Tak długo, jak długo istnieje źródło pożywienia, ślad feromonowy będzie stale odnawiany. Feromon musi być stale kładziony, gdyż szybko odparowuje. Gdy pokarm się kończy, to i szlak się kończy. U wielu gatunków mrówek, szlaki, które już nie prowadzą do żywności są również oznaczone feromonem odstraszaczem. Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 4 / 38

Inspiracje biologiczne Naturalna optymalizacja Jak mrówki optymalizują drogę? Mrówki potrafią określić stężenie feromonu na ścieżce. Bardziej atrakcyjna jest ścieżka z dużą ilością feromonu. Krótsze ścieżki będą intensywniej oznaczone. Przez to są lepiej utrwalane. Mrówki korzystając ze zbiorowej inteligencji zawsze wyznaczają trasę do pożywienia będącą prostą. Feromon przekazuje informację pomiędzy jednostkami przez sieć. Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 5 / 38

Inspiracje biologiczne Naturalna optymalizacja Przykład - start Stan początkowy Brak informacji o położeniu pożywienia w środowisku. Rozwiązanie ludzkie Przeczesać teren w poszukiwaniu jedzenia wysyłając zwiad. Po znalezieniu pożywienia poinformowanie innych o tym fakcie i przekazanie informacji o jego położeniu. Rozwiązanie mrówcze Mrówki wychodzą z mrowiska i chodzą po losowych ścieżkach. Aby wrócić do domu każda mrówka zostawia ślad feromonowy. Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 6 / 38

Inspiracje biologiczne Naturalna optymalizacja Przykład - powrót do mrowiska Znaleziono pokarm Celem jest powrót do mrowiska. Mrówka śledzi ślad feromonowy, czyli podąża pozostawionym przez siebie śladem. Idąc tą samą drogą znów mrówka znaczy ścieżkę feromonem. Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 7 / 38

Inspiracje biologiczne Naturalna optymalizacja Inne mrówki A Mrówka wróciła do domu i ponownie idzie do pokarmu własną ścieżką, gdyż leży na niej podwójny ślad feromonowy. B Dotarła do tego samego źródła pokarmu własną ścieżką i nią wróci. C Znalazła szlak feromonowy pozostawiony przez mrówkę D i nim podąża. D Znalazła podwójny szlak feromonowy pozostawiony przez mrówkę A i nim podąża. Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 8 / 38

Inspiracje biologiczne Naturalna optymalizacja Podążanie szlakiem feromonowym Jeżeli mrówka wraca do mrowiska bez jedzenia, to znów po nie wyrusza wykorzystując ślady feromonowe. A Niesie do mrowiska pokarm. B Niesie do mrowiska pokarm, na swojej drodze nie spotka innych mrówek. C Podąża do mrowiska bez pokarmu. D Podąża do mrowiska bez pokarmu. Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 9 / 38

Inspiracje biologiczne Naturalna optymalizacja Najkrótsza droga do pokarmu 1 Mrówka śledzi drogę o największym stężeniu feromonu. 2 Krótsze trasy są znaczone szybciej kończone. 3 Na przykład, jeśli mrówka X porusza się po drodze 10-metrowej wielokrotnie, a mrówka Y porusza się po innej 20-metrowej drodze, to mrówka X przemierzy swoją trasę dwukrotnie, gdy Y zrobi to jednokrotnie. 4 X pozostawi na swojej ścieżce dwa razy więcej feromonu. Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 10 / 38

Inspiracje biologiczne Naturalna optymalizacja Jeszcze jeden przykład Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 11 / 38

Inspiracje biologiczne Naturalna optymalizacja Jeszcze jeden przykład Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 11 / 38

Inspiracje biologiczne Naturalna optymalizacja Jeszcze jeden przykład Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 11 / 38

Inspiracje biologiczne Naturalna optymalizacja Jeszcze jeden przykład Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 11 / 38

Inspiracje biologiczne Naturalna optymalizacja Reguły postępowania Warunki Nie niesie pokarmu i nie jest na szlaku feromonowym Nie niesie pokarmu i jest na szlaku feromonowym Osiągnięcie mrowiska bez pokarmu po szlaku feromonowym Dotarcie do pokarmu Niesie pokarm Przyniesienie pokarmu do mrowiska Akcja poruszaj się losowo i znacz feromon idź po szlaku i znacz feromon odwróć się i wejdź na szlak w odwrotnym kierunku weź pokarm, odwróć się i wejdź na szlak w odwrotnym kierunku idź po szlaku i znacz feromon zostaw pokarm, odwróć się i wejdź na szlak w odwrotnym kierunku Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 12 / 38

Plan wykładu 1 Inspiracje biologiczne 2 Artificial Ants Historia ACO meta-heuristic Przykład rozwiązania problemu TSP 3 Podsumowanie 4 Literatura Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 13 / 38

Historia Jak powstawały algorytmy mrówkowe 1 AS Ant System (Marco Dorigo 1991) do rozwiązywania problemów kombinatorycznych; 2 ACS Ant Colony System (Dorigo, Gambardella, 1997) modyfikacja AS 3 MAX MIN Ant System (Stutzle, Hoos, 1998) modyfikacja AS 4 AS rank (Bullnheimer, 1997) modyfikacja AS 5 ACO Ant Colony Optimization Metaheuristic (Dorigo 2002) uogólnienie wariantów AS, przeznaczone do optymalizacji problemów dyskretnych. Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 14 / 38

Historia Jak powstawały algorytmy mrówkowe http://en.wikipedia.org/wiki/ant_colony_optimization Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 15 / 38

ACO meta-heuristic Dyskretny problem optymalizacyjny definicja C = {c 1, c 2,..., c NC }: skończony zbiór składników. L = {l ci c j (c i, c j ) C), L NC 2 } Skończony zbiór możliwych połączeń/przejść pomiędzy elementami C, gdzie C jest pozdbiorem produktu kartezjańskiego C C. J ci c j J(l ci c j, t) jest kosztem połączenia, funkcją związaną z każdym l ci c j L i prawdopodobnie związaną z czasem t. Ω Ω(C, L, t) zbiór ograniczeń powiązany z elementami C i L s =< c i, c j,..., c k, > jest ciągiem elementów z C (lub równoważnie z L). s jest nazywane stanem problemu. Jeżeli S to zbiór wszystkich możliwych sekwencji, to S jest podzbiorem wszystkich możliwych stanów z uwzględnieniem ograniczeń Ω na zbiorze S. s to długość stanu i jest równa liczbie składników w ciągu s. Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 16 / 38

ACO meta-heuristic Dyskretny problem optymalizacyjny definicja cd. Dla danych dwóch stanów s 1 i s 2 sąsiednia struktura definiuje się gdy stan s 2 jest sąsiadem s 1 i oba stany są z S i stan s 2 może być osiągnięty przez wykonanie jednego logicznego kroku. Sąsiedztwo oznaczono jako N s. ψ oznacza rozwiązanie ze zbioru elementów S. J ψ (L, t) jest kosztem przypisanym każdemu rozwiązaniu ψ. Jest funkcją wszystkich kosztów J ci c j, czyli wszystkich połączeń rozwiązania ψ. Rozważmy graf G = (C, L) powiązany z zadaniem optymalizacji dyskretnej. Rozwiązanie problemu optymalizacyjnego może być wyrażone jako dozwolona ścieżka w grafie G. ACO ma znaleźć ścieżkę o minimalnym koszcie. W TSP C to zbiór miast, L zbiór dróg pomiędzy miastami, a ψ jest cyklem Hamiltona. Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 17 / 38

ACO meta-heuristic Jak działa ACO Stosuje populację mrówek, które działając w kooperacji rozwiążą problem optymalizacyjny używając zdefiniowanej wcześniej notacji grafu. Informacja zbierana przez mrówki podczas procesu przeszukiwania jest przechowana w śladzie feromonowym τ ij dla połączenia l ij l ci c j. Ślad feromonowy koduje pamięć długotrwałą o całym procesie przeszukiwania wykonanym przez mrówkę. Ścieżka feromonowa może dotyczyć wszystkich łuków lub tylko wybranych. Łuki maj przypisaną też wartość heurystyczną η ij reprezentując wiedzę a priori o problemie lub czasie wykonania pochodzącym z innego źródła niż mrówki. Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 18 / 38

ACO meta-heuristic Cechy mrówki Mrówka poszukuje rozwiązania o najniższym koszcie ˇ J ψ = min ψ J ψ (L, t) Mrówka k ma pamięć M K, by przechowywać informacje o ścieżkach, które dotychczas przeszła. Pamięć ta wykorzystywana jest do budowania dopuszczalnych rozwiązań, oceny znalezionego rozwiązania i by wrócić ścieżką. Mrówka k w stanie s r =< s r 1, i > może iść do dowolnego węzła j w jego dopuszczalnym sąsiedztwie Ni k = {j (j N i ) (< s r, j > S)}. Do mrówki k może być przypisany stan początkowy ss K i jeden lub więcej warunków zakończenia e k. Stan początkowy jest najczęściej pojedynczym składnikiem. Mrówka porusza się od stanu początkowego do możliwych stanów i przyrostowo buduje rozwiązanie. Poszukiwanie zostaje zakończone, gdy co najmniej jedna mrówka spełni co najmniej jeden warunek zakończenia. Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 19 / 38

ACO meta-heuristic Cechy mrówki cd. Mrówka k będąc w węźle i może przesunąć się do węzła j wybranego z N k i. Ruch jest wybierany na podstawie pewnych probabilistycznych reguł decyzyjnych. Probabilistyczna decyzja mrówki jest funkcją: wartości przechowywanych w strukturze A i = [a ij ] nazywaną ant-routing table otrzymaną jako złożenie wartości heurystycznej i śladu feromonowego lokalnego węzła. prywatnej pamięci mrówki ograniczeń zadania. Przesuwając się z węzła i do j mrówka może odświeżyć ślad feromonowy τ ij na łuku (i, j). Ten krok nazywa się online step-by-step pheromone update Kiedy mrówka zbuduje rozwiązanie, na przemierzonym szlaku wstecznie odświeża ślad feromonowy. Ten krok nazywa się online delayed pheromone update. Potem mrówka umiera. Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 20 / 38

ACO meta-heuristic Działanie kolonii Aby znaleźć zadowalające wyniki mrówki muszą ze sobą współpracować. Każda mrówka korzysta tylko ze swojej prywatnej informacji i lokalnej informacji dotyczącej odwiedzanego węzła. Komunikacja między mrówkami nie jest bezpośrednia i odbywa się przez pisanie/czytanie zmiennych przechowujących wartości feromonów. Mrówki adaptacyjnie modyfikują sposób, w jaki inne mrówki reprezentują i odbierają problem. Ale same nie podlegają adaptacji. Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 21 / 38

ACO meta-heuristic Procedura odparowywania feromonu Parowanie feromonu Jest to proces w wyniku którego intensywność śladu feromonowego w połączeniach automatycznie ulega zmniejszeniu z czasem. Feromon jest to sposób na zabezpieczenie przedwczesnej zbieżności algorytmu do rozwiązań suboptymalnych. Implementuje pewien sposób zapominania mobilizujący do eksploracji przestrzeni problemu, które nie były jeszcze odwiedzane. Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 22 / 38

ACO meta-heuristic Deamon actions Jest wykorzystywany opcjonalnie. Stosuje się do wykonywania scentralizowanych akcji, które nie mogę być wykonane przez pojedynczą mrówkę. Przykłady: Aktywacja lokalnej metody optymalizacji. 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. Demon może obserwować ścieżkę odnalezioną przez każdą mrówkę i wybrać zwiększenie śladu feromonowego na łukach w najkrótszej ścieżce (off-line pheromone updates). Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 23 / 38

ACO meta-heuristic ACO meta-heuristic ACO Meta-heurisitc() Wykonuj dopóki nie spełnione są warunki zakończenia (max iteracji lub CPU time). Rozpocznij schedule activities 1 ants generation and activity 2 pheromone evaporation 3 deamon actions {Opcjonalnie} Zakończ procedurę schedule activities Przed uruchomieniem wykonuje się krok ustawiający wartości parametrów i inicjalizujący ślady feromonowe. Dodatkowo nie ma mowy o sposobie synchronizacji pomiędzy tymi krokami. Pozostaje to w gestii projektanta systemu. Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 24 / 38

ACO meta-heuristic Procedura ants generation and activity ants generation and activity Wykonuj dopóki masz zasoby 1 schedule the creation of a new ant 2 new active ant Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 25 / 38

ACO meta-heuristic Procedura new active ant ant lifecycle 1 initialize ant 2 M = update ant memory() 3 while (current state target state) 1 A = read local ant-routing table() 2 P = compute transition probabilities (A, M, Ω) 3 next state = apply ant decision policy (P, Ω) 4 move to next state(next state) 5 if (online step-by-step pheromone update) 1 deposit pheromone on the visited arc() 2 update ant-routing table() 6 M= update internal state() 4 if (online delayed pheromone update) foreach visited arc ψ do 5 die() 1 deposit pheromone on the visited arc() 2 update ant-routing table() Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 26 / 38

Przykład rozwiązania problemu TSP Rozwiązanie TSP procedurą AS Ant System działanie 1 m mrówek jest w m miastach. Dla każdej mrówki stan początkowy (miasto początkowe) jest wybierane losowo. 2 Pamięć M k każdej k-tej mrówki jest wypełniana stanem bieżącym dodanym do listy już odwiedzonych miast (na początku lista pusta). 3 Następnie mrówki wchodzą w cykl (pętla while na poprzednim rysunku), który trwa N C iteracji, czyli tyle, by każda mrówka przeszła całą trasę. 4 W każdym kroku mrówka będąca w węźle i-tym rozważa możliwe stany sąsiednie czytając elementy tablicy A i węzła i, oblicza prawdopodobieństwo przejścia do tego stanu i stosuje regułę decyzyjną, by wybrać kolejne miasto, przejść do niego i odświeżyć zawartość pamięci. 5 W procedurze AS nie ma online step-by-step pheromone update Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 27 / 38

Przykład rozwiązania problemu TSP Rozwiązanie TSP procedurą AS - cd. 6 Kiedy mrówki przejdą trasę (równolegle), użyją pamięci by ocenić zbudowane rozwiązanie i przejść ją wstecz i zwiększyć na niej ilość feromonu τ ij na odwiedzonych łukach l ij. To będzie miało efekt na decyzję przyszłych mrówek. Potem mrówka umiera zwalniając zaalokowane zasoby. 7 W AS wszystkie mrówki zostawiają ślad feromonowy i nie stosuje się lokalnej optymalizacji. 8 Ilość feromonu na połączeniu τ ij reprezentuje wyuczoną potrzebę przejścia do miasta j jeżeli mrówka jest w mieście i (mrówka chce włączyć łuk l ij do swojej ścieżki). Informacja feromonowa zmienia się odwzorowuje dotychczasowe doświadczenie pozyskiwane przez mrówki podczas rozwiązywania problemu. Ilość feromonu jest proporcjonalna do jakości rozwiązania ψ. Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 28 / 38

Przykład rozwiązania problemu TSP Rozwiązanie TSP procedurą AS pamięć mrówki M k Pamięć nazywana jest też wewnętrznym stanem mrówki i zawiera już odwiedzone miasta. Pamięć jest używana, by zdefiniować dla każdej mrówki będącej w mieście i zbiór miast, które jeszcze musi odwiedzić. Przez przeglądanie M k mrówka może wybierać dozwolone stany kolejne. Na podstawie pamięci mrówka może obliczyć całkowity koszt pokonanej drogi i obliczyć ile feromonu odłożyć na jej odcinkach. Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 29 / 38

Przykład rozwiązania problemu TSP Rozwiązanie TSP procedurą AS ant-routing table A i A i = [a ij (t)] dla węzła i, gdzie N i jest zbiorem wszystkich sąsiednich węzłów dla i, jest otrzymywana na podstawie następującej funkcji wynikającej z rozkładu feromonu τ ij (t) i wartości heurystycznej η ij : a ij = [τ ij (t)] α [η ij ] β l N i [τ il (t)] α [η il ] β j N i α i β to parametry sterujące dla feromonu i wartości heurystycznej. Jeżeli α = 0, to wybierane będzie najbliższe miasto (greedy algorithm). Jeżeli β = 0, to tylko feromon struje strategią, co prowadzi do przedwczesnej zbieżności i stagnacji. Sprawdzony zestaw to: α = 1, β = 5 Wartość heurystyczna użyta dla TSP to: η ij = 1/J ci c j, czyli odwrotność odległości pomiędzy miastami i i j. Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 30 / 38

Przykład rozwiązania problemu TSP Rozwiązanie TSP procedurą AS reguły decyzyjne Prawdopodobieństwo pij k (t), że k-ta mrówka w iteracji t wybierze przejście z miasta i do miast j wyznacza się jako: N k i p k ij (t) = a ij (t) a il (t) l N k i jest dopuszczalnym sąsiedztwem węzła i dla mrówki k (zbiorem nie odwiedzonych jeszcze miast) wyznaczonego na podstawie pamięci mrówki. Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 31 / 38

Przykład rozwiązania problemu TSP Rozwiązanie TSP procedurą AS ślad feromonowy Każda mrówka po zbudowaniu trasy pozostawia pewien ślad feromonowy τ k (t) = 1/J K ψ (t) na każdym połączeniu l ij swojej trasy o długości J K ψ (t): τ ij (t + 1) τ ij (t) + τ k (t), l ij ψ k (t), k = 1,..., m liczba mrówek m jest stała w każdej iteracji i jest ustawiana na m = N C. Zatem τ k (t) jest funkcją jakości mrówki. Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 32 / 38

Przykład rozwiązania problemu TSP Rozwiązanie TSP procedurą AS parowanie feromonu Po uaktualnieniu wszystkich informacji przez mrówki odparowuje się feromon zgodnie z regułą: τ ij (1 ρ)τ ij ρ (0, 1] jest współczynnikiem odparowywania. Sprawdzona wartość ρ = 0.5. Początkowe wartości feromonu τ ij (0) ustawia się na stałe małe dodatnie wartości τ 0 dla wszystkich łuków. Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 33 / 38

Podsumowanie Plan wykładu 1 Inspiracje biologiczne 2 Artificial Ants 3 Podsumowanie 4 Literatura Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 34 / 38

Podsumowanie Zastosowania wiele problemów kombinatorycznych trasowanie w systemach telekomunikacyjnych wszystkie typy zadań harmonogramowania klasyfikacja drążenie danych przetwarzanie obrazów systemu identyfikacji inteligentny system testowania i wiele innych Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 35 / 38

Podsumowanie Zalety i wady W przeciwieństwie do symulowanego wyżarzania czy algorytmów ewolucyjnych nadaje się do rozwiązywania problemów zmiennych w czasie rzeczywistym. Mrówki cały czas mogą adaptować się do nowych warunków środowiska. Trzeba pamiętać, że ACO znajduje najkrótszą ścieżkę w grafie, ale należy ją wykorzystywać tam, gdzie metody deterministyczne zawodzą. Ze względu na możliwość zrównoleglenia jest bardzo efektywnym rozwiązaniem dla środowisk rozproszonych. Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 36 / 38

Literatura Plan wykładu 1 Inspiracje biologiczne 2 Artificial Ants 3 Podsumowanie 4 Literatura Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 37 / 38

Literatura Wykorzystana literatura (do samodzielnego studiowania) Oleg Kovarik Ant Colony Optimization for Continuous Problems. http: // fakegame. sourceforge. net/ lib/ exe/ fetch. php? media= ants-optimalizace. pdf Marco Dorigo Ant Colony Optimization http: // iridia. ulb. ac. be/ ~mdorigo/ ACO/ RealAnts. html MUTE File Sharing How Ants Find Food http: // mute-net. sourceforge. net/ howants. shtml Joanna Kołodziejczyk Obliczenia z wykorzystaniem sztucznej inteligencji marzec 2016 38 / 38