Algorytmy mrówkowe (ang. Ant Colony Optimization)



Podobne dokumenty
Obliczenia Naturalne - Algorytmy Mrówkowe

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

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

Obliczenia inspirowane Naturą

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

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

Wykład 4. Droga i cykl Eulera i Hamiltona

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

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

Techniki optymalizacji

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

Algorytmy metaheurystyczne Wykład 6. Piotr Syga

Problem Komiwojażera - algorytmy metaheurystyczne

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

Algorytmy mrówkowe wprowadzenie.

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

Algorytmy mrówkowe w dynamicznych problemach transportowych

Obliczenia z wykorzystaniem sztucznej inteligencji

Programowanie Współbieżne. Algorytmy

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP

Obliczenia z wykorzystaniem sztucznej inteligencji

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

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

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

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

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4

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

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

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

Wybrane podstawowe rodzaje algorytmów

Algorytmy genetyczne

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

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

Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4

Algorytmika Problemów Trudnych

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Opracowanie prof. J. Domsta 1

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

OPTYMALIZACJA W LOGISTYCE

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

Metody przeszukiwania

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

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

Obliczenia Naturalne - Wstęp

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

TEORIA GRAFÓW I SIECI

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

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

Planowanie drogi robota, algorytm A*

Schemat programowania dynamicznego (ang. dynamic programming)

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

Algorytmiczna teoria grafów

TEORIA GRAFÓW I SIECI

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

ALHE. prof. Jarosław Arabas semestr 15Z

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

Metoda UCT w stochastycznych problemach transportowych

TEORETYCZNE PODSTAWY INFORMATYKI

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}

Wykład 2. Drzewa zbalansowane AVL i 2-3-4

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

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

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

Lista 0. Kamil Matuszewski 1 marca 2016

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

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

Programowanie sieciowe. Tadeusz Trzaskalik

Algorytmy stochastyczne laboratorium 03

Złożoność obliczeniowa klasycznych problemów grafowych

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

Różne reprezentacje mapy feromonowej w problemie plecakowym

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Wyznaczanie optymalnej trasy problem komiwojażera

Kombinatoryczne problemy optymalizacyjne to problemy wyboru najlepszego rozwiązania z pewnego zbioru rozwiązań

Spacery losowe generowanie realizacji procesu losowego

Czy istnieje zamknięta droga spaceru przechodząca przez wszystkie mosty w Królewcu dokładnie jeden raz?

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

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

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

Grafy Alberta-Barabasiego

Obliczenia naturalne Natural Computing. Informatyka II stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny)

Mrówka Pachycondyla apicalis

Matematyka dyskretna

Wstęp do sieci neuronowych, wykład 9 Sieci rekurencyjne. Autoasocjator Hopfielda

Rozdział 8 PROGRAMOWANIE SIECIOWE

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

Digraf. 13 maja 2017

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

Optymalizacja. Wybrane algorytmy

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

Techniki optymalizacji

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

Algorytmy genetyczne dla problemu komiwojażera (ang. traveling salesperson)

ZAGADNIENIE TRANSPORTOWE

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

Drzewa decyzyjne i lasy losowe

Optymalizacja ciągła

Zagadnienie transportowe

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

Transkrypt:

Algorytmy mrówkowe (ang. Ant Colony Optimization) 1. Wprowadzenie do ACO a) mrówki naturalne b) mrówki sztuczne c) literatura (kilka pozycji) 2. ACO i TSP

1. Wprowadzenie do ACO a) mrówki naturalne ślepe, znikome mózgi (faktycznie zwoje: podprzełykowy i nadprzełykowy), który jest zdolny do uczenia się i zapamiętywania, wyśmienity zmysł węchu, wykorzystują zjawisko stygmerii, czyli pośredniej komunikacji poprzez wywoływanie zmian w środowisku i ich odczytywanie. Pytanie 1. Jak to robią?

1. Wprowadzenie do ACO a) mrówki naturalne Przemieszczając się pozostawiają tzw. ślad feromonowy. Feromony stale parują, co pozwala na komunikację (stygmeria) pomiędzy osobnikami. Jednym z elementów tej komunikacji jest (stadne) odkrywanie najkrótszych dróg do pożywienia. Mrówki podejmują decyzje o wyborze drogi na podstawie intensywności zapachu. Pytanie 2. Skąd to wiadomo?

1. Wprowadzenie do ACO a) mrówki naturalne W 1989 roku Deneubourg odkrył i wykazał, że mrówki potrafią odszukać najkrótszą drogę do pożywienia. Posiadają tzw. inteligencję zbiorową (stadną), która oparta jest na wykorzystaniu wspomnianego systemu komunikacji. Deneubourg wykonał eksperyment, w którym połączył mrowisko ze źródłem pożywienia dwoma drogami (mostami). Drogi rozdzielone były pod kątem 30, aby wykluczyć wybór którejś z dróg.

