Obliczenia Naturalne - Algorytmy rojowe

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

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

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

SZTUCZNA INTELIGENCJA

Mrówka Pachycondyla apicalis

O dwóch modyfikacjach algorytmu PSO

Algorytmy ewolucji różnicowej (ang. differential evolution -DE) oraz roju cząstek (ang. particle swarm optimization -PSO)

Zastosowanie algorytmów rojowych w zadaniu planowania sieci WLAN Application of rogue algorithms in the WLAN planning task

Algorytm genetyczny (genetic algorithm)-

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

Optymalizacja. Wybrane algorytmy

Algorytmy stadne w problemach optymalizacji

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP

Optymalizacja. Przeszukiwanie lokalne

Optymalizacja. Przeszukiwanie tabu

Inteligencja stadna: od mrówek do cząsteczek

Optymalizacja. Przeszukiwanie tabu

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

Seminarium IO. Zastosowanie wielorojowej metody PSO w Dynamic Vehicle Routing Problem. Michał Okulewicz

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

Algorytmy zrandomizowane

Analiza stanów gry na potrzeby UCT w DVRP

Seminarium IO. Zastosowanie metody PSO w Dynamic Vehicle Routing Problem (kontynuacja) Michał Okulewicz

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

Algorytmy metaheurystyczne podsumowanie

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

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

WYKORZYSTANIE ALGORYTMÓW PSZCZELICH W PROCESIE POSZUKIWANIA MINIMUM FUNKCJI CELU

Strategie ewolucyjne (ang. evolu4on strategies)

Ruch jednostajnie zmienny prostoliniowy

Algorytm grupowania danych typu kwantyzacji wektorów

Metody Programowania

Wstęp do Sztucznej Inteligencji

Algorytmy ewolucyjne. Łukasz Przybyłek Studenckie Koło Naukowe BRAINS

Obliczenia z wykorzystaniem sztucznej inteligencji

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

Obliczenia z wykorzystaniem sztucznej inteligencji

Metody Rozmyte i Algorytmy Ewolucyjne

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Obliczenia Naturalne - Wstęp

ALGORYTMY GENETYCZNE ćwiczenia

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

Seminarium IO. Zastosowanie algorytmu UCT w Dynamic Vehicle Routing Problem. Michał Okulewicz

Algorytmy metaheurystyczne Wykład 6. Piotr Syga


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

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym

Optymalizacja. Symulowane wyżarzanie

Co to jest grupowanie

Algorytmy ewolucyjne 1

Elementy inteligencji obliczeniowej

Problem Komiwojażera - algorytmy metaheurystyczne

Systemy wieloagentowe (Multi Agent Systems - MAS) aspekty wybrane

Plan. Zakres badań teorii optymalizacji. Teoria optymalizacji. Teoria optymalizacji a badania operacyjne. Badania operacyjne i teoria optymalizacji

Matematyka stosowana i metody numeryczne

Dobór parametrów algorytmu ewolucyjnego

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

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

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

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

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA OPERATOR KRZYŻOWANIA ETAPY KRZYŻOWANIA

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

Heurystyki i metaheurystyki

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

Algorytmy genetyczne

Zaawansowane programowanie

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

Planowanie drogi robota, algorytm A*

Optymalizacja ciągła

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Tabu Search (Poszukiwanie z zakazami)

Grupowanie Witold Andrzejewski, Politechnika Poznańska, Wydział Informatyki 201/633

Zadania laboratoryjne i projektowe - wersja β

Zastosowanie algorytmu pszczelego do rozwiązania problemu konstruowania rozkładu jazdy pociągów

RÓWNANIA NIELINIOWE Maciej Patan

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor

Przeszukiwanie lokalne

Uczenie sieci radialnych (RBF)

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

Algorytmy mrówkowe (ang. Ant Colony Optimization)

dr inż. Jarosław Forenc

Sieć Hopfielda. Sieci rekurencyjne. Ewa Adamus. ZUT Wydział Informatyki Instytut Sztucznej Inteligencji i Metod Matematycznych.

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

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

Stochastic modelling of phase transformations using HPC infrastructure

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

