Particle Swarm Optimization OPTYMALIZACJA STADNA CZĄSTECZEK PSO wprowadzenie Urszula Boryczka [email protected] Particle Swarm Optimization Problemy Inteligencja stadna Particle Swarm Optimization Problemy Inteligencja stadna PSO Inercja w PSO Wizualizacja PSO Współczynnik ścisku w PSO PSO w pełni informowalny Particle Swarm Optimization Problemy Inteligencja stadna PSO Inercja w PSO Wizualizacja PSO Współczynnik ścisku w PSO PSO w pełni informowalny Esencja systemu stadnego Particle Swarm Optimization Problemy Inteligencja stadna PSO Inercja w PSO Wizualizacja PSO Współczynnik ścisku w PSO PSO w pełni informowalny Esencja systemu stadnego Warianty PSO Topologie komunikacji Nisze i specjacje w PSO Particle Swarm Optimization Problemy Inteligencja stadna PSO Inercja w PSO Wizualizacja PSO Współczynnik ścisku w PSO PSO w pełni informowalny Esencja systemu stadnego Warianty PSO Topologie komunikacji Nisze i specjacje w PSO Podsumowanie INTELIGENCJA STADNA INTELIGENCJA STADNA Inteligencja stadna (SI) jest techniką sztucznej inteligencji, bazującą na analizie i studiach zachowań kolektywnych, które są zdecentralizowanymi, samoorganizującymi się systemami. Systemy SI powstały z populacji prostych agentów kontaktujących się lokalnie i w obrębie ich środowiska. Oczywiście nie ma zcentralizowanej kontroli, dyktującej jak mają się zachowywać pojedynczy agenci, a kontakty lokalne między tymi agentami często prowadzą do wyłonienia się globalnego zachowania. Przykłady takich systemów, włączając kolonie mrówek, stada ptaków, stada trzody, bakterie i ryby, można znaleźć przede wszystkim w przyrodzie. INTELIGENCJA STADNA Myślenie jest społeczne... Inteligencja ludzka powstaje poprzez społeczne interakcje: ocenę, porównywanie, naśladownictwo, uczenie się z doświadczeń i rywalizacja w zachowaniach prowadząca do sukcesu. Ludzie potrafią się adaptować do złożonego środowiska poprzez odkrywanie optymalnych wzorców atrybutów, przekonań i zachowań. (Kennedy i Eberhart, 2001) INTELIGENCJA STADNA W celu modelowania ludzkiej inteligencji, powinniśmy modelować indywidua w kontekście wzajemnych, społecznych interakcji. Zastosowania SI Swarm-bots, europejski projekt prowadzony przez Marco Dorigo, mający na celu studiowanie nowych podejść do projektowania i implementacji samoorganizujących i samogromadzących się artefaktów (http://swarm-bots.org/) Praca M. Anthony Lewisa i George’a Bekeya opisuje możliwości użycia inteligencji stadnej do kontroli nanobotów w obrębie ciała ludzkiego w celu wyeliminowania komórek rakowych. Artyści używają technologii stadnych w celu stworzenia kompleksowego, interaktywnego środowiska: Disney „Król Lew” – scena z bizonami, „Władca pierścieni” – sceny batalistyczne. Książki o SI OPTYMALIZACJA STANDA CZĄSTECZEK TWÓRCY PSO PSO ma swoje korzenie w Sztucznym Życiu i psychologii społecznej, inżynierii i informatyce. Stada cząsteczek w pewien sposób są ściśle związane z automatami komórkowymi (CA); pojedyncza komórka aktualizowana jest równolegle, każda nowa wartość komórki zależy tylko od jej starej wartości i od jej sąsiadów i wszystkie komórki są aktualizowane zgodnie z tymi samymi regułami (Rucker, 1999) Indywidua w stadach cząsteczek mogą być rozważane jako komórki w CA, których stany zmieniają się równocześnie w wielu komórkach, w wielu kierunkach (wymiarach). Początki PSO Jak pisali twórcy J. Kennedy i R. Eberhart, algorytm stadny cząsteczek naśladuje ludzkie (owadzie) społeczne zachowania; indywidua kontaktują się między sobą ucząc się ze swych własnych doświadczeń i stopniowo członkowie populacji przemieszczają się w stronę lepszych regionów przeszukiwania przestrzeni rozwiązań. Dlaczego nazwano je „cząsteczkami”, nie punktami? Obydwaj, Kennedy i Eberhart uważają, że szybkość i przyspieszenie są bardziej odpowiednie do zastosowań dla cząsteczki. Prekursorzy PSO Reynolds (1987)- symulacja BOIDS – prosty model stada ptaków, składający się z 3 prostych reguł lokalnych: unikanie kolizji dopasowanie szybkości bycie w centrum stada. Heppner (1990) zainteresował się stworzeniem reguł, które umożliwiły wielkim stadom lot zsynchronizowany. ZASTOSOWANIA PSO Problemy z ciągłą, dyskretną lub mieszaną przestrzenią z wieloma optimami lokalnymi. Problemy rzeczywiste: kompresja cylindryczna (z określoną charakterystyką mechaniczną) serwomechanizmy optymalizacja numeryczna estymacja baterii trenowanie sieci neuronowych kompresja powietrza dynamika środowiska fizycznego i automatyka. ZASTOSOWANIA PSO Problemy z ciągłą, dyskretną lub mieszaną przestrzenią z wieloma optimami lokalnymi. Problemy rzeczywiste: kompresja cylindryczna (z określoną charakterystyką mechaniczną) serwomechanizmy optymalizacja numeryczna estymacja baterii trenowanie sieci neuronowych kompresja powietrza dynamika środowiska fizycznego i automatyka. ZWIĄZKI Z EC W teorii członkowie stada (gromady) mogą korzystać z doświadczeń wszystkich członków stada poszukujących pożywienia. Ta zaleta może być rozstrzygająca wówczas, gdy konkurencyjność w walce o pożywienie zmusi stada do poszukiwań rozprzestrzenionych na porcje źródeł pożywienia (E. O. Wilson). 1 PSO i EC są algorytmami populacyjnymi 2 PSO używa f. ewaluacji, ale źle przystosowane osobniki nie giną. 3 Nie ma operacji genetycznych 4 Każda cząsteczka (kandydat rozw.) zmienia się zgodnie z ich dotychczasowym doświadczeniem i na podstawie relacji między innymi członkami populacji. 5 Istnieje hybryda PSO, gdzie zaadaptowane są koncepcje ewolucyjne, tj. selekcja, mutacja itd. PSEUDOKOD BAZOWEGO PSO Pierwszy model PSO Parametry Najważniejszym parametrem jest Vmax . Jeśli wartość prędkości przekroczy +/-Vmax wówczas zmieniana jest to wartości +/-Vmax . Parametr kontrolny ϕmd = ϕ1d + ϕ2d dla d wymiarów nazywany jest stałą przyspieszenia. Jeśli jest on ustawiony na małą wartość trajektoria cząsteczki jest utrzymana i prędkość powoli rośnie. Jeśli jego wartość rośnie, częstotliwość oscyluje wokół średniej ważonej pid i pgd również rośnie. Waga inercji w PSO W celu poprawy i kontroli przeszukiwania, Ski i Eberhart (1998) zaproponowali „współczynnik inercji”. Eberhart i Ski sugerują użycie wagi inercji, która maleje w jednostce czasu, zwykle od 0.9 do 0.4, z ϕ 2 = 2.0 Mamy wtedy do czynienia z zawężaniem przeszukiwania, stopniowo przechodząc z eksploracji do eksploatacji. Ścisk w PSO Clerc i Kennedy (2000) zasugerowali model ze ściskiem (Typ ’1’ współczynnika). Clerc pokazał, że ten model PSO jest zbieżny bez użycia Vmax . jest wartością dodatnią, (często ustalaną na wartość 2.05), a współczynnik ścisku równy jest 0.7289 (Clerc i Kennedy, 2002).Wykorzystując współczynnik ścisku, amplituda oscylacji zmniejsza się, dając możliwość osiągnięcia zbieżności w krótszym czasie. Wizualizacja PSO W pełni informowalny PSO (FIPS) Propozycja: Mendes & Kennedy, 2004 Wzór ten pokazuje, że cząsteczka ma tendencje do zbiegania się w kierunku wyznaczonym przez średnią ważoną poprzedniego najlepszego położenia i najlepszego w sąsiedztwie. To może zostać uogólnione w następnym równaniu: W pełni informowalny PSO (FIPS) N wskazuje na sąsiedztwo danej cząsteczki, jest najlepszą pozycją znalezioną w sąsiedztwie k-tej cząsteczki, jeśli N =2, to wzór uogólnia się do kanonicznej wersji PSO. Kwintesencja PSO Kennedy (2006) opisał PSO w nastepujący sposób: Nowa pozycja = Bieżąca pozycja + Oporność + Wpływ socjalny Jeśli zastąpimy: w FIPS, wówczas uzyskamy: Oporność wskazuje na pozostanie w tym samym kierunku w trakcie ruchu danej cząsteczki Kwintesencja PSO(2) Wpływ socjalny można dalej rozszerzyć do: Nowa pozycja = Bieżąca pozycja + Oporność + Centralna tendencja socjalna + Rozproszenie socjalne Zcentralizowana tendencja socjalna może być wyznaczona przez uwzględnienie poprzedniej najlepszej pozycji w stosunku do pozycji bieżącej cząsteczki (wciąż otwarta kwestia!) Rozproszenie socjalne może być określone poprzez uwzględnienie odległości poprzedniej najlepszej pozycji cząsteczki lub przez uśrednienie par odległości między poszczególnymi cząsteczkami a ich sąsiadami. Kennedy wykorzystywał rozkład Gaussa, Cauchy’ego (2006). „Obnarzone” PSO Co się stanie, gdy usuniemy prędkość? Kennedy (2003) wykonał parę eksperymentów, używając równań, w których usunięto prędkość. Jeśli pi i pg były stałe, wówczas kanoniczne PSO wykonuje przeszukiwanie rozpraszając się w kształcie dzwona, uśrednionego pomiędzy pi i pg . „Obnarzony” PSO generuje zwykle liczby losowe p +p wokół średniej id 2 gd (dla każdego wymiaru d) z odchyleniem standardowym /pid -pgd /. Warianty PSO Tribes (Clerc, 2006) – adaptacja poprzez rozmiar populacji (nie jest stały) ARPSO (Riget, Versterstorm, 2002) – używa miary różnorodności do wyboru między dwoma fazami przeszukiwania rozproszone PSO (Xie, 2002) – zwiększająca się rola losowości PSO z samoorganizującym się krytycyzmem (Lovbjerg, Krink, 2002) w celu zwiększenia różnorodności samoorganizujące się hierarchiczne PSO (Ratnaweera, 2004) FDR-PSO – (Veeramachaneni, 2003) – wykorzystanie interakcji w obrębie najbliższego sąsiedztwa) PSO z mutacją (Higashi i Iba, 2003, Stacey, 2004) Kooperacyjne PSO (van den Bergh i Engelbrecht, 2005) DEPSO (Zhang i Xie, 2003) – połączenie PSO i DE CLPSO (Liang, 2006)-wcielenie procesu uczenia się od najlepszych cząsteczek. Funkcje testowe Topologie komunikacyjne (1) Dwa najbardziej popularne modele: gbest: najlepsze rozwiązanie ma wpływ na każdą cząsteczkę populacji, lbest: na zachowanie cząsteczki ma wpływ tylko wynik z najbliższego sąsiedztwa. Topologie komunikacyjne (2) Graf wpływów dotyczący stada składającego się z 7 cząsteczek. Dla każdego łuku można zaobserwować: cząsteczka sama wpływa na siebie (Clerc, 2006) i na najbliższe otoczenie. Graf wpływów może być wzbogacony o pamiętanie poprzednich najlepszych pozycji (rozwiązań). Topologie komunikacyjne (3) globalna model wyspowy drobnoziarnista Topologie komunikacyjne (4) Którą wybrać? Balansowanie między eksploracją a eksploatacją... Model gbest propaguje informację o najlepszej (najszybszej) cząsteczce w populacji, podczas gdy lbest używa struktury pierścieniowej, która spowalnia cząsteczkę. Dla złożonych funkcji wielomodalnych – propagowanie najszybszej cząsteczki może być niepożądane. Jednakże nie może się to odbywać zbyt wolno, gdyż narażamy się na długi czas przeszukiwania. Mendes i Kennedy (2002) badali topologię von Neumanna (PN, PD, W, Z) dla każdej cząsteczki w 2-wymiarowej kratownicy) i jest ona najlepsza wśród różnych topologii komunikacyjnych. NISZE I SPECJACJE NISZE I SPECJACJE Grupa indywiduów, która jest odizolowana w procesie reprodukcji w stosunku do innych tego typu grup. Koncepcja biologicznych nisz i specjacji: definicja specjacji wciąż jest dyskutowana... Bardziej wiarygodne specjacje morfoloficzne Mniej – biologiczne specjacje (gatunki). NISZE I SPECJACJE Kennedy (2000) – PSO+k-means Parsopoulos i Vrahitis (2001) – wykorzystano funkcję streching Brits (2002) proponuje nisze+PSO AE – metoda ścisku, współudziału w PSO Petrowski (1998) – procedura czyszcząca, Li (2002) – SCGA – modyfikacja dla funkcji wielomodalnych (utrzymywanie specjacji) Przyczyny analizy specjacji: cząsteczki ze stada klasyfikowane są do grup według miary Euklidesowej definicja specjacji (w PSO) zależy od parametru rs, który jest współczynnikiem odległości Euklidesowej od centrum grupy do granic specjacji. Grupowanie w PSO grupa A – centrum wykonuje lepiej swe zadanie, niż pozostali członkowie grupy A, podczas gdy grupa B – centrum wykonuje zadanie lepiej, niż pewne cząsteczki, ale gorzej niż pozostałe (centrum w sensie odległości euklidesowej). Specjacje w PSO Przykład wyznaczania specjalizacji (gatunku) w populacji dla badanej iteracji algorytmu; S1 , S2 , S3 . Proszę zauważyć , że p podąża za S2 . Particle Swarm Optimization Podsumowanie Particle Swarm Optimization Podsumowanie dokąd zmierzamy ? Particle Swarm Optimization Podsumowanie dokąd zmierzamy ? co porównujemy ? Particle Swarm Optimization Podsumowanie dokąd zmierzamy ? co porównujemy ? co badamy ? Particle Swarm Optimization Podsumowanie dokąd zmierzamy ? co porównujemy ? co badamy ? jak hybrydyzujemy? Particle Swarm Optimization Podsumowanie dokąd zmierzamy ? co porównujemy ? co badamy ? jak hybrydyzujemy? jaki typ optymalizacji ? Particle Swarm Optimization Podsumowanie dokąd zmierzamy ? co porównujemy ? co badamy ? jak hybrydyzujemy? jaki typ optymalizacji ? po co ? Particle Swarm Optimization Podsumowanie dokąd zmierzamy ? co porównujemy ? co badamy ? jak hybrydyzujemy? jaki typ optymalizacji ? po co ? .........