6 na stronę - Stefan Brock

Transkrypt

6 na stronę - Stefan Brock
Podział metod przeszukiwania
Algorytmy genetyczne - selekcja
Algorytmy genetyczne - krzyŜowanie
Algorytmy genetyczne - mutacja
Algorytmy
genetyczne algorytm
działania
1
Optymalizacja dla funkcji jednej
zmiennej
Optymalizacja
dla funkcji
dwóch
zmiennych
pokolenie
początkowe
Funkcja dopasowania
Po 10 pokoleniach
Po 20 pokoleniach
Jak przybliŜyć AG do
przestrzeni zadania
• Zgodnie z hipotezą cegiełek Algorytm genetyczny dazy do osiagniecia
rezultatu bliskiego optimum poprzez
zestawianie dobrych schematów (o
przystosowaniu powyzej sredniej) malego
rzedu i malej rozpietosci.
• Chcemy tak dobrać sposób kodowania, by
umoŜliwić efektywne znajdywanie
rozwiązań
Zwykłe kodowanie binarne
Dwa punkty leŜące blisko siebie w przestrzeni
reprezentacji powinny leŜeć blisko siebie w przestrzeni
zadania
Tradycyjnie stosowane jest kodowanie binarnenaturalny kod binarny - nie spełnia tego warunku dla
wyszukiwania numerycznego:
10101010 - 170
1010 - > 10
11101010 - 234
0010 -> 2
10101011 - 171
1110 -> 14
1000 -> 8
1011 ->11
2
Kod Graya
• Kod binarny niepozycyjny
• Sąsiednie liczby róŜnią się tylko na jednej
pozycji
0 - 0000
1 - 0001
2 - 0011
3 - 0010
4 - 0110
5 - 0111
6 - 0101
7 - 0100
8 - 1100
9 - 1101
10 - 1111
11 - 1110
12 - 1010
13 - 1011
14 - 1001
15 - 1000
1010 -> 12
0010 -> 3 ***
1110 ->11
1000 -> 15
1011-> 13
Binarnie czy zmiennopozycyjnie
• Tradycyjnie stosowane jest kodowanie
binarne
• Gdy wymagana jest duŜa dokładność
konieczne jest stosowanie długich wektorów
binarnych
• Na przykład: obszar <-500, 500>, dokładność
10-5, wymagane kodowanie kaŜdej zmiennej
za pomocą:
n>log2(108) = 27 bitów
Genetyczne operatory zmiennopozycyjne
Operatory mutacji
• Reprezentacja: kaŜdy genotyp (rozwiązanie)
reprezentowany jest jako:
s=<v1 v2 ... vm >
gdzie vi odpowiada kolejnej zmiennej z
badanego przedziału <LB, UB>
• Podobnie jak sposób kodowania takŜe
operatory genetyczne powinny zostać
dostosowane do wymagań zadania
• Mutacja losowa - zmiana jednej cyfry
wybranej składowej liczby
zmiennopozycyjnej - wyniki niezadowalające
• Mutacja równomierna - losowanie elementu
wektora vi a następnie wybór nowego vi’ z
całej dziedziny
s’=<v1 v2 ... vi’ ... vm >
• Mutacja nierównomierna - zaleŜna od liczby
pokoleń
Mutacja nierównomierna
Mutacja nierównomierna
′ v + ∆ (t ,UB − LB ) dla x = 0
vi =  i
 vi − ∆ (t ,UB − LB ) dla x = 1
∆ (t , y ) = y (1 − r (1−t / T ) b )
t - nr pokolenia, T- ilość pokoleń
b - parametr (stopień niejednorodności)
r - liczba losowa (0..1)
3
Operatory krzyŜowania
• KrzyŜowanie proste - zdefiniowane jak dla
reprezentacji binarnej, ale dozwolone
punkty krzyŜowania znajdują się tylko
pomiędzy wartościami v
• KrzyŜowanie arytmetyczne - liniowa
kombinacja wektorów.
• a moŜe być stałe lub zaleŜne od numeru
pokolenia
s xt +1 = a * s xt + (1 − a ) * s ty
s ty+1 = a * s ty + (1 − a ) * s xt
Przykład testowy
Zadanie sterowania optymalnego:
N −1


Takie ui Ŝe J = min x N2 + ∑ (xk2 + uk2 )
k =0