Janusz Adamowski METODY OBLICZENIOWE FIZYKI Kwantowa wariacyjna metoda Monte Carlo. Problem własny dla stanu podstawowego układu N cząstek

Strategie ewolucyjne (ang. evolution strategies)

MATeMAtyka 4 Przedmiotowy system oceniania wraz z określeniem wymagań edukacyjnych

Zastosowania sieci neuronowych

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

Metody numeryczne I Równania nieliniowe

CMAES. Zapis algorytmu. Generacja populacji oraz selekcja Populacja q i (t) w kroku t generowana jest w następujący sposób:

KADD Minimalizacja funkcji

PRACA DYPLOMOWA MAGISTERSKA

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

Techniki optymalizacji

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

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

Transkrypt:

Literatura Obliczenia Naturalne - rojowe Paweł Paduch Politechnika Świętokrzyska 24 kwietnia 2014 Paweł Paduch Obliczenia Naturalne - rojowe 1 z 44

Plan wykładu Literatura 1 Literatura 2 Wprowadzenie Algorytm Individual Best Algorytm Global Best Algorytm Local Best 3 Naturalne pszczoły Algorytm Przykład 4 BCO MBO Paweł Paduch Obliczenia Naturalne - rojowe 2 z 44

Literatura Literatura Mariusz Flasiński - do sztucznej inteligencji, PWN, 2011 Russell C. Eberhart, Yuhui Shi, James Kennedy - Swarm Intelligence, Elsevier, 2001 E. Bonabeau, M. Dorigo, G. Theraulaz, Swarm Intelligence: From Natural to Artificial Systems, New York, NY: Oxford University Press, 1999 PSO Tutorial - http://www.swarmintelligence.org/ Eberhart, R. C. and Kennedy, J. A new optimizer using particle swarm theory. Proc. 6th Int. Symp. on Micromachine and Human Science, Nagoya, Japan. s. 39-43, 1995 Paweł Paduch Obliczenia Naturalne - rojowe 3 z 44

Literatura Literatura Yuhui Shi and Russell Eberhart - A Modified Particle Swarm Optimizer. IEEE 1998 Darvis Karaboga - An idea based on honey bee swarm for numerical optimization, 2005 Dušana Teodorović and Mauro Dell orco Bee Colony Ooptimization A Cooperative Learning Aproach To Complex Ttransportation Problem, 2005 Hussein A. Abbass - MBO: Marriage in Honey Bees Optimization A Haplometrosis Polygynous Swarming Approach, IEEE Congress on Evolutionary Computation, strony 207 214, 2001 Paweł Paduch Obliczenia Naturalne - rojowe 4 z 44

Literatura W 1987 Craig Reynolds za pomocą 3 prostych reguł (dopasuj prędkość do sąsiada, kieruj się do widocznego centrum stada, unikaj kolizji) pokazał, że można zaprogramować realistycznie wyglądające poruszające się stado. Metoda optymalizacji rojem cząstek została zaproponowana w 1995 roku przez Russela Eberharta i Jamesa Kennedy ego inspirowanych zachowaniem ptasich stad czy rybich ławic. Autorzy zastosowali optymalizację rojem do znajdowania wag podczas uczenia sieci neuronowej. Paweł Paduch Obliczenia Naturalne - rojowe 5 z 44

Literatura Optymalizacja rojem cząstek (ang. Particle swarm optimization) jest prostym i intuicyjnym mechanizmem optymalizacyjnym. Każda cząstka reprezentuje potencjalne rozwiązanie. Cząstki poruszają się przez wielowymiarową przestrzeń poszukiwań. Pozycja jest aktualizowana według własnego doświadczenia oraz doświadczenia sąsiadów, poprzez dodanie wektora prędkości do ich aktualnego stanu przemieszczania się. Aktualna prędkość zależy od, poprzedniej prędkości, dążenia do swojego najlepszego poprzedniego położenia oraz dążenia do globalnego lub lokalnego najlepszego wyniku sąsiada. Każda cząstka jest zbieżna do punktu pomiędzy własnym najlepszym rozwiązaniem a najlepszym rozwiązaniem globalnym. Paweł Paduch Obliczenia Naturalne - rojowe 6 z 44

