METODY HEURYSTYCZNE wykład 3 ALGORYTMY GENETYCZNE SCHEMAT DZIAŁANIA ANIA AG: procedure algorytm_genetyczny t:= wyberz populację początkową P(t) oceń P(t) whle (not warunek_zakończena) do t:=t+ wyberz P(t) z P(t-) (selekcja) zmeń P(t) (dzałane operatorów genetycznych) oceń P(t) 3 METODY ANALITYCZNE kontra AG METODY ANALITYCZNE ZALETY WADY ścsłe rozwązane zane Funkcja celu mus być cągła Hesjan wysoka szybkość dzałana ana funkcj celu mus być dodatno określony Istneje duże ryzyko zbegnęca sę algorytmu do optmum lokalnego Oblczena rozpoczynają sę z jednego punktu ogranczając obszar poszukwań optmum Wybór punktu startowego wpływa na zbeżno ność metody 4 METODY ANALITYCZNE kontra AG ZALETY jedyną nformacją potrzebną do dzałana ana jest wartość funkcj celu praca na populacj dopuszczalnych rozwąza zań przeszukwane welokerunkowe ALGORYTMY GENETYCZNE WADY Stosunkowo wolne Trudnośc z precyzyjnym znalezenem optmum Przykład: Znaleźć max { f (x)=x } dla wartośc całkowtych x z zakresu -3. Populacja w chwl t: Założena: P(t)= {x{ t,,...x t n} - łańcuchy 5-btowe 5 (x=,,...,3);( - lczebność populacj n=4 5 6
Ścsłe e rozwązane zane: x = x = 3; x = 96. Populacja początkowa (losowane): x = x = x 3 = x 4 = 7 Sytuacja początkowa: Nr osobnka Osobnk 3 4 Wartość x 4 8 9 Suma Średna Max Przystosowane f(x)=x 64 36 8 Prawd. wylosowana osobnka p = f Σ f f / f.5..6.3..5.5 Oczekwana lczba kop.5.43.3.7 4...5 8 Selekcja: Po selekcj: Każdemu cągow kodowemu odpowada sektor koła ruletk o polu proporcjonalnym do przystosowana. 3% 6% % 5% 3 4 Nr osobnka Oczekwana lczba kop.5.43 3.3 4.7 Lczba wylosowanych kop Osobnk po selekcj Wartość x 4 4 9 Suma Średna Max Przystosowane f(x)=x 36 634 49 Prawd. wylosowana osobnka.35.7.35.3..5.35 (x) <,.5), <.5,.6),...... 9 Krzyżowane: Mutacja: p c =.9 p m =.5 Osobnk po selekcj 3 4 Nr osobnka Partner 4 3 Punkt krzyżowana 4 4 Osobnk po krzyżowanu Wartość x 5 7 6 Suma Średna Max Przystosowane f(x)=x 65 79 56 7 48 79 było: Prawd. wylosowana osobnka.36.6.43.5..5.43 Nr osobnka Osobnk po krzyżowa nu 3 4 NNNNN NNNNN NNNNN NNNTN Osobnk po mutacj Mutacja? Wartość x 5 7 8 Suma Średna Max Przystosowane f(x)=x 65 79 34 778 447 79 było: 79 Prawd. wylosowana osobnka.35.6.4.8..5.4
5 ŚREDNIE DOPASOWANIE POPULACJI 49 48 447 Rozpatrywać można zawsze zadane maksymalzacj: 4 8 3 Początkowo Po selekcj Po krzyżowanu Po mutacj g (x)) = -f (x) mn f (x) = max g(x) = max{-f (x)} 8 7 6 5 4 3 MAX WARTOŚĆ FUNKCJI 79 79 Początkowo Po selekcj Po krzyżowanu Po mutacj 3 Zakłada ada sę równeż,, ż funkcja jest dodatna w całej dzedzne (selekcja!) max g(x) = max{g(x )+C} (jeśl g(x) jest ogranczona z dołu) 4 5 5 5 3 4 5 6-5 - -5 - Welkośc zadawane przed uruchomenem AG: lczebność populacj, prawdopodobeństwo krzyżowana, prawdopodobeństwo mutacj, nne (zależy y od algorytmu). 5 5 5-5 - C 3 4 5 6 Zazwyczaj wartośc dobera sę ekspe- rymentalne (metodą prób b błęb łędów), ndywdualne dla rozwązywanego zywanego problemu... -5-5 choć stneją pewne ogólne zalecena... 6 KODOWANIE LICZB RZECZYWISTYCH Założena ena: f (x,...x k ): R k R D = [a[, b ] R f (x,...x k ) > dla każdego x D dokładno adność do c lczb znaczących cych po przecnku Wykonane:. Podzał D = [a, b ] na r = (b - a ) c podprzedzałów.. Wyznaczene najmnejszej lczby całkowtej m: (b - a ) c m 7 ODKODOWYWANIE:. Przekształcene łańcucha bnarnego o długośc m na lczbę dzesętną x ;. Oblczene rzeczywstej wartośc lczby: ( b a) x' x = a + m 8
Przykład: a = -; b = ; c = 6 f (x)) = x sn(π x) ) + max{ f (x)} lczba podprzedzałów: r = (b - a ) c = 3 3 6 3 6 m Dzedzna funkcj: x [-, ] Lczba mejsc po przecnku: c = 6 Na lu btach trzeba zakodować lczbę (wyznaczene m)? 9 3 m 97 5 = 3 = 4 94 34 m = Mając cąg btów: Odkodowywane:. Przekształcene łańcucha na lczbę dzesętną x : x =3395. Oblczene rzeczywstej wartośc lczby: ( b a) x' x = a + m 3 3395 = + 49434 a = -; b = ; c = 6 x = x = 49433 x = + = - 49434 a = -; b = 3 49433 x = + = 49434 =.3745 Przykład: f (x)) =.5 + x sn(4πx ) + x sn( sn(πx ) x [-3.,.] x [4., 5.8] c = c = 4 max{f (x, x )} 3 x : x : r = (b( - a ) c = 5. 4 5. 4 m 3 3 = 7 5 8 = 6 44 m = 8 r = (b( - a ) c =.7 4.7 4 m 6 384 = 4 7 5 m = 5 m = m + m = 33 5 = 3 768 4
Jeden z celów w zmodyfkowanego kodowana: przyblżene algorytmu do przestrzen zadana. Dogodne jest, by dwa punkty leżą żące blsko sebe w przestrzen reprezentacj (genotyp) leżały y równer wneż blsko sebe w przestrzen zadana (fenotyp). (Ne zawsze prawdzwe przy kodowanu bnarnym) np.: Bnarne Całkowtolczbowo 7 8 5 KOD GRAYA procedure GrayToBn value := g b := value for k := to m do f g k = thenvalue := NOT value b k := value procedure BnToGray g := b for k := to m do g k := b k XOR b k b = b, b,..., b m lczba bnarna g = g, g,..., g m lczba w kodze Graya; m długość cągu kodowego. a b a XOR b 6 Bnarne Kod Graya Zmana btu w kodze powoduje, ż otrzymana lczba ma szansę być lczbą bezpośredno blską lczbe przed zmaną. 7 Jednakże e jeżel: el: zmennych; dzedzna z zakresu [-5[ 5]; żądana dokładno adność 6 mejsc po przecnku; To: długość łańcucha bnarnego wynos 3; przestrzeń poszukwań rzędu. Dla tak welkch przestrzen AG dzałaj ają słabo... Zasada mnmalnego alfabetu: Należy y wybrać najmnejszy alfabet, w którym zadane wyraża a sę w sposób b naturalny. 8 KODOWANIE LOGARYTMICZNE Stosowane w celu zmnejszena długod ugośc łańcucha bnarnego. [ b b bn] = ( ) b b ( ) [ bn] b bt znaku wykładnka funkcj wykładnczej adnczej; b bt znaku funkcj wykładnczej adnczej; bn reprezentacja wykładnka funkcj wykładnczej [bn] wartość dzesętna lczby zakodowanej bnarne. ( ) [ ] 6 [ ] = ( ) e = e =.47875 e Za pomocą 5 btów w możlwe jest zakodowane lczb z zakresu [-e 7, e 7 ] (w kodowanu bnarnym [, 3]). Dalszą modyfkacją jest zastosowane KODOWANIA ZMIENNOPOZYCYJNEGO. ( ) [ ] 3 [ ] = ( ) e = e =.855369 9 3
Modyfkacje: łańcuchy o zmennej długod ugośc; struktury bogatsze od łańcuchów w (np. macerze); zmodyfkowane operatory; nowe operatory (nwersja, klonowane, tp.) nna nż bnarna reprezentacja zadana; pamęć chromosomu;... zmenony AG, ulepszony AG, zmodyfkowany AG,... 3 Różnorodne programy operające sę na zasadze ewolucj mogą sę różnć: strukturą danych; operatoram; metodam tworzena populacj początkowej; sposobam uwzględnana ogranczeń zadana; parametram. Zasada dzałana ana ne zmena sę: populacja osobnków w podlega pewnej transformacj, zaś osobnk starają sę przetrwać w procese ewolucj. 3 Dla danego problemu można określ lć wele sposobów kodowana zdefnować szereg operatorów (np. zadane komwojażera). ALGORYTMY EWOLUCYJNE 33 AE to rozwnęce uogólnene AG Należy y jednoznaczne określ lć: schemat dzałana ana AE; metodę selekcj; sposób b kodowana; operatory genetyczne; środowsko dzałana ana AE. 34 procedure Algorytm_Ewolucyjny t:= wyberz populację początkową P(t) oceń P(t) whle (not warunek_zakończena) do wyberz T(t) z P(t) (reprodukcja) utwórz O(t) z T(t) (dzałane operatorów ewolucyjnych) oceń O(t) utwórz P(t+) z O(t) P(t) (sukcesja) t:=t+ T temporary SELEKCJA procedure Algorytm_Ewolucyjny t:= wyberz populację początkow tkową P(t) oceń P(t) whle (not warunek_zakończena czena) do wyberz T(t) z P(t) (reprodukcja) utwórz O(t) z T(t) (operatory) oceń O(t) utwórz P(t+) z O(t) P(t) (sukcesja) t:= :=t+ Reprodukcja tworzene populacj tymczasowej T(t), która jest poddawana dzałanu anu operatorów genetycznych tworząc c populację potomną O(t). O -offsprng 35 36 = REPRODUKCJA (preselekcja) + SUKCESJA (postselekcja) Sukcesja tworzene nowej populacj bazowej P(t+) z populacj potomnej O(t) oraz starej populacj bazowej P(t).
Superosobnk: Nepożą żądane w początkowej faze dzałana ana (przedwczesna zbeżno ność). Pozytywne pod konec pracy algorytmu (zawęż ężene przestrzen poszukwań). Napór r selekcyjny (selektywny nacsk): tencja algorytmu do poprawana wartośc średnej przystosowana. Algorytm charakteryzuje sę tym wększym naporem selekcyjnym, m wększa jest oczekwana lczba kop lepszego osobnka w porównanu z oczekwaną lczbą kop osobnka gorszego. 37 Twarda (brutalna) selekcja wybór r do populacj potomnej powelane tylko najlepszego osobnka (metoda stochastycznego wzrostu). Przyjęce jednakowego prawdopodobeństwa - algorytm błąb łądz przypadkowo (brak selekcj). W AE - metoda pośredna, zwana mękką selekcją. 38 KOŁO O RULETKI METODY REPRODUKCJI I SUKCESJI SELEKCJA TURNIEJOWA jak w AG... Wybór k osobnków (rozmar turneju, zwykle k=) selekcja najlepszego z grupy. Powtarzane pop_sze razy. 39 4 SELEKCJA RANKINGOWA Szeregowane osobnków w wedługw wartośc przystosowa- na selekcja zgodne z kolejnośc cą (wg tzw. ln rang ): 5 5 SUKCESJA TRYWIALNA (z całkowtym zastępowanem) Nową populacją bazową staje populacja potomna P(t+) = O(t) (jak w AG). 5 5 Najbardzej odporna na przedwczesną zbeżno ność. 5 5 3 4 5 6 7 8 9 3 4 5 6 7 8 9 Najwolnej prowadz do rozwązana zana optymalnego. Zapobega powstawanu superosobnków. Pomja nformację o względnych ocenach osobnków. 4 Może e powodować, że e najlepsze rozwązana zana z populacj P(t) ne znajdą sę w populacj P(t+). 4
SUKCESJA Z CZĘŚ ĘŚCIOWYM ZASTĘPOWANIEM W nowej populacj bazowej sąs osobnk z populacj potomnej ze starej populacj bazowej: P(t+) = O(t) + P(t) Prowadz zwykle do stablnejszej pracy AE. Może e spowodować tencję do osągana maksmów lokalnych. Mechanzm usuwana (waranty): usuwane najgorzej przystosowanych osobnków; usuwane osobnków w podobnych do potomnych; usuwane losowo wybranych osobnków. SUKCESJA ELITARNA Gwarantuje przeżyce co najmnej najlepszego osob- nka poprzez odpowedn wybór r osobnków w z P(t) do P(t+) Wzrost welkośc elty powoduje przyspeszene zbeżno nośc algorytmu. Najkorzystnej jeden, ew. klka osobnków). w. 43 44 TYPOWE OPERATORY KRZYŻOWANIA 45 Para rodzców para potomków Zwykle: osobnk rodzcelske dają (sprzęż ężone) osobnk potomne. Pojedynczy osobnk potomny warant dwuosobnczy para osobnków w rodzcelskch; warant globalny jeden wodący n pomocnczych osobnków w rodzcelskch (po jednym dla każdego genu). Krzyżowane weloosobncze: z weloma osobnkam potomnym; z jednym osobnkem potomnym. 46 OPERATORY KRZYŻOWANIA WYMIENIAJĄCEGO Tworzą chromosomy potomne przez składane ch z wartośc genów w chromosomów w rodzcelskch. KRZYŻOWANIE JEDNOPUNKTOWE (proste) wybór r (z rozkładem jednostajnym) lczby c (punkt rozcęca) ca) ze zboru {,,..., n -} n - długość osobnka; Wzrost welkośc elty powoduje wększe prawdo- podobeństwo osągana ekstremów w lokalnych. Wartość welkośc elty δ decyduje o naporze selek- cyjnym (δ= sukcesja trywalna). Mogą być wykorzystywane zarówno przy kodowanu bnarnym, jak rzeczywstolczbowym. Ne dochodz do modyfkacj wartośc genów zawar- tych w chromosomach krzyżowanych osobnków rodzcelskch (tylko ch przetasowane). 47 Podzał chromosomów X X poddawanych krzyżowanu na dwe częś ęśc ch sklejane: Y = [X[,,..., X c, X c+,, X n]. W wersj z osobnkam potomnym drug potomek: Z = [X[,,..., X c, X c+,, X n ] 48
KRZYŻOWANIE DWUPUNKTOWE X X Y Z wybór r punktów w rozcęca ca c c ; 3.4 -..3. 3.4 7.7 c 3.4 -..3. 3.4 7.7 Podzał chromosomów X X poddawanych krzyżo- wanu na 3 częś ęśc wymana środkowej częś ęśc:. 7.3..4 4.8..4 4.8. 7.3 Y = [X[,,..., X c, X c+,, X c, X c+,, X n ] W wersj z osobnkam potomnym drug potomek: -. -.4 -.4 -. Z = [X[,,..., X c, X c+,, X c, X c+,, X n ] c = c krzyżowane jednopunktowe 49 5 KRZYŻOWANIE RÓWNOMIERNER X 3.4 -..3. X. 3.4 7.7..4 c Y 3.4 -..3..4 Z. 3.4 7.7. Chromosom potomny: X Y jeśl wylosowano lczbę <p e ; = X w przecwnym raze. p e parametr krzyżowana (typowo p e =.5) 7.3 -. 4.8 -.4 c 4.8 7.3 -. -.4 W wersj z osobnkam potomnym drug potomek: X Z jeśl Y = X ; = X w przecwnym raze. 5 5 p e =.5 KRZYŻOWANIE DIAGONALNE X 3.4 -..3 X. 3.4 7.7. wylosowano.9699.58384.6979.3584 Y Z 3.4. -. 3.4 7.7.3. Jest krzyżowanem weloosobnczym. Tworzy r potomków w z rodzców w przy c = r - punktach krzyżowana. Osobnk potomne powstają w wynku składana fragmentów w kodu po przekątnej.. 7.3 -..4 4.8 -.4.84.39998.48556.4 7.3 -.. 4.8 -.4 53 Dla 3 osobnków: Y = [X[,,..., X c, X c+,, X c, X 3 c+,, X 3 n ] Z = [X[,,..., X c, X 3 c+,, X 3 c, X c+,, X n ] W = [X[ 3,,..., X 3 c, X c+,, X c, X c+,, X n ] 54
X X X 3 Y Z W W wersj potomkem tylko potomek Y OPERATORY KRZYŻOWANIA UŚREDNIAJĄCEGO Są specyfczne dla kodowana rzeczywstolczbowego; Oddzałuj ują na wartośc genów w chromosomów poddawanych krzyżowanu; Wartośc każdego genu chromosomów w potomnych sąs lczbam zawerającym sę mędzy najwększ kszą najmnejszą wartośc cą genu chromosomów rodzcelskch. 55 56 KRZYŻOWANIE ARYTMETYCZNE X X Y Z 4.. 3. 3. generowane lczby losowej k z zakresu (,) lub jej arbtralny wybór; uśrednane arytmetyczne wartośc genów chromosomów w rodzcelskch: Y = X + k (X - X ) -.. -3.4 -. 3.4 7.7.8.45-5.4.43 X k=.5.56 4.36.5.83-4.8..56 4.36.5.83-4.8. W wersj z osobnkam potomnym drug potomek: Z = X + X - Y Rodzc Potomek Potomek Rodzc Lna krzyżowana k=.5 57 X 58 KRZYŻOWANIE HEURYSTYCZNE X X Y Ne jest krzyżowanem uśrednaju rednającym! Generowane lczby losowej k z zakresu (,); Tworzy sę (maksymalne) jednego potomka: Y = k (X - X ) + X....3. 3..3. 3.4 przy założenu, że X X Może e utworzyć potomka, który ne jest dopuszczalny, wówczas: wczas: X Potomek Rodzc Lna krzyżowana» generuje sę nową lczbę losową tworzy nowego potomka;» jeśl po założonej onej lczbe prób b ne utworzono osobnka dopuszczalnego, to ne tworzy sę potomka. 59 Rodzc X 6
MUTACJA RÓWNOMIERNAR TYPOWE OPERATORY MUTACJI 6 Losowy wybór r genu w chromosome. Przyjęce przez gen wartośc losowej (z rozkładem równomernym) z zakresu dopuszczalnego dla danej zmennej: Y = [X,..., X k,..., X n ], X k = left(k), rght(k) Szczególne użyteczna u we wczesnej faze dzałana ana AE (gdy pożą żądane jest szeroke przeszukwane obszaru poszukwań optmum). 6 MUTACJA NIERÓWNOMIERNA Funkcja Δ(t,y) przyjmuje wartośc z zakresu [,y]; Należy y do grupy tzw. mutacj ze strojenem. Modyfkacja wartośc wybranego genu o wartość pewnej funkcj Δ(t,y): gdze: Y = [X,..., X k,..., X n ], X k =X k + Δ (t, (t, rght(k)-x k ) gdy wylosowano X k =X k Δ (t, (t, X k - left(k) gdy wylosowano 63 Prawdopodobeństwo, że Δ(t,y) jest blske zero wzrasta ze wzrostem czasu oblczeń (ne zależy y jednak od zachowana sę AE). y Δ(t,y) Początkowa faza oblczeń k y Δ(t,y) Pod konec dzałana ana AE k 64 MUTACJA BRZEGOWA MUTACJA GAUSSOWSKA Jest odmaną mutacj równomernej, r w której: X k = left(k) gdy wylosowano X k = rght(k) gdy wylosowano Przyjęce przez wylosowany gen wartośc losowej (z rozkładem Gaussa) o wartośc oczekwanej równej r wartośc przed zmaną: Y = [X,..., X k,..., X n ], X k = X k +N(, N(,σ) Szczególne użyteczna, u gdy rozwązane zane optymalne leży na brzegu obszaru dopuszczalnego lub bardzo blsko tego brzegu. 65 66