1. Wprowadzenie do ACO a) mrówki naturalne Deneubourg wytłumaczył takie zachowanie za pomocą prostego modelu probabilistycznego. Każda mrówka podejmując decyzję o wyborze trasy dokonuje tego z prawdopodobieństwem zależnym od ilości feromonu znajdującego się na trasach. Podobna sytuacja występuje w przypadku zablokowania trasy przez przeszkodę. 1. Mrówki podążają po wyznaczonej trasie (po najsilniejszym śladzie feromonowym). 2. Ustawienie przeszkody powoduje powstanie dwu tras. 3. Mrówki wybierają (sprawdzają) obie trasy. 4. Idące trasą krótszą szybciej nasycają ją feromonami, czyli wskazują pozostałym krótsza drogę. 5. Z czasem ślad feromonowy na dłuższej trasie zanika (wyparowuje). 6. Pozostaje trasa optymalna. Pytanie 3. Jaki jest zatem sposób (algorytm) działania mrówek?

1. Wprowadzenie do ACO a) mrówki naturalne Mrówki losowo badają obszar (drogi) wokół mrowiska. Odkrywcy najkrótszych tras do pożywienia wracają najszybciej i wzmacniają ślad feromonowy na trasie. Trasy dłuższe lub ślepe zanikają Pytanie 4. Co wynika z tego dla poszukiwania rozwiązań w przestrzeni i rozwiązywania problemów optymalizacyjcnych?

1. Wprowadzenie do ACO b) mrówki sztuczne Mrówki odwiedzają połączone ze sobą punkty w przestrzeni - wierzchołki grafu. Aktualizują ślad feromonowy w dowolnym momencie; również po znalezieniu rozwiązania. Mogą określać (rodzajem feromonu) jakość trasy. Mogą rozpoznawać różnicę w jakości dróg w danym miejscu - węźle grafu. Mogą podejmować decyzje - w oparciu o pewne kryterium - co do wyboru tras o identycznym śladzie feromonowym (jego sile). Mogą posiadać pamięć węzłów odwiedzonych - lista tabu. Pytanie 5. Czy ktoś wykorzystał już to odkrycie do stworzenia czegoś w celu rozwiązywania problemów optymalizacyjnych?

1. Wprowadzenie do ACO c) literatura Pierwszym badaczem, twórcą i popularyzatorem algorytmów optymalizacyjnych opartych o fenomem zbiorowej inteligencji mrówek, był Marco Dorigo [patrz również termin robotyka ławicy]. 1. M. Dorigo, T. Stützle, Ant Colony Optimization. Bradford Company, Scituate. MA, USA, 2004 2. M. Dorigo, Ant Colony System: A Cooperative Learning Approach to the Traveling Salesman Problem. IEEE Transactions on Evolutionary Computation, 1 (1): 53 66 3. A. Colorni, M. Dorigo, Vittorio Maniezzo - Distributed optimization by ant colonies European Conference on Artificial Life, strony 134 142, 1991.

2. ACO i TSP (1) Algorytm mrówkowy dla TSP dopóki kryterium zatrzymania nie wystąpiło powtarzaj 1. wylosuj dla każdej mrówki losowe miasto początkowe 2. na podstawie lokalnej ilości feromonu i pewnej heurystyki wybierz kolejną krawędź 3. po osiągnięciu celu uaktualnij ilość feromonu wg określonych (dla danego algorytmu) zasad

2. ACO i TSP (2) TSP, czyli problem znalezienia minimalnego cyklu Hamiltona w pełnym, ważonym grafie G = (V, E), takiego że po odwiedzeniu wszytskich n miast (wierzchołków grafu G) znalezione zostaje minimum funkcji: f(π) = n 1 d π(i)π(i+1) + d π(n)π(1) i=1 gdzie: π jest permutacją węzłów o indeksach {1, 2,..., n}

2. ACO i TSP (3)(założenia) m mrówek

2. ACO i TSP (3)(założenia) m mrówek dla każdej mrówki losowany jest wierzchołek (miasto) startowe

2. ACO i TSP (3)(założenia) m mrówek dla każdej mrówki losowany jest wierzchołek (miasto) startowe mrówki poruszają się (od wierzchołka startowego) po krawędziach E(i, j) - z miasta i do miasta j.