Trzy algorytmy Wprowadzenie Algorytm Individual Best Algorytm Global Best Algorytm Local Best Rój cząstek porusza się kierując się doświadczeniem własnym, najbliższych sąsiadów lub całego stada. Dlatego opracowano 3 główne algorytmy optymalizacji rojem cząstek: Individual Best - każda cząstka zapamiętuje swoje dotychczasowe najlepsze rozwiązanie i nie używa informacji pochodzących od innych cząstek, Global Best - każda cząstka porównuje swoją pozycję do najlepszej pozycji wśród wszystkich innych cząstek, Local Best - uogólnienie Global Best, rozpatrujemy tylko najbliższe sąsiedztwo (ale sąsiedztwo może zawierać też wszystkie cząstki). Paweł Paduch Obliczenia Naturalne - rojowe 7 z 44

Definicje Wprowadzenie Algorytm Individual Best Algorytm Global Best Algorytm Local Best Każda i-ta cząstka w czasie t (P i (t)) w hiperprzestrzeni n wymiarowej posiada dwa parametry: położenie: oraz prędkość: x i (t) = (x i1 (t), x i2 (t),..., x in (t)), v i (t) = (v i1 (t), v i2 (t),..., v in (t)). Nową pozycję w czasie t + 1 wyznaczamy: x i (t + 1) = x i (t) + v i (t + 1) Przy czym v i (t + 1) zależy od użytego algorytmu. Paweł Paduch Obliczenia Naturalne - rojowe 8 z 44

Algorytm Individual Best Wprowadzenie Algorytm Individual Best Algorytm Global Best Algorytm Local Best k - liczba cząstek P(t) = {P 1, P 2,..., P k } - zbiór cząstek P i = ( x i, v i ) - każda cząstka ma położenie i prędkość F ( x i (t)) - funkcja przystosowania cząstki P i w czasie t w miejscu x i ϕ - liczba losowa Algorytm 1 Individual Best 1: P(t) losowo wygeneruj rój cząstek 2: repeat 3: for all P i w zbiorze P do 4: wyznacz F ( x i (t)) 5: if F ( x i (t)) < pbest i then 6: pbest i F ( x i (t)) 7: x pbesti x i (t). 8: end if 9: end for 10: for all P i w zbiorze P do 11: v i (t + 1) v i (t) + ϕ( x pbesti x i (t)) 12: x i (t + 1) x i (t) + v i (t + 1) 13: end for 14: t t + 1 15: until Spełnione kryteria stopu Paweł Paduch Obliczenia Naturalne - rojowe 9 z 44

Algorytm Individual Best Wprowadzenie Algorytm Individual Best Algorytm Global Best Algorytm Local Best 1 P i P(0) wylosuj położenie x i (0) oraz prędkość v i (0), t = 0 2 Oceń rozwiązanie F ( x i (t)) każdej cząstki w P(t) na podstawie jej położenia x i (t) 3 Jeżeli znalazło się rozwiązanie lepsze od obecnego pbest i to zapamiętaj go oraz jego położenie x i (t) 4 P i P(0) wyznacz nową prędkość w kierunku i zwrocie do nowego najlepszego rozwiązania ale o wartości losowej. 5 P i P(0) na podstawie nowej prędkości ustal nowe położenie. 6 Zwiększ t o jeden i jeżeli warunek stopu nie spełniony zacznij od punktu 2. Paweł Paduch Obliczenia Naturalne - rojowe 10 z 44

Wizualizacja obliczeń Wprowadzenie Algorytm Individual Best Algorytm Global Best Algorytm Local Best v i (t + 1) = v i (t) + ϕ( x pbesti x i (t)) x i (t + 1) x i (t + 1) = x i (t) + v i (t + 1) x i (t) v i (t) v i (t + 1) x pbesti x i (t) ϕ( x pbesti x i (t)) x pbesti Paweł Paduch Obliczenia Naturalne - rojowe 11 z 44

