Mrówka Pachycondyla apicalis

Podobne dokumenty
Optymalizacja. Wybrane algorytmy

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

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

Algorytmy metaheurystyczne podsumowanie

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

Optymalizacja. Przeszukiwanie lokalne

Zadania laboratoryjne i projektowe - wersja β

Techniki optymalizacji

Dobór parametrów algorytmu ewolucyjnego

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

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

Algorytm genetyczny (genetic algorithm)-

ALGORYTMY GENETYCZNE ćwiczenia

Optymalizacja. Przeszukiwanie tabu

Fizjologiczne i etologiczne

Techniki optymalizacji

Fizjologiczne i etologiczne aspekty życia społecznego owadów

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

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

Wstęp do Sztucznej Inteligencji

5. Algorytm genetyczny przykład zastosowania

Wykład 2. Poprawność algorytmów

Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to

Przeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279

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

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

Problem Komiwojażera - algorytmy metaheurystyczne

Optymalizacja. Przeszukiwanie tabu

Metody Rozmyte i Algorytmy Ewolucyjne

Zmienne i struktury dynamiczne

Programowanie dynamiczne cz. 2

ALHE. prof. Jarosław Arabas semestr 15Z

Programowanie genetyczne, gra SNAKE

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

Techniki optymalizacji

dr inż. Jarosław Forenc

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

Wykład 4. Droga i cykl Eulera i Hamiltona

Sowy. Przygotowała Zuzia Górska

Programowanie w VB Proste algorytmy sortowania

ZADANIA OPTYMALIZCJI BEZ OGRANICZEŃ

Rozwiązywanie problemów metodą przeszukiwania

2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych

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

Algorytmy sztucznej inteligencji

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne

INDUKOWANE REGUŁY DECYZYJNE ALORYTM APRIORI JAROSŁAW FIBICH

Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009

Wybrane podstawowe rodzaje algorytmów

Aproksymacja funkcji a regresja symboliczna

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

Instrukcje pętli przykłady. Odgadywanie hasła. 1) Program pyta o hasło i podaje adres, gdy hasło poprawne lub komunikat o błędnym haśle.

Algorytmy zrandomizowane

Algorytmy metaheurystyczne Wykład 6. Piotr Syga

Algorytmy genetyczne

1 Metody rozwiązywania równań nieliniowych. Postawienie problemu

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

Algorytmy genetyczne

ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ NIELINIOWYCH PRZY POMOCY DODATKU SOLVER PROGRAMU MICROSOFT EXCEL. sin x2 (1)

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

Programowanie dynamiczne

Programowanie genetyczne - gra SNAKE

Przepisy o ochronie przyrody

Problemy z ograniczeniami

Analiza algorytmów zadania podstawowe

Planowanie drogi robota, algorytm A*

Podstawowe algorytmy i ich implementacje w C. Wykład 9

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

dr inż. Jarosław Forenc

dr inŝ. Jarosław Forenc

Znajdowanie wyjścia z labiryntu

Wstęp do programowania

Optymalizacja ciągła

Rozwiązywanie równań nieliniowych

Metody Optymalizacji: Przeszukiwanie z listą tabu

Eksploracja danych. KLASYFIKACJA I REGRESJA cz. 2. Wojciech Waloszek. Teresa Zawadzka.

Przykład zastosowania poleceń 3DWYRÓWNAJ i RÓŻNICA

mgr inż. Magdalena Deckert Poznań, r. Metody przyrostowego uczenia się ze strumieni danych.

Wstęp do programowania

Architektura komputerów

Metody ilościowe w badaniach ekonomicznych

Aplikacja do podpisu cyfrowego npodpis

Metody Programowania

Metody numeryczne I Równania nieliniowe

Metody Rozmyte i Algorytmy Ewolucyjne

Metody przeszukiwania

Stuck in the loop. Sterowanie. Marcin Makowski. 29 października Zak lad Chemii Teoretycznej UJ

Schemat programowania dynamicznego (ang. dynamic programming)

Bioinformatyka. Ocena wiarygodności dopasowania sekwencji.

Modelowanie wieloskalowe. Automaty Komórkowe - podstawy

6. Klasyczny algorytm genetyczny. 1

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

SYSTEMY UCZĄCE SIĘ WYKŁAD 3. DRZEWA DECYZYJNE. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Tabu Search (Poszukiwanie z zakazami)

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