Dla obiektu opisanego równaniem:
xk+1=xk+uk
Rozwiązanie moŜna znaleźć analitycznie:
J*=Koxo2 gdzie Ko jest rozwiązaniem
równania Riccatiego
Przykład testowy
ZałoŜono stałą dziedzinę
<LB,UB>=<-200,200>
Przyjęto xo=100 i N=45, czyli kaŜdy
chromosom to
u=<uo,u1 ... u44>
Wartość optymalna J*=16180,4
Porównano rozwiązania z reprezentacją binarną
i reprezentacją zmiennoprzecinkową
Obliczenia
• Kodowanie binarne - 30 bitów na kaŜdy
element ui, co daje łącznie 1350 bitów
• Liczebność populacji - stała, I=60
• Warunek zakończenia liczba iteracji n=20 000
Wyniki dla operatorów zmodyfikowanych:
Efektywność obliczeń
- liczba osobników
Wartość średnia w populacji:
Binarne - J=19234
Zmiennoprzecinkowe - J=16798
Odchylenie standardowe:
Binarne - S=6078
Zmiennoprzecinkowe - J=54
Rozwiązanie najlepsze
Binarne - J=16188
Zmiennoprzecinkowe - J=16182
Dla N=30 bitów na element wektora rozwiązania
Liczba
5
15
25
35
45
Binarne
1080
3123
5137
7177
9221
Zmiennoprzecinkowe
184
398
611
823
1072
4
Efektywność obliczeń
- długość reprezentacji binarnej
Dla I=45 osobników w populacji
Liczba
5
10
20
30
40
50
Binarne
4426
5355
7438
9219
10981
12734
Zmiennoprzecinkowe
1072 (stałe)
Inne operatory zmiennoprzecinkowe
Gdy w zadaniu występują ograniczenia,
celowe jest uŜycie specjalnych operatorów.
Przykład ograniczeń tworzących dziedzinę
wypukłą
Mutacja brzegowa - dla zadań optymalizacji,
gdy rozwiązanie optymalne leŜy blisko
brzegu (ograniczenia) przestrzeni rozwiązań
Jest to wariant mutacji równomiernej, ale:
s’=<v1 v2 ... vi’ ... vm > vi’=left(i) lub right(i)
Wnioski
Zalety reprezentacji zmiennoprzecinkowej:
• Wygoda jednoznacznej zaleŜności między
genem a zmienną
• Lepsza dokładność - zwłaszcza, gdy są duŜe
dziedziny
• Operatory dostosowane do właściwości
przestrzeni zadania
• Szybsze obliczenia
Przykład:
max f(x1,x2)=4x1+3x2
gdy:
2x1+3x2<=6
-3x1+2x2<=3
2x1+x2<=4
0<=x1<=2
0<=x2<=2
Optimum globalne (x1,x2)=(1.5, 1)
Zastosowanie operatora mutacji brzegowej ułatwia
(umoŜliwia) znalezienie optimum globalnego
Inne metody dla zadań z ograniczeniami
KrzyŜowanie heurystyczne
Operator tworzy jednego potomka z dwojga
rodziców:
x3=r*(x2-x1)+x2, gdy f(x2)>=f(x1)
r jest losowane z zakresu 0...1
Potomek jest tworzony w kierunku rozwiązania.
Gdy wykracza poza obszar dziedziny - jest
anulowany
Kara za rozwiązanie niedopuszczalne eval(x)=f(x)+penalty(x)
penalty(x)>0 gdy ograniczenia są naruszone
RóŜne sposoby liczenia kary:
– kara zaleŜy od stopnia naruszenia ograniczenia
– kary dynamiczne - rosnące ze wzrostem numeru
pokolenia
– osobnik spoza dziedziny jest gorszy od wszystkich
z dziedziny
– osobnik spoza dziedziny jest usuwany -kara
śmierci - strategia ewolucyjna
5
Strategia ewolucyjna
W roku 1963 studenci Uniwersytetu
Berlińskiego prowadzili doświadczenia w
tunelu aerodynamicznym, szukając
optymalnych kształtów. Tradycyjne metody
optymalizacji nie dawały rezultatów.
Pomysł - losowe zmiany w parametrach
zgodnie z zasadami mutacji naturalnej.
Jest to program ewolucyjny z reprezentacją
zmiennoprzecinkową i tylko operatorem
mutacji
Zmutowany potomek zastępuje rodzica, tylko
wtedy gdy jest w dziedzinie i gdy lepiej spełnia
funkcję przystosowania
Jest to strategia dwuelementowa ( w momencie
porównania rodzica i potomka)
Wektor d jest modyfikowany według zasady:
Stosunek p udanych mutacji do wszystkich mutacji
powinien wynosić 1/5. Gdy p>1/5 to zwiększ d,
gdy p<1/5 to zmniejsz d
Gdy poszukiwanie przynosi sukces - stosuj większe
kroki, gdy nie ma sukcesu - zagęść poszukiwania
• W większej populacji moŜna wykorzystać
operator krzyŜowania - tak jak krzyŜowanie
proste
• Zawsze tworzony jest 1 potomek, który
rywalizuje z pozostałymi, a najsłabszy jest
usuwany.
(1+1)-SE - strategia dwuelementowa
(µ+1)-SE - strategia wieloelementowa
Parametry sterujące określone są
deterministycznie
Klasyczna strategia ewolucyjna
Populacja składa się z 1 osobnika
Tylko jeden operator - mutacja
Osobnik jest reprezentowany jako para
wektorów: v=(x,d)
x - punkt w przestrzeni poszukiwań
d - wektor odchyleń standardowych
Mutacja:
xt+1=xt+N(0,d)
d nie ulega zmianie
N - wektor liczb gausowskich o średniej 0 i
odchyleniu standardowym d
Reguła 1/5 sukcesu (po k pokoleniach):
cd * d t dla p ( k ) < 1 / 5

