PSO

advertisement
PSO
Optymalizacja
wielocząsteczkowa
stadna
Stada ptaków
Klucze ptaków
Ławica ryb
Ławica ryb
Ławica ryb
Ławica ryb
Ławica ryb
Ławica ryb
Ławica ryb
Ławica ryb
Ławica ryb
Zachowanie wytwórcze




William H. Roetzheim – definiuje naukę o teorii złożoności jako:
„Badanie zachowania wytwórczego przejawianego przez
wzajemnie oddziałujące na siebie elementy, działające na granicy
stabilności i chaosu”.
Systemy złożone funkcjonują w skomplikowany sposób nie
dający się przewidzieć. Programista tworzący model systemu na
komputerze często obserwuje zachowanie niespodziewane i
zaskakujące go. Nie zostało ono przez niego zaprogramowane,
ale pojawia się w trakcie działania programu.
To właśnie nazywamy zachowaniem wytwórczym. Zachowanie
pojedynczej komórki można przewidzieć, tak jak i działanie
pojedynczego neuronu, i w pewnym stopniu reakcje
indywidualnego inwestora. Dopiero, gdy te elementy zaczną
wzajemnie na siebie oddziaływać i wpływać na siebie poprzez te
oddziaływania, to system jako całość przejawia złożone
zachowanie wytwórcze.
Zgodnie z definicją Nauki o Złożoności to badanie zachowania
systemu i wzajemnych wpływów jego pojedynczych elementów
(a nie zachowania pojedynczych elementów).
Zachowania wytwórcze


Stabilność dla systemów ożywionych oznacza brak adaptacji do
pojawiających się zmian. W systemach złożonych,
przejawiających podobne do życia zachowanie wytwórcze,
oznacza to śmierć. System jako całość składa się z miliarda
elementów oddziałujących na siebie w jednakowo przypadkowy
sposób, bez żadnych wzorców, pamięci i zachowania
wytwórczego. Są to systemy chaotyczne. W systemach
ożywionych chaos uniemożliwia organizmowi zachowanie cech,
które okazały się pożyteczne.
System jest stabilny, gdy niektóre jego parametry są stałe, a inne
chaotyczne. Te warunki często nazywane są fazami, np. faza
chaotyczna. Gdy parametry określające stabilność systemu
zmieniają się w taki sposób, że przechodzi on w stan chaotyczny,
następuje zmiana w zachowaniu systemu. Przy wartościach
parametrów, przy których przejście fazowe następuje, system
wykazuje zachowanie wytwórcze, które nazywamy złożonym.
System jest wtedy na tyle chaotyczny, ze może zaadaptować się i
przejawić nowe zachowanie, ale jest jednocześnie na tyle
stabilny, ze utrzyma te swoje właściwości, które okazały się
pożyteczne.
Projekt Reynoldsa




Craig Reynolds zainteresował się możliwością modelowania
złożonych zachowań zwierząt, gdy pracował jako animator
komputerowy. W 1986 stworzył on model skoordynowanego ruchu
dużej liczby zwierząt jak: stado ptaków, czy ławica ryb.
Oprogramowanie, „Boids” było pierwszą metodą umożliwiającą
artystom tworzenie animowanych sekwencji stad poprzez
zautomatyzowanie rysowania ruchu.
Przykłady produkcji opierających się na oprogramowaniu Boids
(1987: Stanley and Stella in: Breaking the Ice (nagroda na
SIGGRAPH- festiwalu poświęconemu komputerowej animacji oraz
realizacji efektów specjalnych), 1992: Batman Returns, 1994: The
Lion King).
Czy trudno byłoby zachęcić komputerowe stworki zwane boidami
(bird-oids, bird(ang.)- ptak) do gromadzenia się w stada? Im
bardziej Reynolds badał zachowanie ptaków, tym bardziej rosło w
nim przekonanie, ze złożone zachowanie, które nazywamy
gromadzeniem się stada, musi opierać się na małej liczbie zasad,
które każdy ptak stosuje indywidualnie.
Spójność boidów
Boid stara się być w środku grupy
sąsiednich boidów.
Separacja boidów
Zachowuje bezpieczną odległość od sąsiednich
boidów.
Omijanie przeszkody
Boidy muszą unikać zderzeń między
sobą, a także z przeszkodami na swojej
drodze.
Podstawy PSO



Obecnie istnieją dwie techniki inspirowane zbiorowym
zachowaniem w obszarze obliczeń inteligentnych.
Jedną z nich są algorytmy mrówkowe a drugą jest PSO
(Particle Swarm Optimization - Optymalizacja
Wielocząsteczkowa).[1]
Pomysł PSO ma swoje korzenie w symulacji
uproszczonego systemu społecznego. Ślepe
stosowanie reguł przez członków stada ptaków i ławic
ryb, umożliwia im zsynchronizowany i bezkolizyjny ruch
dający w wyniku zdumiewającą choreografię.
To zagadnienie było przedmiotem badań Heppnera i
Grenandera oraz Reynoldsa. Ruch ławicy ryb, czy stada
ptaków jest efektem wysiłku każdego ptaka czy ryby,
koncentrującego się na utrzymaniu optymalnego
dystansu od swoich sąsiadów.
Inspiracje biologiczne i
społeczne

