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

Slides:



Advertisements
Podobne prezentacje
Excel Narzędzia do analizy regresji
Advertisements

Funkcje w PHP ABK.
Metody losowania próby
Instrukcje - wprowadzenie
Język C/C++ Funkcje.
Model Konkurujących Gatunków
„Wielokryterialna optymalizacja pracy systemu wytwarzania o strukturze przepływowej – algorytm memetyczny” Przygotował: Dominik Żelazny, IIAR.
Metody numeryczne część 1. Rozwiązywanie układów równań liniowych.
Schemat blokowy M START KONIEC
Wprowadzenie do optymalizacji wielokryterialnej.
Wykład 6 Najkrótsza ścieżka w grafie z jednym źródłem
Algorytm Dijkstry (przykład)
Zapraszamy do poznania kwadratu magicznego
PROGRAMOWANIE STRUKTURALNE
ALGORYTMY I STRUKTURY DANYCH
SCR 2008/2009 – informatyka rok 5. Agenda Edytor wizualny wraz z repozytorium dóbr i agentów.
Metoda pierwszeństwa operatorów
ZLICZANIE cz. II.
WYKŁAD 8. Siła spójności A,B – dowolne podzbiory V(G)
GRAFY PLANARNE To grafy, które można narysować na płaszczyźnie tak, by krawędzie nie przecinały się (poza swoimi końcami). Na przykład K_4, ale nie K_5.
Nieelitystyczne algorytmy ewolucyjnej optymalizacji wielokryterialnej
Struktury.
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz,
ALGORYTMY STEROWANIA KILKOMA RUCHOMYMI WZBUDNIKAMI W NAGRZEWANIU INDUKCYJNYM OBRACAJĄCEGO SIĘ WALCA Piotr URBANEK, Andrzej FRĄCZYK, Jacek KUCHARSKI.
Paweł Kupis Jacek Mańdziuk
Odkrywanie wzorców sekwencji
Odkrywanie wzorców sekwencji
Nieinercjalne układy odniesienia
Budowa i układ strony dokumentu
Algorytmy genetyczne.
Algorytmy genetyczne.
KINEMATYKA MANIPULATORÓW I ROBOTÓW
Zbiór do posortowania mieści się w pamięci
Elementy Rachunku Prawdopodobieństwa i Statystyki
Przegląd podstawowych algorytmów
ROZWIĄZANIE 3 ZAGADKI KONKURSU „NIE TAKA MATMA STRASZNA”
A. Sumionka. Starodawna gra marynarska; Gra dwu i wieloosobowa; Gracze wykonują ruchy naprzemian; Złożona ze stosów, w których znajduje się pewna ilość
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
Matematyka w obiektywie
Elementy Rachunku Prawdopodobieństwa i Statystyki
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
Systemy wspomagania decyzji
Technika optymalizacji
Modelowanie i identyfikacja 2010/2011Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz, Katedra.
Farseer Physics Engine. Farseer Physics Engine jest silnikiem fizycznym napisanym dla platformy.NET. Został on zainspirowany przez silnik Box2D znany.
Opracowała: Iwona Kowalik
Opracowała: Iwona Kowalik
Elżbieta Fiedziukiewicz
Partnerstwo dla prewencji Kampania „Zdrowe i bezpieczne miejsce pracy” 2012–2013 Nazwisko i tytuł mówcy Data | Nazwa wydarzenia.
Zasady przywiązywania układów współrzędnych do członów.
Przekazywanie parametrów do funkcji oraz zmienne globalne i lokalne
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
III EKSPLORACJA DANYCH
VI EKSPLORACJA DANYCH Zadania eksploracji danych: klasyfikacja
VII EKSPLORACJA DANYCH
ZAPIS BLOKOWY ALGORYTMÓW
Metody numeryczne szukanie pierwiastka metodą bisekcji
Zagadnienia AI wykład 2.
Grafika i komunikacja człowieka z komputerem
NIM gra Beata Maciejewska Monika Mackiewicz.
SAMOUCZEK PRZYKŁAD ZASTOSOWANIA PROGRAMU DO MODELOWANIA TARCZ.
Algorytmy Genetyczne Anna Tomkowska Politechnika Koszalińska
JAKOŚĆ TECHNICZNA WĘGLA
Autor: Michał Salewski
Wykład Rozwinięcie potencjału znanego rozkładu ładunków na szereg momentów multipolowych w układzie sferycznym Rozwinięcia tego można dokonać stosując.
Liczby naturalne i całkowite Spis treści Definicje Działania na liczbach Wielokrotności liczb naturalnych Cechy podzielności Przykłady potęg,potęgi o.
1.problem próbkowania (sampling problem) dobór charakterystycznych punktów powierzchni w celu uzyskania najlepszego efektu przy minimalizacji ilości danych.
Zbiory rozłączne.
Jak za pomocą trzciny i drzewa przyspieszyć działanie programów komputerowych Maurycy Piecha.
ALGORYTMY I STRUKTURY DANYCH
Zapis prezentacji:

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

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.

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.

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.

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ą:

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.

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.

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.

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.

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

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.

Analiza funkcji F1’

Analiza funkcji F3’

Analiza funkcji F6’

Analiza funkcji F7