Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Wyszukiwanie maksimum funkcji za pomocą mrówki Pachycondyla Apicalis.

Podobne prezentacje


Prezentacja na temat: "Wyszukiwanie maksimum funkcji za pomocą mrówki Pachycondyla Apicalis."— Zapis prezentacji:

1 Wyszukiwanie maksimum funkcji za pomocą mrówki Pachycondyla Apicalis.

2 Inspiracje biologiczne
Algorytm został oparty na zachowaniu mrówek Pachycondyla Apicalis. Mrówki te żyją w Meksykańskich tropikalnych lasach w pobliżu granicy z Gwatemalą. Liczebność kolonii wynosi od około 20 do 100 osobników. W danym czasie jedynie nieliczne osobniki polują (20-30%). Ich globalna strategia polowań polega na tworzeniu miejsc polowań, które są rozłożone wokół gniazda w promieniu około 10 m. Miejsca polowań poszczególnych osobników ograniczone są okręgiem o promieniu mniej więcej 2,5 m.

3 Plądrowanie Lokalna strategia plądrowania stosowana przez mrówki polega początkowo na losowym wyborze miejsc polowań w pobliżu gniazda. Po pierwszym sukcesie (schwytaniu zdobyczy) osobnik zapamiętuje miejsce, w którym osiągnięto sukces. Dana mrówka wykazuje tendencję do powracania do ostatnio odkrytego miejsca polowania, używając tej samej ścieżki. Podążając tą ścieżką mrówka używa wizualnych znaków terenowych. Gdy w danym miejscu zdobycz zostaje złapana, następna eksploracja wykonywana przez mrówkę odbywa się z tego właśnie miejsca. Gdy miejsce polowań staje się zubożałe w pokarm i mrówka nie otrzymuje odpowiedniej zdobyczy, przechodzi do eksploracji innych miejsc w terenie. Dokładniej mówiąc osobnik może przemieścić się do wcześniej eksplorowanego miejsca polowań z uwydatnioną zdolnością do pamiętania jedynie kilku poprzednich miejsc. W końcu, gdy zdobycz zostaje złapana mrówka, podąża prosto do gniazda. Interakcje pomiędzy mrówkami dotyczące plądrowania są ograniczone. Ważną rzeczą jest fakt, iż mrówki kierują się głównie znakami wizualnymi, a nie feromonem.

4 Przestrzeń przeszukiwań
Rozważamy populację n mrówek a1….,an. Agenci ci są lokowani w przestrzeni przeszukiwań S i próbują minimalizować funkcję f:S->R. Każdy punkt s w S jest odpowiednim rozwiązaniem rozważanego problemu. S może być przestrzenią ciągłą (S=Rl), binarną (S={0,1}l) lub permutacyjną (jak w problemie TSP). W każdym bądź razie algorytm nazywany API (od Pachycondyla APIcalis), nie narzuca żadnych ograniczeń w definiowanej przestrzeni przeszukiwań. API wymaga definicji jedynie dwóch następujących operatorów: Qrand, który generuje losowy punkt z S zgodny z jednokrotnym rozdziałem, Qexplo, który generuje punkt s’ w sąsiedztwie punktu s. Rozmiar sąsiedztwa w pobliżu centralnego punktu s jest ustawiony na wartość A. Ten parametr definiuje amplitudę eksploracji. Gdy A=0, wtedy s’ jest zawsze równe s. Gdy natomiast A=1 s’ może być dowolnym punktem ze zbioru S.

5 Globalna eksploracja Na początku w losowo wybranym miejscu umieszcza się gniazdo N zgodnie z funkcją Qrand. Następnie N jest przenoszone każde T ruchów n mrówek i umieszczane w najlepszym punkcie znalezionym po ostatnim przenoszeniu gniazda. Dlatego przenoszenie gniazda zachodzi każdorazowo co T pojedynczych ruchów. Gdy API rozpoczyna działanie, lub po tym jak gniazdo zostało przeniesione każda mrówka ai opuszcza gniazdo do losowo wygenerowanych p miejsc łownych w sąsiedztwie N. Aby stworzyć inicjalne miejsca łowne każda mrówka ai używa funkcji Qexplo z amplitudą A, której wartością jest Asite(ai) (Rys. 1). Wartości Asite(ai) wynoszą:

6 Globalna eksploracja (cd)
Rys. 1. (a) s1, s2 i s3 są losowo wygenerowanymi miejscami, (b) kwadraty reprezentują lokalne eksploracje miejsca s1 w maksymalnej odległości Alocal od s1.

7 Lokalne zachowanie mrówek
Mrówka ai wykonuje lokalne przeszukiwanie w sąsiedztwie s, punkt s’ jest wybierany używając funkcji Qexplo z amplitudą Alocal(ai) a następnie funkcja f(s’) jest oceniana. Lokalna eksploracja jest zakończona sukcesem, gdy prowadzi do lepszej wartości funkcji f, to jest f(s’)< f(s). Wtedy mrówka ai zapamiętuje ten sukces i uaktualnia miejsce s w jej pamięci: s<-s’. W tym przypadku, ai niezwłocznie powróci do nowego miejsca s w celu jego następnej eksploracji. Jeżeli natomiast eksploracja miejsca nie powiedzie się to wówczas w następnej eksploracji mrówka ai wybierze losowo miejsce spośród p miejsc w jej pamięci. Jeżeli miejsce zostanie przeszukane przez więcej niż Plocal(ai) razy, bez znalezienia jakiejkolwiek zdobyczy, zostaje ono zapomniane i zastąpione przez stworzenie nowego miejsca. To nowe miejsce jest stworzone z wykorzystaniem funkcji Qexplo z amplitudą Asite(ai). Ostatecznie po każdym przenoszeniu gniazda miejsca są wymazywane z pamięci mrówek.

8 Lokalne zachowanie mrówek
Automat użyty w modelu zachowań mrówki API. ns ≤p reprezentuje liczbę miejsc zapamiętanych przez mrówkę (ai). ej reprezentuje liczbę porażek kolejno następujących podczas szukania zdobyczy przez mrówkę w miejscu j.

9 Kooperacja w tandemowym naborze
Za każdym razem, gdy n mrówek eksploruje otoczenie gniazda, nabór jest oceniany w następujący sposób: Dwie mrówki ai i aj są losowo wybierane. Załóżmy, że najlepsze miejsce mrówki ai ma większa wartość funkcji oceny, niż najlepsze miejsce mrówki aj. W tym przypadku najlepsze miejsce aj zostanie usunięte i zastąpione przez najlepsze miejsce aj. Ta kooperacja jest formą eksploatacji, która zwiększa liczbę prób, które zostaną wykonane w danym miejscu. To ponadto umożliwia API eksplorowanie miejsca z różnymi parametrami wyszukiwania, ponieważ pamięć p mrówki aj zawiera niekoniecznie miejsca łowne w okolicach optimum mrówki ai.

10 API algorytm (1) Wybierz losowo inicjalną lokalizację gniazda N
(2) For każda mrówka ai, i Є[1…n]: If ai ma mniej niż p miejsca polowań w pamięci Then Stwórz nowe miejsce w okolicy N i Eksploruj to stworzone miejsce Else If poprzednia eksploracja zakończyła się sukcesem Then Eksploruj raz jeszcze to miejsce Else Eksploruj losowo wybrane miejsce (spośród p miejsc w pamięci) (3) Usuń z pamięci mrówek wszystkie miejsca, które były eksplorowane nieskutecznie przez więcej niż Plocal(ai) kolejnych razy (4) Wykonaj Nabór (najlepsze miejsce kopiowane pomiędzy losowo wybranymi mrówkami) (5) If więcej niż T iteracji było wykonanych Then Zmień lokalizację gniazda i Wyczyść pamięć wszystkich mrówek (6) idź do kroku (2) lub Koniec If kryterium stopu jest satysfakcjonujące

11 Podsumowanie działania algorytmu
Ilustracja zachowania API. W (a) gniazdo jest losowo umiejscowione w przestrzeni przeszukiwań. Następnie w (b), miejsca łowne są losowo stworzone wokół gniazda z rozmieszczeniem zgodnym z parametrem Asite. W (c) poprzez eksplorację miejsca łowne przemieszczają się w kierunku bardziej interesujących obszarów. Finalnie w (d) zmienia się położenie gniazda do najlepszego wygenerowanego punktu. Miejsca łowne są tworzone na nowo.

12 Analiza funkcji F1’

13 Analiza funkcji F3’

14 Analiza funkcji F6’

15 Analiza funkcji F7


Pobierz ppt "Wyszukiwanie maksimum funkcji za pomocą mrówki Pachycondyla Apicalis."

Podobne prezentacje


Reklamy Google