Algorytm global Best Wprowadzenie Algorytm Individual Best Algorytm Global Best Algorytm Local Best Algorytm 2 Global Best 1: P(t) losowo wygeneruj rój cząstek 2: repeat 3: for all P i w zbiorze P do 4: wyznacz F ( x i (t)) 5: if F ( x i (t)) < pbest i then 6: pbest i F ( x i (t)) 7: x pbesti x i (t). 8: end if 9: if F ( x i (t)) < gbest i then 10: gbest i F ( x i (t)) 11: x gbesti x i (t). 12: end if 13: end for 14: for all P i w zbiorze P do 15: v i (t + 1) v i (t) + ϕ 1 ( x pbesti x i (t)) + ϕ 2 ( x gbesti x i (t)) 16: x i (t + 1) x i (t) + v i (t + 1) 17: end for 18: t t + 1 19: until Spełnione kryteria stopu Paweł Paduch Obliczenia Naturalne - rojowe 12 z 44

Algorytm Global Best Wprowadzenie Algorytm Individual Best Algorytm Global Best Algorytm Local Best 1 P i P(0) wylosuj położenie x i (0) oraz prędkość v i (0), t = 0 2 Oceń rozwiązanie F ( x i (t)) każdej cząstki w P(t) na podstawie jej położenia x i (t) 3 Jeżeli znalazło się rozwiązanie lepsze od obecnego pbest i to zapamiętaj go oraz jego położenie x i (t) Dodatkowo jeżeli znalazło się rozwiązanie lepsze od obecnego globlnego gbest to zapamiętaj go oraz jego położenie x i (t) 4 P i P(0) wyznacz nową prędkość w kierunku i zwrocie uwzględniającym najlepsze rozwiązanie danej cząstki oraz globalne. 5 P i P(0) na podstawie nowej prędkości ustal nowe położenie. 6 Zwiększ t o jeden i jeżeli warunek stopu nie spełniony zacznij od punktu 2. Paweł Paduch Obliczenia Naturalne - rojowe 13 z 44

Algorytm Local Best Wprowadzenie Algorytm Individual Best Algorytm Global Best Algorytm Local Best Algorytm 3 Local Best 1: P(t) losowo wygeneruj rój cząstek 2: repeat 3: for all P i w zbiorze P do 4: wyznacz F ( x i (t)) 5: if F ( x i (t)) < pbest i then 6: pbest i F ( x i (t)) 7: x pbesti x i (t). 8: end if 9: if F ( x i (t)) < lbest i then 10: lbest i F ( x i (t)) 11: x lbesti x i (t). 12: end if 13: end for 14: for all P i w zbiorze P do 15: v i (t + 1) v i (t) + ϕ 1 ( x pbesti x i (t)) + ϕ 2 ( x lbesti x i (t)) 16: x i (t + 1) x i (t) + v i (t + 1) 17: end for 18: t t + 1 19: until Spełnione kryteria stopu Paweł Paduch Obliczenia Naturalne - rojowe 14 z 44

Liczby losowe Wprowadzenie Algorytm Individual Best Algorytm Global Best Algorytm Local Best Podane we wzorach liczby losowe ϕ 1 i ϕ 2 zdefiniowane są następująco: ϕ 1 = r 1 c 1 ϕ 2 = r 2 c 2 Gdzie r 1, r 2 U(0, 1) oraz c 1 i c 2 są stałymi przyspieszenia. W pracach Kennedy ego wykazane zostało eksperymentalnie, że przy c 1 + c 2 > 4 następuje eksplozja prędkości i położenia. Paweł Paduch Obliczenia Naturalne - rojowe 15 z 44

Funkcja oceny Wprowadzenie Algorytm Individual Best Algorytm Global Best Algorytm Local Best Pozycja cząstki jest tym lepsza im bliżej jest rozwiązania tak więc F ( x i (t)) może być miarą odległości. Dlatego też gbest i czy lbest jest poprawiane gdy jest F ( x i (t)) < best. Paweł Paduch Obliczenia Naturalne - rojowe 16 z 44