Społeczne zachowania zwierząt oraz w niektórych przypadkach
ludzi są sterowane podobnymi regułami. W odniesieniu do ludzi,
zachowania te są jednak bardziej złożone niż poruszanie się
ławicy ryb. Poza fizycznym ruchem, ludzie dopasowują swoje
przekonania, więc ruch ma miejsce w przestrzeni przekonań.
Chociaż dwie osoby nie mogą zajmować tej samej przestrzeni
fizycznego środowiska, mogą mieć te same przekonania zajmując
bez kolizji to samo stanowisko w przestrzeni przekonań.

Abstrakcyjność społecznego zachowania ludzi jest intrygująca i
stała się motywacją do opracowania jego symulacji. Panuje
ogólne przekonanie oraz wiele uzasadniających je przykładów z
natury potwierdzających pogląd, że społeczne dzielenie się
informacją pomiędzy osobnikami danej społeczności może
stanowić przewagę ewolucyjną. Hipoteza ta stanowiła podstawę
powstania PSO.
Podstawowe idee PSO

Pierwotnym zamierzeniem była graficzna symulacja choreografii
grup ptaków oraz ławic ryb. Okazało się, że model taki może być
również wykorzystany jako model obliczeniowy. Autorami tej
stochastycznej techniki optymalizacji bazującej na populacji, są
Eberhart i Kennedy.

Ideę PSO[2] przybliży rozważenie następującego scenariusza:

Grupa ptaków losowo poszukuje pożywienia na jakimś
określonym obszarze. Na tym obszarze znajduje się tylko jeden
kawałek pożywienia. Żaden z ptaków nie zna miejsca, w którym
się on znajduje, ale każdy z nich wie w każdej chwili jak daleko
jest od niego.
Proces optymalizacji w PSO


Ogólnie proces optymalizacji za pomocą PSO polega na
zainicjowaniu populacji początkowej, której elementami są losowe
wygenerowane rozwiązania i poszukiwaniu optimum poprzez
modyfikację kolejnych rozwiązań. Każdym pojedynczym
rozwiązaniem jest ptak w przeszukiwanej przestrzeni. Zwany jest
on 'cząsteczką'. Wszystkie 'cząsteczki' optymalizują swoje
wartości dopasowania (swoją odległość od pożywienia), które są
oceniane przez funkcję dopasowania oraz prędkości, które
wyznaczają kierunek ruchu cząsteczek i długość pokonywanego
dystansu. Przemieszczają się one w przestrzeni problemu
podążając za bieżącym optimum cząsteczek.
Tym optimum może być najlepszy sąsiad i wówczas mówimy o
lokalnej wersji PSO lub może być nim najbliższa optymalnego
rozwiązania cząsteczka w całej populacji, a wtedy mówimy o
wersji globalnej algorytmu. Jest więc możliwość sterowania
procesem przeszukiwania na podstawie osiągnięć lokalnych lub
globalnych, albo uwzględnienie obu równocześnie, a więc
wykorzystanie pełnej informacji.
Mechanizmy PSO


Podsumowując odnieśmy się do sposobu, w jaki realizowane są dwa
podstawowe mechanizmy sterujące algorytmami przeszukiwania w PSO.
Pierwszy z nich to eksploracja przestrzeni przeszukiwań, o której możemy
powiedzieć, że jest stochastyczna i grupowa, a więc jak do tej pory
najlepsza z możliwych. Jednak w porównaniu do algorytmów ewolucyjnych,
jest szybciej ukierunkowywana na obszar najlepszych znalezionych do tej
pory cząsteczek, a więc eksploracja może być zbyt szybko zawężana. Z
jednej strony daje to możliwość przyspieszenia procesu przeszukiwania, ale
z drugiej strony zamiast optimum globalnego może zdarzyć się znaleźć tylko
lokalne.
Drugim mechanizmem sterującym jest wykorzystanie informacji o
dotychczasowych osiągnięciach w procesie przeszukiwania. Mechanizm
dzielenia się informacją w PSO polega na tym, że tylko najlepsza lokalna i
(lub) najlepsza globalna cząsteczka może przekazać informacje innym
cząsteczkom. Oczywiście każda cząsteczka wykorzystuje oprócz tego swoje
własne doświadczenie, pamiętając swoja najlepsza pozycje w przestrzeni
potencjalnych rozwiązań. Jest to mechanizm jednokierunkowego
dzielenia się informacją.
Literatura o PSO

Więcej można znaleźć między innymi w następujących
pozycjach:

Kennedy J., Eberhart R. C.: Particle Swarm Optimization,
Proceedings IEEE International Conference on Neural Networks,
IV: pp. 1942-1948, IEEE Service Center Piscataway. NJ, 1995. 1.