d t +1 =  ci * d t dla p ( k ) > 1 / 5
d t
dla p ( k ) = 1 / 5

ci>1 cd<1 na przykład 1.22 i 0.82
MoŜe prowadzić do ekstremum lokalnego ulepszenie poprzez zwiększenie liczebności
populacji
Strategie ewolucyjne samoadaptacyjne
• (µ+λ)-SE Z µ osobników tworzone jest λ
potomków, z których łącznie tworzy się
ponownie pokolenie µ osobników.
Deterministycznie wybierane są najlepsze
osobniki
• (µ,λ)-SE Z µ osobników tworzone jest λ
potomków (µ>λ), z których tworzy się ponownie
pokolenie µ osobników. KaŜdy osobnik Ŝyje
tylko w jednym pokoleniu. Zaleta - gdy optimum
zmienia się lub jest zaszumione
6
• Stosowane są operatory uczące się. Parametr d (wektor
odchyleń standardowych) nie jest stały, ani zmienny według
zasad deterministycznych lecz takŜe podlega ewolucji.
• Wybrane osobniki :
(x1, d1) = ((x11 ... xn1) (d11 ... dn1))
(x2, d2) = ((x12 ... xn2) (d12 ... dn2))
• Operator krzyŜowania:
(x, d) = ((x1q1 ... xnqn) (d1q1 ... dnqn)) qi=1 lub 2
kaŜdy element od wybranego rodzica lub:
(x, d) = (((x11+ x12)/2 ... (xn1+ xn2)/2 )) ((d11+ d12)/2 ... (dn1+ dn2)/2)))
Porównanie: AG i SE
• Metody optymalizacji
numerycznej, stosujące
specjalne procedury wzrostu
funkcji z samo adoptującymi się
parametrami d i θ
• Były przeznaczone do zadań
optymalizacji funkcji
rzeczywistych
• Obliczenia na zmiennych
zmiennoprzecinkowych
Są to programy ewolucyjne. Jest populacja moŜliwych
rozwiązań, a zasada selekcji opiera się na przeŜyciu
bardziej dopasowanych osobników
AG i SE - kolejność operacji
• Najpierw selekcja puli
rodzicielskiej, potem
rekombinacja
(krzyŜowanie, mutacja)
• Stałe parametry
reprodukcji
(prawdopodobieństwa
krzyŜowania i mutacji)
• Operator mutacji: z (x, d, θ ) tworzy (x’, d’, θ’ )
d’=d*exp(N(0,pard))
θ ’= θ +N(0, parθ)
x’=x+C(0, d’, θ ’ )
• Operator mutacji:
d’=d*exp(N(0,pard))
x’=x+N(0, d’)
• Metody adaptacyjnego
przeszukiwania ogólnego
przeznaczenia, uŜywane w
róŜnych zastosowaniach.
Optymalizacja parametryczna
jest tylko jedną z dziedzin
zastosowania
• Reprezentacja binarna lub
zmiennoprzecinkowa
Mutacja skorelowana
• Dodatkowy parametr θ związany ze skorelowaniem
mutacji - wybór kierunku poszukiwań
• KaŜdy osobnik jest reprezentowany przez (x, d, θ )
• Operatory krzyŜowania - podobne jak poprzednio
• Najpierw rekombinacja
potem selekcja
• Parametry reprodukcji d i θ
ulegają ewolucji razem z
wektorem rozwiązań x. Ta
samoadaptacja umoŜliwia
dokładne lokalne
dostrojenie się systemu
AG i SE - proces selekcji
• Z populacji N osobników
wybierana jest losowo z
powtórzeniami populacja
pośrednia N osobników.
Osobniki lepiej
przystosowane mogą
pojawić się wielokrotnie,
szansę mają takŜe
osobniki najsłabsze
• Selekcja zachowująca
• Z pokolenia µ rodziców
tworzy się poprzez
operatory mutacji i
krzyŜowania pokolenie
pośrednie z λ potomków.
Następnie z (µ+ λ) lub λ
wybiera się ponownie
populację µ osobników
poprzez deterministyczne
odrzucenie najsłabszych
• Selekcja wygaszająca lub
pokoleniowa
AG i SE - postępowanie z ograniczeniami
• Na osobniki naruszające
ograniczenia nakłada się
karę. Nie moŜna tych
osobników
bezwarunkowo
wyeliminować, bo wtedy
AG nie tworzył by
nowych osobników
(parametry są stałe)
• JeŜeli potomek nie spełnia
ograniczeń to jest
eliminowany - nie
włączany do nowej
populacji. Gdy takich
przypadków jest duŜo, to
modyfikacji ulegają
parametry rekombinacji na przykład zmniejszenie d
RóŜnice pomiędzy algorytmami genetycznymi
a strategią ewolucyjną zmniejszają się.
7

Podobne dokumenty