2. ACO i TSP (3)(założenia) m mrówek dla każdej mrówki losowany jest wierzchołek (miasto) startowe mrówki poruszają się (od wierzchołka startowego) po krawędziach E(i, j) - z miasta i do miasta j. odległość pomiędzy wierzchołkami i i j określana jest odległością euklidesową

2. ACO i TSP (3)(założenia) m mrówek dla każdej mrówki losowany jest wierzchołek (miasto) startowe mrówki poruszają się (od wierzchołka startowego) po krawędziach E(i, j) - z miasta i do miasta j. odległość pomiędzy wierzchołkami i i j określana jest odległością euklidesową ρ ij = (x i x j ) 2 + (y i y j ) 2

2. ACO i TSP (3)(założenia) m mrówek dla każdej mrówki losowany jest wierzchołek (miasto) startowe mrówki poruszają się (od wierzchołka startowego) po krawędziach E(i, j) - z miasta i do miasta j. odległość pomiędzy wierzchołkami i i j określana jest odległością euklidesową ρ ij = (x i x j ) 2 + (y i y j ) 2 zawartość feromonu na krawędzi E(i, j) w chwili t oznaczana jest przez τ ij (t)

2. ACO i TSP (3)(założenia) m mrówek dla każdej mrówki losowany jest wierzchołek (miasto) startowe mrówki poruszają się (od wierzchołka startowego) po krawędziach E(i, j) - z miasta i do miasta j. odległość pomiędzy wierzchołkami i i j określana jest odległością euklidesową ρ ij = (x i x j ) 2 + (y i y j ) 2 zawartość feromonu na krawędzi E(i, j) w chwili t oznaczana jest przez τ ij (t) ilość feromonu w chwili startowej t = 0 powinna być stosunkowo mała i na każdej krawędzi jednakowa Pytanie 1. Jak zmienia się ilość feromonu w czasie? skoro poziom feromonu jest kluczowy w ustalaniu marszruty

2. ACO i TSP (4)(zmiana stężenia feromonu) Stężenie feromonu zmieniane jest (aktualizowane) w każdym kroku wg poniższego wzoru: τ ij (t + 1) = ρ τ ij (t) + τ ij (t, t + 1), gdzie: ρ jest współczynnikiem z przedziału < 0, 1 >, określającym ilość wyparowującego feromonu w jednostce czasu (0 - wyparowuje cały, 1 - wyparowuje nic). τ ij (t, t + 1) = m τij k (t, t + 1), k=1 τij k (t, t + 1) jest ilością feromonu odkładaną na jednostkę długości krawędzi (i, j) rozkładanego przez k-tą mrówkę w jednostce czasu. Pytanie 2. Jak spełnić wymaganie TSP na odwiedzanie każdego miasta jednokrotnie?

2. ACO i TSP (5)(lista tabu) Tworzy się, dla każdej z m mrówek, swoistą listę tabu, w której zapamiętywane są odwiedzone wierzchołki (miasta). Po zamknięciu przez k-tą mrówkę cyklu (najczęściej przed kolejną iteracją), lista jest czyszczona. UWAGA! Lista czyszczona jest zawsze, jednak nie zawsze przed kolejną iteracją. Pytanie 3. W jaki sposób następuje wybór miasta j (kolejnego po i) na drodze k-tej (każdej) mrówki?

2. ACO i TSP (6)(wybór miasta) Wybór następuje zgodnie z określonym prawdopodobieństwem. Pytanie 4. Dlaczego z prawdopodobieństwem, a nie w oparciu o wartość τ?

2. ACO i TSP (6)(wybór miasta) Wybór następuje zgodnie z określonym prawdopodobieństwem. Pytanie 4. Dlaczego z prawdopodobieństwem, a nie w oparciu o wartość τ? dlatego, że początkowo ilość feromonu na każdej krawędzi jest identyczna co wymusza istnienie dodatkowego kryterium - np. prawdopodobieństwa, prowadziłoby to do wyboru zachłannego, a to jak wiemy, nie daje w efekcie najkrótszej trasy. Pytanie 5. Jak zatem zdefiniowane jest to prawdopodobieństwo?

2. ACO i TSP (6)(wybór miasta) Prawdopodobieństwo wyboru miasta j przez k-tą mrówkę w mieście i dane jest wzorem: p ij = (τ ij ) α (η ij ) β ci,l Ω (τ ic ) α (τ ic ) β c i,l Ω 0 c i,l Ω gdzie: c - kolejne możliwe (nie znajdujące się na liście tabu k miasto), Ω - dopuszczalne rozwiązanie (nieodwiedzone miasta, nienależące do tabu k ), η ij -wartość lokalnej funkcji kryterium; np. η = 1 d ij (visibility), czyli odwrotność odległości pomiędzy miastami, α - parametr regulujący wpływ τ ij, β - parametr regulujący wpływ η ij.