RÓWNANIA NIELINIOWE Maciej Patan

Przykłady problemów optymalizacyjnych

W poszukiwaniu sensu w świecie widzialnym

Transkrypt:

Mrówka Pachycondyla apicalis Mrówki Pachycondyla apicalis wystepują w lasach południowego Meksyku, północnej Argentyny i Kostaryki. Wystepuja zarówno w lasach wilgotnych jak i suchych. Mrówki te polują w otoczeniu gniazda na żywe owady innego gatunku, lub zbierają ciała martwych owadów. Z obserwacji tego gatunku mrówek wynika ze polują tylko w dzień. Mrowiska zakładają w kawałku martwego drewna na ziemi. Liczebność kolonii wynosi około 20 do 100 osobników. Polowaniem zajmuje sie 20-30% osobników.

Mrówka Pachycondyla apicalis Rysunek: Pachycondyla apicalis

Mrówka Pachycondyla apicalis Rysunek: Pachycondyla apicalis

Hierarchia mrowiska Hierarchia w kolonii Pachycondyla apicalis zaobserwowana została w 1990 (Oliveira i Hoelldobler ). Na czele mrowiska stoi królowa, której zadaniem jest składanie jaj. Robotnice dominujące - są agresywne w stosunku do osobników znajdujących sie niżej w hierarchii. Są zdolne do składania jaj haploidalnych, z których mogą sie rozwinąc osobniki. Robotnice dominujące zajmują sie polowaniem. Pozostałe robotnice zajmują sią opieką nad młodymi osobnikami, gniazdem i królową. Fresneu i Dupuy (1988) przeprowadzili szereg badań laboratoryjnych i zaobserwowali, że robotnice z czasem przechodzą do wyższych grup w hierarchii.

Zachowania mrówek Robotnice polują osobno (Fresneau, 1985) Orientacje w terenie opierają o znaki wizualne Współpraca pomiędzy mrówkami w postaci biegu tandemowego przy zmianie lokalizacji mrowiska Nie zaobserwowano współpracy podczas poszukiwania zdobyczy

Powstanie API Algorytm bazujący na modelu zachowań populacji prymitywnych mrówek z rodziny Pachycondyla apicalis. Nazwa algorytmu stanowi fragment nazwy gatunku mrówek Pachycondyla APIcalis Twórcami algorytmu są: Monmarche, Venturini i Slimane

Przestrzeń przeszukiwań Rozważmy populacje n mrówek (a 1, a 2,..., a n ). Mrówki umieszczane są w przestrzeni przeszukiwań S i próbują zminimalizować funkcje f : S R Kazdy punkt s w S jest poprawnym rozwiązaniem rozważanego problemu Przestrzen S moze być: przestrzenią ciagłą S = R l przestrzenią binarną S = 0, 1 l przestrzenią permutacyjną (jak w problemie komiwojażera)

Przestrzeń przeszukiwań { API wymaga zdefiniowania dwóch operatorów: Q rand - operator, który generuje losowy punkt z przestrzeni S Q explo - operator, który generuje punkt s w sąsiedztwie punktu s Rozmiar sasiedztwa w poblizu punktu s definiowany jest przez parametr A [0, 1]. A = 0 wtedy s = s, A = 1 wtedy s moze byc dowolnym punktem ze zboru S.

Globalna eksploracja Gniazdo N umieszczamy w losowym miejscu zgodnie z funkcją Q rand Co T ruchów n mrówek gniazdo jest przenoszone w najlepsze miejsce znalezione po ostatnim przenoszeniu gniazda. Po uruchomieniu algorytmu, lub po przeniesieniu gniazda, każda mrówka a i opuszcza gniazdo i udaje się do jednego z p wygenerowanych miejsc w sąsiedztwie N Miejsca polowań tworzone sa przy uzyciu Q explo z amplitudą A, która przyjumuje wartosc A site (a i ) A site (1) = 0.01 A site (i) = x i 0.01 x = ( ) 1 1 n 0.01 A site (n) = x n 0.01 = 1

Globalna eksploracja Rysunek: a) s 1, s 2, s 3 są losowo wygenerowanymi miejscami b) kwadraty symbolizują miejsca eksploracji