Warunki stopu Wprowadzenie Algorytm Individual Best Algorytm Global Best Algorytm Local Best Warunkami zatrzymania algorytmu mogą być np.: Wykonianie określonej liczby iteracji. Zmiana prędkości jest bliska 0 dla wszystkich cząstek (nie ma zmian w pozycji cząstek) Paweł Paduch Obliczenia Naturalne - rojowe 17 z 44

Który algorytm? Wprowadzenie Algorytm Individual Best Algorytm Global Best Algorytm Local Best Wersja globalna jest szybsza jednak może być zbieżna do lokalnego ekstremum w niektórych problemach, ponieważ wszystkie cząstki dążą do jednego punktu Wersja lokalna jest nieco wolniejsza jednak mniej podatna na lokalne ekstrema, ponieważ punktów lbest jest więcej. Wersja lokalna z maksymalnym sąsiedztwem (wszystkie cząstki są sąsiadami) to wersja globalna. Sterując rozmiarem sąsiedztwa mamy wpływ jak bardzo algorytm na stopień w jakim algorytm działa jako globalny lub lokalny. Paweł Paduch Obliczenia Naturalne - rojowe 18 z 44

Parametry standardowego PSO Wprowadzenie Algorytm Individual Best Algorytm Global Best Algorytm Local Best Standardowy algorytm PSO ma następujące parametry: n - wymiar przestrzeni poszukiwań, zależy od problemu, k - liczba cząstek w każdej iteracji (typowo stosuje się około 20-40 cząstek), Ograniczenie ϕ Górne ograniczenie prędkości Rozmiar sąsiedztwa Waga inercji Paweł Paduch Obliczenia Naturalne - rojowe 19 z 44

Ograniczenie prędkości Wprowadzenie Algorytm Individual Best Algorytm Global Best Algorytm Local Best Ograniczenie prędkości przemieszczania cząstek stosuje się po to by nie przeskakiwały zbyt szybko po przestrzeni poszukiwań. Jeżeli: to v i (t) = (v i1 (t), v i2 (t),..., v in (t)) v max, jeżeli v ij > v max, v ij = v max, jeżeli v ij < v max, v ij, w pozostałych przypadkach Zwykle v max określa się miarą problemu, np gdy x 1 < 0, 10 > to v max = 10. Paweł Paduch Obliczenia Naturalne - rojowe 20 z 44

Waga inercji Wprowadzenie Algorytm Individual Best Algorytm Global Best Algorytm Local Best We wzorze v i (t + 1) = φ v i (t) + ϕ 1 ( x pbesti x i (t)) + ϕ 2 ( x lbesti x i (t)) Yuhui Shi i Eberhart dodali parametr φ. Jest to waga inercji (bezwładu) cząstki. Im większa jest inercja tym większa jest eksploracja, cząstka nie zmienia łatwo kierunku. Jeżeli zmniejszymy bezwładność cząstki, łatwiej będzie zmieniać kierunek i skupi się na przeszukiwaniu mniejszego obszaru. W PSO φ zwykle zmienia się z kolejnymi iteracjami, od dużego do małego. Paweł Paduch Obliczenia Naturalne - rojowe 21 z 44

Sąsiedztwo lokalne Wprowadzenie Algorytm Individual Best Algorytm Global Best Algorytm Local Best Dla sąsiedztwa o rozmiarze 2 branych jest pod uwagę dwóch najbliższych sąsiadów. Np. dla cząstki 3, sąsiadami są 2 i 4 7... 8... 1... 2 0,33 3 0,54 dla cząstki 3 lbest = 0, 33 6... 4 0,72 5... Paweł Paduch Obliczenia Naturalne - rojowe 22 z 44

Sąsiedztwo globalne Wprowadzenie Algorytm Individual Best Algorytm Global Best Algorytm Local Best 1... Przy sąsiedztwie globalnym rozmiar sąsiedztwa wynosi k 1 elementów. Każda cząstka porównuje wynik ze wszystkimi sąsiadami. 7... 8... 6... 2... 4... 3 0,54 5... Paweł Paduch Obliczenia Naturalne - rojowe 23 z 44