2. ACO i TSP (7)(rodzaje AS - Ant Systems) Wyróżniamy trzy rodzaje (wg Dorigo) algorytmów w systemie mrówkowym. Algorytm Gęstościowy (ang. ant-density DAS) Algorytm Ilościowy (ang. ant-quantity QAS) Algorytm Cykliczny (ang. ant-cycle CAS) Kluczami różnicującymi są: sposób wyliczania τij k (t, t + 1) oraz moment uktualnienia τ ij

2. ACO i TSP (8)(DAS)(1)(aktualizacja feromonu) W DAS przy przejściu po krawędzi (i, j), na każdą jednostkę jej długości rozkładana jest stała ilość feromonu Q Dens. τ k ij (y, t + 1) = Q Dens jeżeli k-ta mrówka przechodzi z i do j w jednostce czasu 0 w przecwinym przypadku Ilość feromonu na jednostkę długości jest zawsze stała; niezależna od długości krawędzi

2. ACO i TSP (9)(DAS)(2)(opis algorytmu) Mrówki rozmieszczane są w różnych miastach.

2. ACO i TSP (9)(DAS)(2)(opis algorytmu) Mrówki rozmieszczane są w różnych miastach. Określana jest początkowa ilość feromonu w wierzchołkach (miastach).

2. ACO i TSP (9)(DAS)(2)(opis algorytmu) Mrówki rozmieszczane są w różnych miastach. Określana jest początkowa ilość feromonu w wierzchołkach (miastach). Do tabu k dołączane są miasta startowe dla każdej z k mrówek.

2. ACO i TSP (9)(DAS)(2)(opis algorytmu) Mrówki rozmieszczane są w różnych miastach. Określana jest początkowa ilość feromonu w wierzchołkach (miastach). Do tabu k dołączane są miasta startowe dla każdej z k mrówek. Mrówki wybierają kolejne miasto (j) na podstawie p ij, gdzie: α określa wpływ doświadczeń poprzednich pokoleń; wybór dokonywany jest na podstawie wartości τ ij - ilość informacji o liczbie wyborów określonej trasy przez inne osobniki. β określa siłę wyboru zachłannego drogi na podstawie odległości pomiędzy miastami; wybór dokonywany jest na podstawie wartości η ij - stopień widoczności miasta j z miasta i.

2. ACO i TSP (9)(DAS)(2)(opis algorytmu) Mrówki rozmieszczane są w różnych miastach. Określana jest początkowa ilość feromonu w wierzchołkach (miastach). Do tabu k dołączane są miasta startowe dla każdej k mrówek. Mrówki wybierają kolejne miasto (j) na podstawie p ij, gdzie: α określa wpływ doświadczeń poprzednich pokoleń; wybór dokonywany jest na podstawie wartości τ ij - ilość informacji o liczbie wyborów określonej trasy przez inne osobniki. β określa siłę wyboru zachłannego drogi na podstawie odległości pomiędzy miastami; wybór dokonywany jest na podstawie wartości η ij - stopień widoczności miasta j z miasta i.... Pytanie 6. Jak działają mrówki dla α = 0?

2. ACO i TSP (10)(DAS)(3)(opis algorytmu)... Każde przejście mrówki po krawędzi (i, j) powoduje pozostawienie feromonu; ilość feromonu na krawędzi zwiększa się.

2. ACO i TSP (10)(DAS)(3)(opis algorytmu)... Każde przejście mrówki po krawędzi (i, j) powoduje pozostawienie feromonu; ilość feromonu na krawędzi zwiększa się. Część feromonu jest odparowywana z krawędzi po wykonaniu ruchu przez wszystkie mrówki zgodnie z τ ij (t + 1) = ρ τ ij (t) + τ ij (t, t + 1).

2. ACO i TSP (10)(DAS)(3)(opis algorytmu)... Każde przejście mrówki po krawędzi (i, j) powoduje pozostawienie feromonu; ilość feromonu na krawędzi zwiększa się. Część feromonu jest odparowywana z krawędzi po wykonaniu ruchu przez wszystkie mrówki zgodnie z τ ij (t + 1) = ρ τ ij (t) + τ ij (t, t + 1). Listy tabu k są kompletne (wypełnione) po n 1 ruchach.