Lokalna eksploracja Mrówka a i dokonuje lokalnego przeszukiwania sąsiedztwa punktu s. Wybiera punkt s uzywając funkcji Q explo z amplitudą A, której wartosc wyznacza A local (ai). Po wyborze s następuje jego ocena f(s ) Jesli f(s ) < f(s) wtedy mrówka zapamiętuje ten sukces i zastępuje dotychczasowe miejsce polowań nowym miejscem s := s. Kolejne poszukiwanie zostanie rozpoczęte z nowego miejsca s. Jeśli f(s ) f(s) wtedy podczas kolejnego poszukiwania mrówka jako punkt startowy wybiera losowo punkt z listy p. Jeśli dane miejsce zostanie wybrane więcej niż P local (ai) razy, bez poprawy wyniku podczas poszukiwania, wtedy miejsce to zostaje usunięte z listy i zastąpione nowym miejscem. Nowe miejsce na liście p tworzone jest w oparciu o funkcje Q explo z amplitudą A site (ai). Po przeniesieniu mrowiska zapamiętane miejsca są usuwane z pamięci mrówek.

Lokalna eksploracja Rysunek: Lokalna eksploracja

Kooperacja Kooperacja w API oparta jest na zachowaniu, które zwane jest biegiem tandemowym. Za każdym razem po n eksploracjach dokonywana jest ocena jakości znalezionych miejsc polowań Losowo wybierana jest para mrówek a i i a j. Zakładamy, że najlepsze miejsce polowania mrówki a i ma wiekszą wartość funkcji oceny niż najlepsze miejsce mrówki a j. W takim przypadku najlepsze miejsce polowania mrówki a j zostanie zastąpione najlepszym miejscem polowania mrówki a i. Taka forma kooperacji zwiększa liczbe poszukiwań, które zostaną przeprowadzone z miejsca bardziej atrakcyjnego. Ponadto powoduje eksplorowanie miejsca z różnymi parametrami poszukiwania, ponieważ dwie mrówki polujące w tym samym miejscu mogą mieć inne parametry.

Algorytm API 1 Wybierz losowo początkowe położenie mrowiska N 2 Dla każdej mrówki a i, i [1,...,n] If (a i ma mniej niż p miejsc polowań w pamięci) Then utwórz nowe miejsce w sąsiedztwie N i eksploruj to miejsce Else If (poprzednia eksploracja zakończyła się sukcesem) Then eksploruj jeszcze raz to samo miejsce Else eksploruj wybrane losowo miejsce (z listy p) 3 Wykonaj nabór (skopiuj najlepsze miejsce pomiędzy losowo wybranymi mrówkami) 4 Usuń z pamięci mrówek wszystkie miejsca, które były eksplorowane więcej niz P local (a i ) razy 5 If (wykonano T iteracji) Then Zmień lokalizację mrowiska i wyczyść pamięc wszystkich mrówek 6 If (kryterium stopu = false) Then GoTo(2) Else Koniec

Algorytm API Rysunek: a) początkowa lokalizacja gniazda b) losowo utworzone miejsca polowań c) w wyniku eksploatacji miejsca polowań przemieszczają się w strone miejsc bardziej atrakcyjnych d) przeniesienie mrowiska w najlepsze miejsce

Parametry API Liczba mrówek Liczba mrówek musi być wystarczająco duża, aby zapewnić heterogeniczność parametrów (A site,a local ) Liczba mrówek określa poziom eksploracji (powinien być stosunkowo niski, aby zapewnić efektywne przenoszenie gniazda) n = 2 przynosi dużo lepsze wyniki, niż n = 1, co świadczy o roli kooperacji pomiędzy osobnikami Liczba mrówek nie wpływa znacznie na zmianę wydajnosci API (minimum dwie mrówki) Wyniki doświadczeń pokazują, ze n = 20 jest liczbą optymalną Nabór i przenoszenie mrowiska Nabór jest parametrem nie mającym znaczącego wpływu na wydajność algorytmu Przenoszenie gniazda jest bardzo ważnym parametrem.

Parametry API Liczba miejsc w pamieci p Wraz ze wzrostem liczby miejsc w pamięci spada wydajność algorytmu Wartość wskazywana w wyniku doswiadczeń to p = 2 Rozmiar A site i A local Najlepsze wyniki uzyskiwane są gdy poszczególne mrówki mają rózne parametry

Wykresy

Wykresy

Wykresy

Wykresy

Wykresy

Wykresy

Wykresy

Wykresy