Wersja binarna Wprowadzenie Algorytm Individual Best Algorytm Global Best Algorytm Local Best W przypadku wersji binarnej, położenie każdej cząsteczki w każdym wymiarze opisane jest tylko przez 0 i 1. Jeżeli przestrzeń była by 3 wymiarowa to ciąg x i = (x i1, x i2, x i3 ). Obrazując takie założenie, rozwiązania znajdowały by się w wierzchołkach sześcianu o długości boku 1 i jednym roku w punkcie 0,0,0 a drugim 1,1,1. Paweł Paduch Obliczenia Naturalne - rojowe 24 z 44

Wersja binarna Wprowadzenie Algorytm Individual Best Algorytm Global Best Algorytm Local Best Jeżeli nowa wartość prędkości cząstki wynosi: v i (t + 1) = v i (t) + ϕ 1 ( x pbesti x i (t)) + ϕ 2 ( x lbesti x i (t)) To nowe położenie będzie zależne od wektora losowo wygenerowanych liczb o rozkładzie jednostajnym ρ i U(0, 1), i wynosi: { 1, jeżeli ρij < s(v x ij (t + 1) = ij (t + 1)), 0, w przeciwnym wypadku Gdzie: s(v ij (t + 1)) = 1 1 + exp( v ij (t + 1)) Sigmoidalna funkcja spłaszcza dane wejściowe do zadanego przedziału i można według niej wyznaczyć próg prawdopodobieństwa. Paweł Paduch Obliczenia Naturalne - rojowe 25 z 44

Naturalne pszczoły Algorytm Przykład pszczele są stosunkowo nowymi algorytmami optymalizacji bazujące na zachowaniach stadnych owadów. Co prawda już Arystoteles zaobserwował dziwny taniec wywabiający inne pszczoły do źródła pożywienia. W XX w. naszej ery zaczęto badać ów taniec i okazało się, że pszczoły zwiadowcy zachęcają tańcem jednocześnie informując w jakim kierunku, jak daleko i jak dobrej jakości jest pożywienie. Paweł Paduch Obliczenia Naturalne - rojowe 26 z 44

Naturalne pszczoły Algorytm Przykład Kolejnymi trzema algorytmami zainspirowanymi rojami, w tym wypadku rojami pszczół są: MBO (ang. Marriage in Honey-Bees Optimization) - przedstawiony w 2001 roku przez H.A. Abbas a, ABC (ang. Artificial Bee Colony) - opracowany w 2005 roku przez Dervisa Karaboga. BCO (ang. Bee Colony Optimization) - zaproponowany w tym samym roku przez Dušana Teodorovića i Mauro Dell orco Paweł Paduch Obliczenia Naturalne - rojowe 27 z 44

Role Naturalne pszczoły Algorytm Przykład W podstawowym modelu zachowania pszczół wyróżnić można dwie grupy: Pszczoły zatrudnione, robotnice zbierające nektar (eksploatujące) z określonego już wcześniej miejsca, które oprócz nektaru dostarczają informacji o jakości i położenia źródła pożywienia. Po powrocie do ula mogą: Kontynuować zbieranie Zachęcać kolejnych przyglądaczy Porzucić eksploatacje i zamienić się w skautów lub przyglądaczy Pszczoły niezatrudnione z podziałem na: skautów - pszczoły zwiadowcy, które przeszukują (eksplorują) teren w poszukiwaniu pożywienia przyglądaczy - czekające w ulu i gotowe do zatrudnienia w terenie. Paweł Paduch Obliczenia Naturalne - rojowe 28 z 44

Zwiadowcy Naturalne pszczoły Algorytm Przykład Zwiadowcy opuszczają ul w celu znalezienia obiecujących pól kwiatów z nektarem. Po powrocie za pomocą tańca zachęcają przyglądaczy by polecieli do ich znaleziska. Taniec odbywa się w tzw. strefie tańca. Jeżeli pszczoła kręci się w kółko pożywienie jest bliżej niż 50m. Jeżeli dalej to idzie po prostej kręcąc odwłokiem zawraca i znowu powtarza czynność. Kierunek w którym idzie oznacza azymut pomiędzy słońcem a znaleziskiem Szybkość ruchów odległość, im wolniej tym dalej Długość prostej po której idzie, jakość znaleziska. Paweł Paduch Obliczenia Naturalne - rojowe 29 z 44

Eksploatacja Naturalne pszczoły Algorytm Przykład Bezrobotne pszczoły po obejrzeniu kilku tańców podejmują decyzję, do którego pola kwiatów lecieć. Kolejne pszczoły przyłączają się obserwując wyniki swoich współpracownic. Po wyczerpaniu nektaru, pszczoły wracają do ula a część z nich przyjmuje rolę zwiadowców. Paweł Paduch Obliczenia Naturalne - rojowe 30 z 44

Inteligencja stadna Naturalne pszczoły Algorytm Przykład Aby uzyskać inteligentne zachowania stadne, powinny być spełnione dwa fundamentalne pojęcia: Samoorganizacja - zestaw dynamicznych mechanizmów i interakcji na niskim poziomie skutkujących powstawaniem struktur na poziomie globalnym, wysokim. Podział zadań - w roju są wyspecjalizowane jednostki wykonujące swoje zadania. Paweł Paduch Obliczenia Naturalne - rojowe 31 z 44

Samoorganizacja Naturalne pszczoły Algorytm Przykład Bonabeau scharakteryzował 4 podstawowe własności na których opiera się samoorganizacja. Pozytywne sprzężenie zwrotne - informacja potwierdzająca, że dane działanie jest dobre i trzeba go kontynuować. Gdy ilość sprowadzanego nektaru zwiększa się, to i coraz większa liczba pszczół angażuje się eksploracje danego terenu. Negatywne sprzężenie zwrotne - przeciwdziała powyższemu stabilizując kolektywny wzorzec, np. po wyczerpaniu nektaru pszczoły opuszczają poletko. Fluktuacje - losowe odchylenia od kolektywnego działania często poprawiają wyniki. Skauci latają w losowych kierunkach odkrywając nowe źródła pożywienia. Wielokrotne interakcje - pszczoły dzielą się informacją o znalezionym nektarze przez taniec. Paweł Paduch Obliczenia Naturalne - rojowe 32 z 44

Sztuczne pszczoły Naturalne pszczoły Algorytm Przykład W algorytmie ABC sztuczne pszczoły poruszają się w wielowymiarowej przestrzeni poszukiwań. Mają one przydzielone różne funkcje takie jak obserwator, pracownica czy skaut(zwiadowca). Niektóre z nich (pracujące i obserwujące) korzystają z doświadczenia własnego lub kolegów z gniazda, inne (skauci) zbierają nektar z losowych miejsc, nie biorąc pod uwagę doświadczenia. Paweł Paduch Obliczenia Naturalne - rojowe 33 z 44

Sztuczne pszczoły Naturalne pszczoły Algorytm Przykład Na samym początku wypuszczane są pszczoły zwiadowcy losowo inicjujące pewien zbiór rozwiązań. Pszczoły pracujące, lecą do okolic (miejsca o nieznacznie przesuniętych współrzędnych) znalezionego danego rozwiązania. Pszczoły obserwujące, na podstawie wyników jakie uzyskały pszczoły pracujące, podejmują decyzje, którym pszczołom pracującym mogą pomóc, np. na zasadzie koła ruletki. Gdy poszukiwania przestają przynosić poprawę wyników, pszczoły pracujące przekształcają się w skautów szukając na oślep nowych, potencjalnych rozwiązań zadania. Paweł Paduch Obliczenia Naturalne - rojowe 34 z 44

Algorytm Naturalne pszczoły Algorytm Przykład Algorytm 4 ABC 1: Zainicjuj n skautów umieszczając ich losowo w przestrzeni poszukiwań 2: repeat 3: Oceń rozwiązania (ilość nektaru) 4: Wybierz m rozwiązań do poszukiwań (wybierane są pszczoły o najlepszym przystosowaniu a tym samym regiony przez nie odwiedzone). 5: Określ prawdopodobieństwo przydziału przyglądaczy do danych m regionów (lub inną metodę selekcji np. elitarną, wtedy określamy liczbę e elitarnych regionów gdzie przydzielana jest z góry określona liczby pszczół nep, pozostałe pszczoły nsp zatrudniane są do m e regionów) 6: pszczoły w poszczególnych regionach eksploatują je w granicach o rozmiarach 2 ngh (oceniamy wszystkie rozwiązania) 7: Wybierz po jednej najlepszej pszczole z każdego regionu. 8: Przydziel (n m) pozostałych pszczół do przeszukiwania losowego (wypuść nowych skautów) 9: until Spełnione kryteria stopu Paweł Paduch Obliczenia Naturalne - rojowe 35 z 44

Przykład Naturalne pszczoły Algorytm Przykład Mamy losowo wygenerowanych n = 20 pszczół w przestrzeni poszukiwań. 6 4 x2 2 0 0 1 2 3 4 5 6 x1 Paweł Paduch Obliczenia Naturalne - rojowe 36 z 44

Przykład Naturalne pszczoły Algorytm Przykład Wybieramy m = 3 najlepsze pszczoły, a w śród nich e = 1 pszczół elitarnych 6 4 x2 2 0 0 1 2 3 4 5 6 x1 Paweł Paduch Obliczenia Naturalne - rojowe 37 z 44

Przykład Naturalne pszczoły Algorytm Przykład Rekrutujemy resztę pszczół do wybranych miejsc. Miejsce pszczoły elitarnej dostaje np. nep = 7, po nsp = 3 rozlosowana do pozostałych m e = 2 regionów. Dla ngh = 0, 5 regiony mają rozmiary odpowiednio: (x 11 ngh, x 11 + ngh) (x 21 ngh, x 21 + ngh) (x 12 ngh, x 12 + ngh) (x 22 ngh, x 22 + ngh) (x 13 ngh, x 13 + ngh) (x 23 ngh, x 23 + ngh) x2 6 4 2 (x11, x21) (x13, x23) (x12, x22) 0 0 1 2 3 4 5 6 Paweł Paduch Obliczenia Naturalne - rojowe 38 z 44 x1

Przykład Naturalne pszczoły Algorytm Przykład Wybierz po jednej najlepszej pszczole z każdego regionu 6 4 x2 2 0 0 1 2 3 4 5 6 x1 Paweł Paduch Obliczenia Naturalne - rojowe 39 z 44

Przykład Naturalne pszczoły Algorytm Przykład Dolosuj pozostałe n m = 17 pszczół do nowego pokolenia i oceń ponownie. 6 4 x2 2 0 0 1 2 3 4 5 6 x1 Paweł Paduch Obliczenia Naturalne - rojowe 40 z 44

BCO BCO MBO Kolejnym systemem zainspirowanym rojem pszczół jest algorytmy BCO (ang. Bee Colony Optimization) BCO zaproponowany został przez Dušana Teodorovića i Mauro Dell orco w 2005 roku. Budowa końcowego rozwiązania generowana jest przez rozwijanie rozwiązań częściowych. Słabe rozwiązania eliminowane są już na etapie ich tworzenia. Metodą tą skutecznie można rozwiązywać np. problemy alokacji zadań, czy chociażby problem komiwojażera. Paweł Paduch Obliczenia Naturalne - rojowe 41 z 44

MBO BCO MBO Ostatni z trzech wymienianych tu algorytmów pszczelarskich, zaproponował H.A. Abbas w 2001. MBO bazuje na kopulacji królowej z trutniami. Królowe reprezentują potencjalne rozwiązania. Odbywają loty godowe z trutniami, dzięki czemu powstaje nowe potomstwo, które zostaje ulepszone przez robotnice za pomocą danej metaheurystyki. Najgorsze matki są w tym modelu zastępowane najlepszym potomstwem. Abbas wykorzystał ten algorytm do rozwiązywania jednego z problemów NP-zupełnych, problemu spełnialności 3-SAT. Paweł Paduch Obliczenia Naturalne - rojowe 42 z 44

Pytania BCO MBO? Paweł Paduch Obliczenia Naturalne - rojowe 43 z 44

koniec BCO MBO Dziękuję Państwu za uwagę. Paweł Paduch Obliczenia Naturalne - rojowe 44 z 44