2. ACO i TSP (10)(DAS)(3)(opis algorytmu)... Każde przejście mrówki po krawędzi (i, j) powoduje pozostawienie feromonu; ilość feromonu na krawędzi zwiększa się. Część feromonu jest odparowywana z krawędzi po wykonaniu ruchu przez wszystkie mrówki zgodnie z τ ij (t + 1) = ρ τ ij (t) + τ ij (t, t + 1). Listy tabu k są kompletne (wypełnione) po n 1 ruchach. Obliczane są trasy znalezione przez mrówki a zapamiętywana jest najkrótsza.

2. ACO i TSP (10)(DAS)(3)(opis algorytmu)... Każde przejście mrówki po krawędzi (i, j) powoduje pozostawienie feromonu; ilość feromonu na krawędzi zwiększa się. Część feromonu jest odparowywana z krawędzi po wykonaniu ruchu przez wszystkie mrówki zgodnie z τ ij (t + 1) = ρ τ ij (t) + τ ij (t, t + 1). Listy tabu k są kompletne (wypełnione) po n 1 ruchach. Obliczane są trasy znalezione przez mrówki a zapamiętywana jest najkrótsza. Listy tabu są zerowane.

2. ACO i TSP (10)(DAS)(3)(opis algorytmu)... Każde przejście mrówki po krawędzi (i, j) powoduje pozostawienie feromonu; ilość feromonu na krawędzi zwiększa się. Część feromonu jest odparowywana z krawędzi po wykonaniu ruchu przez wszystkie mrówki zgodnie z τ ij (t + 1) = ρ τ ij (t) + τ ij (t, t + 1). Listy tabu k są kompletne (wypełnione) po n 1 ruchach. Obliczane są trasy znalezione przez mrówki a zapamiętywana jest najkrótsza. Listy tabu są zerowane. Pytanie 7. Jaki jest warunek zakończenia?

2. ACO i TSP (11)(DAS)(4)(opis algorytmu) Warunkiem zatrzymania procesu jest wykonanie CC iteracji (określone przez użytkownika) bądź wystąpi przypadek nazywany uni-path behavior, czyli ustalenie się tej samej trasy wybranej przez wszystkie m mrówek.

2. ACO i TSP (12)(QAS)(1)(aktualizacja feromonu) W QAS przy przejściu po krawędzi (i, j), stała ilość feromonu Q Quan dzielona jest przez długość krawędzi d ij.

2. ACO i TSP (12)(QAS)(1)(aktualizacja feromonu) W QAS przy przejściu po krawędzi (i, j), stała ilość feromonu Q Quan dzielona jest przez długość krawędzi d ij. Q Quan τij k(y, t + 1) = d ij jeżeli k-ta mrówka przechodzi z i do j w jednostce czasu 0 w przeciwnym przypadku

2. ACO i TSP (12)(QAS)(1)(aktualizacja feromonu) W QAS przy przejściu po krawędzi (i, j), stała ilość feromonu Q Quan dzielona jest przez długość krawędzi d ij. Q Quan τij k(y, t + 1) = d ij jeżeli k-ta mrówka przechodzi z i do j w jednostce czasu 0 w przeciwnym przypadku Pytanie 8. Które krawędzie wybierane są chętniej przez mrówki w modelu QAS?

2. ACO i TSP (13)(CAS)(1)(aktualizacja feromonu) W CAS stała ilość feromonu Q Cycl dzielona jest przez długość trasy L znalezionej przez k-tą mrówkę - L k. τ k ij (y, t + 1) = Q Cycl L k jeżeli k-ta mrówka przeszła z i do j na swojej trasie 0 w przeciwnym przypadku

2. ACO i TSP (14)(CAS)(2)(aktualizacja feromonu) Wartość feromonu aktualizowana jest po n krokach wg wzoru: τ ij (t + n) = ρ 1 τ ij (t) + τ ij (t, t + n), gdzie τ(t, t + n) = k=1 τij k (t, t + n) m

2. ACO i TSP (15)(złożność algorytmu) Pytanie 9. Jaka jest złożoność algorytmu cyklicznego?

2. ACO i TSP (15)(złożność algorytmu) O(CC n 2 m) Ale...

2. ACO i TSP (15)(złożność algorytmu) O(CC n 2 m) Dorigo i jego ludzie znaleźli liniową zależność pomiędzy liczbą mrówek a liczbą miast. Stąd można przyjąć, że złożność obliczeniowa wynosi O(CC n 3 ). CC - liczba iteracji (cykli)

2. ACO i TSP (15)(zalecane wartości parametrów) Dorigo (na podstawie doświadczeń - miejmy nadzieję ) zaleca przyjęcie następujących wartości parametrów: α = 1, β od 2 dp 5, ρ = 0.5, m = n (m - liczba mrówek, n - liczba miast) τ 0 = m C nn, gdzie C nn jest szacowaną długością trasy