Kennedy J., Eberhart R. C.: Swarm Intelligence. Morgan
Kaufman Publishers 2001. 2.

Parsopoulos K.E., Vrahatis M.N.: Recent approaches to global
optimization problems through Particle Swarm Optimization,
Natural Computing 1, 235-306, 2002. 3.

WZORY
xi  xi1 , xi 2 , , xiD 
xi   xi1 , xi 2 , , xiD 
T
Pi   pi1 , pi 2 ,, piD 
T
WZORY
d = 1, 2, …, D,
i = 1, 2, …, N,
N – rozmiar stada,
C – stała dodatnia, zwana
stałą
przyspieszenia,
r1, r2 – liczby losowe z
rozkładu jednorodnego w
przedziale [0,1],
n – 1, 2, …, - określa numer
iteracji.
v id
n1
x id
n1

 v id  cr1 pid  x id
n
n
 x id  v id
n
n1
n
n
  cr  p
n
2
n
gd
 x id
n

WZORY
w – waga inercji,
c1, c2 – stałe dodatnie
zwane odpowiednio
parametrem poznawczym
(kognitywnym) i p.
zbiorowym (socjalnym),
χ – współczynnik ścisku,
który jest używany
zamiennie z w, w celu
ograniczenia szybkości.
v id




n1
  wvid  c1r1 pid  xid  c2 r2 pgd  xid
n1
 xid  v id
xid
n
n
n
n1
n
n
n
n
n

Parametry PSO


Rola wagi inercji w równaniu (4) jest uważana za krytyczną w
zachowaniu zbieżności PSO. Waga inercji wykorzystywana do kontroli wpływu
poprzedniej historii szybkości na bieżące wartości. Dokładniej – parametr w
reguluje zależność między globalną (szeroko-zakresową) a lokalną (pobliską)
zdolnością eksploracji stada. Duża wartość inercji wskazuje na globalna
eksplorację (przeszukiwanie nowych obszarów), podczas gdy mała wartość
ma tendencję do ułatwiania lokalnej eksploracji tj. dobre dostrajanie bieżącego
obszaru przeszukiwania. Właściwa wartość współczynnika wagi inercji w
zwykle zabezpiecza balansowanie pomiędzy globalną a lokalną eksploracją i
w konsekwencji wpływa na redukcję liczby iteracji wymaganych w celu
zlokalizowania optymalnego rozwiązania. Początkowo wartość inercji była
stała. Jednakże wyniki eksperymentów wskazują, że jest lepiej wstawić
wartość wagi inercji na dużą wartość w celu promowania eksploracji globalnej
przestrzeni przeszukiwań i stopniowo należy zmniejszać ją w celu uzyskania
doskonalszych rozwiązań (Ski, Eberhart, 1998). W ten sposób inicjalna
wartość powinna być ustalona na około 1.2, a następnie stopniowo
zmniejszana na 0, co powinno być uważane za dobrą.
Parametry c1 i c2 w równaniu (4) nie są tak istotne dla zbieżności PSO.
Jednakże właściwe dopasowanie może mieć wpływ na szybszą zbieżność i
złagodzenie efektu lokalnych optimów. Rozszerzone studia dotyczące
parametru przyspieszenia w I wersji PSO były przeprowadzone przez
Kennedy’ego w 1998.
Parametry (cd)



Przy braku jakichkolwiek danych, ustalono c1=c2=2 jako
poprawne, ale wyniki eksperymentów wskazują że c1=c2=0,5
mogą dostarczać zdecydowanie lepsze wyniki. Ostatnie prace
udowadniają, że może być lepiej, gdy wybierać będziemy
parametr kognitywny o większej wartości, niż parametr socjalny c2, ale ogólnie c1 + c2 ≤ 4 (Carlisle i Dozier, 2001).
Parametry r1 i r2 są używane w celu utrzymania
różnorodności populacji i są one zmiennymi losowymi rozkładu
jednorodnego z przedziału [0, 1].
Współczynnik ścisku χ kontroluje ważność szybkości,
wykorzystując metodę z parametrem Vmax, dającym kolejny
wariant PSO, różniący się od metody ze współczynnikiem inercji.
Kontrola szybkości
Ponieważ nie istnieje właściwy mechanizm kontroli szybkości cząsteczki, było
koniecznym wskazanie wartości maksymalnej Vmax.
Jeżeli szybkość przekroczy ten próg, wówczas zostaje ustawiona na Vmax.
Ten parametr wydaje się być kluczowym, ponieważ duże wartości mogą
doprowadzić do tego, że cząsteczki mogą minąć dobre rozwiązania, podczas
gdy małe wartości doprowadzają do niewystarczających eksploracji tej
przestrzeni przeszukiwań. Brak mechanizmu kontroli szybkości spowodował
niską efektywność PSO w porównaniu z technikami EC
Program Boptaki
Download