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