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

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

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

SZTUCZNA INTELIGENCJA

Algorytmy ewolucyjne 1

Obliczenia Naturalne - Algorytmy rojowe

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP

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

Optymalizacja ciągła

Programowanie genetyczne, gra SNAKE

Optymalizacja. Wybrane algorytmy

Strategie ewolucyjne (ang. evolu4on strategies)

Metody Rozmyte i Algorytmy Ewolucyjne

Algorytm genetyczny (genetic algorithm)-

Algorytmy genetyczne

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

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

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

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

Optymalizacja. Przeszukiwanie lokalne

Dobór parametrów algorytmu ewolucyjnego

Algorytmy metaheurystyczne podsumowanie

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

O dwóch modyfikacjach algorytmu PSO

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Algorytmy ewolucyjne `

Optymalizacja optymalizacji

Zaawansowane programowanie

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

Algorytmy genetyczne. Dariusz Banasiak. Katedra Informatyki Technicznej Wydział Elektroniki

Algorytmy ewolucyjne

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania i mutacji na skuteczność poszukiwań AE

ALHE Jarosław Arabas Metaheurystyki w Rn Ewolucja różnicowa EDA CMAES Rój cząstek

Obliczenia z wykorzystaniem sztucznej inteligencji

Obliczenia z wykorzystaniem sztucznej inteligencji

Obliczenia ewolucyjne - plan wykładu

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Wstęp do Sztucznej Inteligencji

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

Zastosowanie algorytmów heurystycznych do rozwiązywania problemu układania tras pojazdów

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

Algorytmy genetyczne

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

Strategie ewolucyjne (ang. evolution strategies)

Problem Komiwojażera - algorytmy metaheurystyczne

Algorytmy genetyczne

Algorytmy metaheurystyczne Wykład 6. Piotr Syga

Algorytmy ewolucyjne NAZEWNICTWO

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

LABORATORIUM 3: Wpływ operatorów krzyżowania na skuteczność poszukiwań AE

Aproksymacja funkcji a regresja symboliczna

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

Algorytmy genetyczne

Algorytmy genetyczne w optymalizacji

przetworzonego sygnału

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

Równoważność algorytmów optymalizacji

Algorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba

Teoria i metody optymalizacji

Ewolucja Ró»nicowa - Wprowadzenie

ALGORYTMY GENETYCZNE ćwiczenia

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego

Adaptacyjny algorytm ewolucji różnicowej w rozwiązywaniu problemów teorii gier

Algorytmy estymacji stanu (filtry)

Programowanie genetyczne - gra SNAKE

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne

Modyfikacje i ulepszenia standardowego algorytmu genetycznego

WAE Jarosław Arabas Adaptacja i samoczynna adaptacja parametrów AE Algorytm CMA-ES

Algorytmy ewolucyjne. wprowadzenie

Algorytmy genetyczne (AG)

Techniki optymalizacji

Zadania laboratoryjne i projektowe - wersja β

Zaawansowane programowanie

Teoria algorytmów ewolucyjnych

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 311

Systemy wieloagentowe (Multi Agent Systems - MAS) aspekty wybrane

Algorytmy genetyczne w interpolacji wielomianowej

ALHE Z11 Jarosław Arabas wykład 11

Algorytm memetyczny w grach wielokryterialnych z odroczoną preferencją celów. Adam Żychowski

WYKŁAD 10. kodem pierwotnym krzywej jest ciąg par współrzędnych x, y kolejnych punktów krzywej: (x 1, y 1 ), (x 2, y 2 ),...

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

METODY HEURYSTYCZNE wykład 3

Matematyka stosowana i metody numeryczne

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

ROZWÓJ ALGORYTMU EWOLUCJI RÓŻNICOWEJ. Konrad Wypchło

Automatyczny dobór parametrów algorytmu genetycznego

Algorytmy sztucznej inteligencji

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Metody i techniki sztucznej inteligencji / Leszek Rutkowski. wyd. 2, 3 dodr. Warszawa, Spis treści

Generowanie i optymalizacja harmonogramu za pomoca

Przeszukiwanie lokalne

Metody Optymalizacji: Przeszukiwanie z listą tabu

Optymalizacja a uczenie się

LABORATORIUM 2: Wpływ wielkości populacji i liczby pokoleń na skuteczność poszukiwań AE. opracował: dr inż. Witold Beluch

Grafy Alberta-Barabasiego

Algorytmy ewolucyjne Część II

Metody przeszukiwania

Wyznaczanie parametrów relaksacyjnych z zastosowaniem metod inteligencji obliczeniowej

Problemy z ograniczeniami

Transkrypt:

Rój cząsteczek Particle Swarm Optimization Adam Grycner Instytut Informatyki Uniwersytetu Wrocławskiego 18 maja 2011 Adam Grycner Rój cząsteczek 1 / 38

Praca Kennedy ego i Eberhart a Praca Kennedy ego i Eberhart a Stado/ławica Rój W 1995 James Kennedy i Russell Eberhart opublikowali pracę o tytule Particle Swarm Optimization. Zaprezentowali oni nową metodę optymalizacji ciągłych nieliniowych funkcji. Opierała się ona na dwóch metodach 1 Sztuczne życie [artificial life] (stada ptaków, ławice ryb, teoria roju) 2 Ewolucja obliczeniowa [evolutionary computation] (algorytmy genetyczne, strategie ewolucyjne, programowanie genetyczne) Adam Grycner Rój cząsteczek 2 / 38

Obserwacja ławic, stad Praca Kennedy ego i Eberhart a Stado/ławica Rój powracanie do miejsca, gdzie wcześniej znaleziono jedzenie przekazywanie informacji o pożywieniu wewnątrz stada/ławicy Adam Grycner Rój cząsteczek 3 / 38

Cechy stada Praca Kennedy ego i Eberhart a Stado/ławica Rój bezpieczeństwo ruchu zdolność do poruszania się bez ryzyka kolizji z przeszkodami znajdującymi się w przestrzeni, oraz z innymi osobnikami rozprzestrzenianie się zdolność do rozprzestrzeniania się stada w celu ustalenia i zarządzania minimalnymi odległościami między osobnikami skupianie zdolność do gromadzenia się osobników stada w celu ustalenia i zarządzania maksymalnymi odległościami między osobnikami orientacja zdolność znajdowania określonych regionów lub punktów w przestrzeni Adam Grycner Rój cząsteczek 4 / 38

Cechy stada Praca Kennedy ego i Eberhart a Stado/ławica Rój bezpieczeństwo ruchu W abstrakcyjnym środowisku jest nieistotne. Agenci mogą zajmować taką samą pozycję. rozprzestrzenianie się Przy optymalizacji pragniemy zbieżności skupianie orientacja Adam Grycner Rój cząsteczek 5 / 38

Rój Praca Kennedy ego i Eberhart a Stado/ławica Rój Po wyeliminowaniu dwóch cech stada okazało się, że ruch agentów bardziej przypomina zachowanie roju cząsteczek, a nie stada/ławicy. Adam Grycner Rój cząsteczek 6 / 38

Cechy inteligentnego roju Praca Kennedy ego i Eberhart a Stado/ławica Rój Cechy inteligentnego roju według Millonas a bliskość obsługa populacji powinna zajmować proste struktury i mało mocy obliczeniowej jakość ocena jakości cząstek różnorodność odpowiedzi populacja powinna nie popadać w ograniczony zbiór zachowań stabilność populacja nie powinna zmieniać zachowania przy każdej najmniejszej zmianie środowiska adaptacyjność populacja powinna umieć zmienić swoje zachowanie jeśli się to opłaca Adam Grycner Rój cząsteczek 7 / 38

Atrybuty cząsteczki Praca Kennedy ego i Eberhart a Stado/ławica Rój położenie prędkość jakość najlepsze swoje położenie zbiór sąsiadów oraz najlepsze ich położenie Adam Grycner Rój cząsteczek 8 / 38

Wybory cząsteczki Praca Kennedy ego i Eberhart a Stado/ławica Rój Cząsteczka stara się poruszać zgodnie z trzema kierunkami zgodnie z poprzednim kierunkiem zgodnie z kierunkiem do najlepszej znalezionej pozycji zgodnie z kierunkiem do najlepszej pozycji znalezionej przez sąsiadów Adam Grycner Rój cząsteczek 9 / 38

Symulacja stada ptaków Ewolucja wzoru Wzór 1 Adam Grycner Rój cząsteczek 10 / 38

Ewolucja wzoru Wzór 2 - dostosowanie prędkości w zależności od odległości od maksimum Adam Grycner Rój cząsteczek 11 / 38

Ewolucja wzoru Wzór 3 - statystycznie przez połowę czasu cząsteczka będzie przelatywać przez maksimum Adam Grycner Rój cząsteczek 12 / 38

Ewolucja wzoru Wzór 4 - ostateczny wzór: Wzór na ruch cząsteczki v = c 1 r 1 v + c 2 r 2 (pbest x) + c 3 r 3 (gbest x) x = x + v gdzie v - prędkość cząsteczki x - położenie cząsteczki pbest - najlepsze znalezione przez cząsteczkę położenie gbest - najlepsze znalezione przez zbiór sąsiadów położenie c 1, c 2, c 3 - współczynniki określające wpływ poszczególnych elementów r 1, r 2, r 3 - wartości losowe z rozkładu jednostajnego U(0, 1) Adam Grycner Rój cząsteczek 13 / 38

Ewolucja wzoru Adam Grycner Rój cząsteczek 14 / 38

Ewolucja wzoru Dla c 1 = r 1 = 1 cząsteczki wykonują swarming movement wokół: 1 c 2 +c 3 (c 2 pbest + c 3 gbest) Adam Grycner Rój cząsteczek 15 / 38

Ewolucja wzoru Wylosuj początkowe położenia i prędkości roju while kryterium_zatrzymania dla każdej cząsteczki i zaktualizuj prędkość według wzoru 4 zaktualizuj pozycję według wzoru 4 jeżeli f(nowa_pozycja) < f(pbest_i): pbest_i = nowa_pozycja jeżeli f(nowa_pozycja) < f(gbest_i): gbest_i = nowa_pozycja Adam Grycner Rój cząsteczek 16 / 38

Brak sąsiedztwa Sąsiedztwo Wersja dla problemów dyskretnych Modyfikacja prędkości Operatory ewolucyjne działa słabo Adam Grycner Rój cząsteczek 17 / 38

Sąsiedztwo globalne Sąsiedztwo Wersja dla problemów dyskretnych Modyfikacja prędkości Operatory ewolucyjne łatwe w implementacji wymaga niskich kosztów obliczeniowych szybko zbiega Adam Grycner Rój cząsteczek 18 / 38

Sąsiedztwo według indeksu Sąsiedztwo Wersja dla problemów dyskretnych Modyfikacja prędkości Operatory ewolucyjne Pierścień Sąsiadami są cząsteczki o indeksach < i l; i + l > modulo liczba cząsteczek Adam Grycner Rój cząsteczek 19 / 38

Sąsiedztwo według indeksu Sąsiedztwo Wersja dla problemów dyskretnych Modyfikacja prędkości Operatory ewolucyjne Koło Adam Grycner Rój cząsteczek 20 / 38

Sąsiedztwo według indeksu Sąsiedztwo Wersja dla problemów dyskretnych Modyfikacja prędkości Operatory ewolucyjne Von Neumann Adam Grycner Rój cząsteczek 21 / 38

Sąsiedztwo przestrzenne Sąsiedztwo Wersja dla problemów dyskretnych Modyfikacja prędkości Operatory ewolucyjne Po każdej iteracji szukamy k najbliższych cząsteczek według ustalonej metryki Adam Grycner Rój cząsteczek 22 / 38

Sąsiedztwo przestrzenne Sąsiedztwo Wersja dla problemów dyskretnych Modyfikacja prędkości Operatory ewolucyjne Szukanie k najbliższych sąsiadów według parametru ψ ab = pos a pos b max i,j S pos i pos j lub wykorzystanie dynamicznej wartości progowej frac(k) = 3k+0.6kmax k max gdzie k max - przewidywana maksymalna liczba iteracji k - liczba iteracji kosztowne obliczeniowo lepiej przeszukuje przestrzeń przeszukiwań Adam Grycner Rój cząsteczek 23 / 38

Inne sąsiedztwa Sąsiedztwo Wersja dla problemów dyskretnych Modyfikacja prędkości Operatory ewolucyjne topologia gwiazdy topologia z błędem (zaburzenie poprzednich wersji) piramida Adam Grycner Rój cząsteczek 24 / 38

Sąsiedztwo Wersja dla problemów dyskretnych Modyfikacja prędkości Operatory ewolucyjne Particle Swarm Optimization zostało zaprojektowane do optymalizacji rzeczywistych funkcji ciągłych. Jednak istnieją modyfikacje pozwalające optymalizować problemy, gdzie rozwiązaniami są wektory binarne lub wektory liczb całkowitych Adam Grycner Rój cząsteczek 25 / 38

Wersja binarna Sąsiedztwo Wersja dla problemów dyskretnych Modyfikacja prędkości Operatory ewolucyjne Wykorzystanie funkcji sigmoidalnej Funkcja sigmoidalna sig(v t i,j ) = 1 1+exp( v t i,j ) Adam Grycner Rój cząsteczek 26 / 38

Wersja binarna Sąsiedztwo Wersja dla problemów dyskretnych Modyfikacja prędkości Operatory ewolucyjne Wykorzystanie funkcji sigmoidalnej Nowe współrzędne cząsteczki x t+1 i,j = { 0 jeżeli r t 3,j sig(v t+1 i,j ) 1 w.p.p. r t 3,j = U(0, 1) Adam Grycner Rój cząsteczek 27 / 38

Geometric PSO Sąsiedztwo Wersja dla problemów dyskretnych Modyfikacja prędkości Operatory ewolucyjne Wykorzystane krzyżowanie z trzema rodzicami z ppb. w 1 na pozycji x j przepiszemy zawartość j-tej pozycji poprzedniego położenia z ppb. w 2 na pozycji x j przepiszemy zawartość j-tej pozycji pbest z ppb. w 3 na pozycji x j przepiszemy zawartość j-tej pozycji gbest Adam Grycner Rój cząsteczek 28 / 38

Sąsiedztwo Wersja dla problemów dyskretnych Modyfikacja prędkości Operatory ewolucyjne PSO dla problemów kombinatorycznych Należy zdefiniować, czym jest: położenie cząsteczki (np. permutacja) prędkość (np. lista transpozycji) odejmowanie[pozycja, pozycja] (wynik: wektor prędkości między x 1, a x 2 ) mnożenie zewnętrzne[skalar, prędkość] dodawanie[wektor,wektor] zastępowanie[pozycja, wektor] zaaplikowanie położenia do prędkości Adam Grycner Rój cząsteczek 29 / 38

Współczynnik inercji Sąsiedztwo Wersja dla problemów dyskretnych Modyfikacja prędkości Operatory ewolucyjne Dodatkowy współczynnik do równania na prędkość cząsteczki Wzór na prędkość v = c 1 r 1 v + c 2 r 2 (pbest x) + c 3 r 3 (gbest x) c 1 maleje z czasem duża inercja - aktywna eksploracja całej dziedziny mała inercja - przeszukiwanie lokalnej Adam Grycner Rój cząsteczek 30 / 38

Limit prędkości Sąsiedztwo Wersja dla problemów dyskretnych Modyfikacja prędkości Operatory ewolucyjne W celu uniknięcia zjawiska eksplozji (ucieczki cząsteczek w pierwszych iteracjach) często wprowadza się limit prędkości cząsteczki i-tej na pozycji k-tej. { v i,k vi,k jeżeli v = i,k v max v max jeżeli v i,k > v max lub gdzie v = v i { v i,k vi,k jeżeli v v max = v max v v i,k jeżeli v > v max Adam Grycner Rój cząsteczek 31 / 38

Selekcja Sąsiedztwo Wersja dla problemów dyskretnych Modyfikacja prędkości Operatory ewolucyjne 1 wybierz połowę cząsteczek selekcja turniejowa lepsza połowa 2 skopiuj położenia lepszych cząsteczek w miejsce gorszych 3 pozostaw informację pbest oraz prędkości gorszych cząsteczek Wzmocnienie przeszukiwania lokalnego kosztem globalnego. Zbyt szybkie zbieganie do ekstremów lokalnych. Adam Grycner Rój cząsteczek 32 / 38

Hodowla cząsteczek Sąsiedztwo Wersja dla problemów dyskretnych Modyfikacja prędkości Operatory ewolucyjne Reprodukcja i rekombinacja nadanie cząsteczkom ppb. wyboru, jako rodzica wylosowanie rodziców i skrzyżowanie arytmetyczne położeń oraz prędkości { pos a = rpos a + (1 r)pos b pos b = rpos b + (1 r)pos a { v a = va+v b v a+v b v a v b = va+v b v a+v b v b r (0, 1) Adam Grycner Rój cząsteczek 33 / 38

Inne Sąsiedztwo Wersja dla problemów dyskretnych Modyfikacja prędkości Operatory ewolucyjne mutacja specjacja różnicowanie (diversity) - niszowanie, dzielenie funkcji przystosowania itd. Adam Grycner Rój cząsteczek 34 / 38

Adaptacja Adaptacja Multiswarm PSO Istnieją modyfikacje PSO, w którym w raz z upływem czasu zmienia się: rozmiar roju rozmiar sąsiedztwa cząsteczki współczynniki c 1, c 2, c 3 Adam Grycner Rój cząsteczek 35 / 38

Multiswarm PSO Adaptacja Multiswarm PSO Wprowadzamy kilka rojów, każdy o innym kolorze Cząsteczki o różnych kolorach odpychają się Wprowadzamy siłę odpychającą, którą dodamy do wyliczanej prędkości λ = λ x y 2 x y x y = λ x y 3 (x y) { 0 jeżeli cząsteczki są tego samego koloru 1 jeżeli cząsteczki są różnego koloru Dobre do optymalizacji wielomodalnej Adam Grycner Rój cząsteczek 36 / 38

Bibliografia Adaptacja Multiswarm PSO Maurice Clerc, Particle Swarm Optimization J. Kennedy, R. Eberhart, Particle Swarm Optimization K. Kameyama, Particle Swarm Optimization A Survey E. Talbi, Metaheuristics : from design to implementation materiały dostarczone przez prowadzącego Adam Grycner Rój cząsteczek 37 / 38

Adaptacja Multiswarm PSO Dziękuję za uwagę Adam Grycner Rój cząsteczek 38 / 38