Przykład: Znaleźć max { f (x)=x } METODY HEURYSTYCZNE wykład 3 dla wartośc całkowtych x z zakresu -3. Populacja w chwl t: P(t)= {x t,...x t n} Założena: - łańcuchy 5-btowe (x=,,...,3); - lczebność populacj n=4 Ścsłe rozwązane: x = x = 3; x = 96. Populacja początkowa (losowane): x = x = x 3 = x 4 = 3 Sytuacja początkowa: Nr 3 4 Wartość x 4 8 9 Suma Średna Max Przystosowane f(x)=x 64 36 8.5..6.3 Prawd. wylosowana Oczekwana lczba kop p = f Σ f f / f..5.5.5.43.3.7 4...5 4 Selekcja: Po selekcj: Każdemu cągow kodowemu odpowada sektor koła ruletk o polu proporcjonalnym do przystosowana. 3% 6% % 5% 3 4 Nr Oczekwana lczba kop.5.43 3.3 4.7 Lczba wylosowanych kop po selekcj Wartość x 4 4 9 Suma Średna Max Przystosowane f(x)=x 36 634 49 Prawd. wylosowana.35.7.35.3..5.35 (x) <,.5), <.5,.6),... 5 6
Krzyżowane: Mutacja: p c =.9 p m =.5 po selekcj 3 4 Nr Partner 4 3 Punkt krzyżowana 4 4 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.36.6.43.5..5.43 Nr po krzyżowa nu 3 4 NNNNN NNNNN NNNNN NNNTN 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.35.6.4.8..5.4 7 8 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 9 Zakł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) 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 od algorytmu). 5 5 5-5 - C 3 4 5 6 Zazwyczaj wartośc dobera sę eksperymentalne (metodą prób błędów), ndywdualne dla rozwązywanego problemu... -5 - choć stneją pewne ogólne zalecena...
KODOWANIE LICZB RZECZYWISTYCH Założena: f (x,...x k ): R k R D = [a, b ] R f (x,...x k ) > dla każdego x D dokładność do c lczb znaczą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 3 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 4 Przykład: a = -; b = ; c = 6 f (x)) = x sn(π x) ) + max{ f (x)} lczba podprzedzałów: r = (b - a ) c = 3 6 (b - a ) c m Dzedzna funkcj: x [-, ] Lczba mejsc po przecnku: c = 6 Na lu btach trzeba zakodować lczbę (wyznaczene m)? 5 [ (-)] 6 + = 3 m 97 5 = 3 = 4 94 34 m = 6 Mając cąg btów: Odkodowywane:. Przekształcene łańcucha na lczbę dzesętną x : x =3395 x = x = 49433. Oblczene rzeczywstej wartośc lczby: ( b a ) x ' x = a + m 3 3395 = + 49434 =.3745 a = -; b = ; c = 6 7 3 49433 x = + = - x = + = 49434 49434 a = -; b = 8
Jeden z celó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 równeż blsko sebe w przestrzen zadana (fenotyp). (Ne zawsze prawdzwe przy kodowanu bnarnym) np.: Bnarne Całkowtolczbowo 7 8 9 KOD GRAYA procedure BnToGray procedure GrayToBn begn value := g b := value for k := to m do begn g := b for k := to m do g k := b k XOR b k begn a b a XOR b f g k = then value := NOT value b k := value b = b, b,..., b m lczba bnarna g = g, g,..., g m lczba w kodze Graya; m długość cągu kodowego. Bnarne Kod Graya Zmana btu w kodze powoduje, ż otrzymana lczba ma szansę być lczbą bezpośredno blską lczbe przed zmaną. 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. Modyfkacje: łańcuchy o zmennej długośc; struktury bogatsze od łańcuchó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 ne zmena sę: populacja osobnków podlega pewnej transformacj, zaś osobnk starają sę przetrwać w procese ewolucj. 4
Dla danego problemu można określć wele sposobów kodowana zdefnować szereg operatorów (np. zadane komwojażera). ALGORYTMY EWOLUCYJNE 5 AE to rozwnęce uogólnene AG Należy jednoznaczne określć: schemat dzałana AE; metodę selekcj; sposób kodowana; operatory genetyczne; środowsko dzałana AE. 6 procedure Algorytm_Ewolucyjny begn t:= wyberz populację początkową P(t) oceń P(t) whle (not warunek_zakończena) do begn 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 O - offsprng 7 REPRODUKCJA (preselekcja) SELEKCJA = + SUKCESJA (postselekcja) procedure Algorytm_Ewolucyjny begn t:= wyberz populację początkową P(t) oceń P(t) whle (not warunek_zakończena) do begn 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 operatorów genetycznych tworząc populację potomną O(t). Sukcesja tworzene nowej populacj bazowej P(t+) z populacj potomnej O(t) oraz starej populacj bazowej P(t). 8 Napó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 w porównanu z oczekwaną lczbą kop gorszego. Superosobnk: Nepożądane w początkowej faze dzałana (przedwczesna zbeżność). Pozytywne pod konec pracy algorytmu (zawężene przestrzen poszukwań). Twarda (brutalna) selekcja wybór do populacj potomnej powelane tylko najlepszego (metoda stochastycznego wzrostu). Przyjęce jednakowego prawdopodobeństwa - algorytm błądz przypadkowo (brak selekcj). 9 W AE - metoda pośredna, zwana mękką selekcją. 3
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. SELEKCJA RANKINGOWA Szeregowane osobnków w według wartośc przystosowana 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. Może e powodować, że e najlepsze rozwązana zana z populacj P(t) ne znajdą sę w populacj P(t+). 34 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. 35 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. 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). Najkorzystnej jeden, ew. klka osobnków). 36
TYPOWE OPERATORY KRZYŻOWANIA Para rodzców para potomków Zwykle: osobnk rodzcelske dają (sprzężone) osobnk potomne. Pojedynczy osobnk potomny warant dwuosobnczy para osobnków rodzcelskch; warant globalny jeden wodący n pomocnczych osobnków rodzcelskch (po jednym dla każdego genu). Krzyżowane weloosobncze: z weloma m potomnym; z jednym osobnkem potomnym. 38 OPERATORY KRZYŻOWANIA WYMIENIAJĄCEGO Tworzą chromosomy potomne przez składane ch z wartośc genów chromosomów rodzcelskch. KRZYŻOWANIE JEDNOPUNKTOWE (proste) wybór (z rozkładem jednostajnym) lczby c (punkt rozcęca) ze zboru {,,..., n -} n - długość ; Mogą być wykorzystywane zarówno przy kodowanu bnarnym, jak rzeczywstolczbowym. Podzał chromosomów X X poddawanych krzyżowanu na dwe częśc ch sklejane: Ne dochodz do modyfkacj wartośc genów zawartych w chromosomach krzyżowanych osobnków rodzcelskch (tylko ch przetasowane). Y = [X,..., X c, X c+,, X n]. W wersj z m potomnym drug potomek: 39 Z = [X,..., X c, X c+,, X n] 4 KRZYŻOWANIE DWUPUNKTOWE X X Y Z wybór punktów rozcę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żowanu na 3 częśc wymana środkowej częśc: 3.. 7.3..4 4.8..4 4.8 3.. 7.3 Y = [X,..., X c, X c+,, X c, X c+,, X n] W wersj z m potomnym drug potomek: -. -.4 -.4 -. Z = [X,..., X c, X c+,, X c, X c+,, X n] c = c krzyżowane jednopunktowe 4 4
KRZYŻOWANIE RÓWNOMIERNER X 3.4 -..3 3.. X. 3.4 7.7..4 c Y 3.4 -..3..4 Z. 3.4 7.7 3.. 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 m potomnym drug potomek: X Z = X jeśl Y = X ; w przecwnym raze. 43 44 p e =.5 KRZYŻOWANIE DIAGONALNE X 3.4 -..3 3. X. 3.4 7.7. wylosowano.9699.58384.6979.3584 Y Z 3.4. -. 3.4 7.7.3 3.. Jest krzyżowanem weloosobnczym. Tworzy r potomków z rodzców przy c = r - punktach krzyżowana. potomne powstają w wynku składana fragmentów kodu po przekątnej.. 7.3 -..4 4.8 -.4.84.39998.48556.4 7.3 -.. 4.8 -.4 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] 45 W = [X 3,..., X 3 c, X c+,, X c, X c+,, X n] 46 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ą na wartośc genów chromosomów poddawanych krzyżowanu; Wartośc każdego genu chromosomów potomnych są lczbam zawerającym sę mędzy najwększą najmnejszą wartoścą genu chromosomów rodzcelskch. 47 48
KRZYŻOWANIE ARYTMETYCZNE X X Y Z generowane lczby losowej k z zakresu (,) lub jej arbtralny wybór; uśrednane arytmetyczne wartośc genów chromosomów rodzcelskch: 4. -. 3.. -3.4 -.. 3.4 7.7.8.45-5.4.43 k=.5 3..56 4.36.5.83-4.8. 3..56 4.36.5.83-4.8. Y = X + k (X - X ) W wersj z m potomnym drug potomek: Z = X + X - Y 49 5 KRZYŻOWANIE HEURYSTYCZNE Ne jest krzyżowanem uśrednaju rednającym! Generowane lczby losowej k z zakresu (,); X.. 3. X.3. 3. Y.3. 3. Tworzy sę (maksymalne) jednego potomka:. 3. 3.4 Y = k (X - X ) + X przy założenu, że f(x ) f(x ) Może e utworzyć potomka, który ne jest dopuszczalny, wówczas: wczas:» generuje sę nową lczbę losową tworzy nowego potomka;» Jeśl po założonej onej lczbe prób b ne utworzono dopuszczalnego, to ne tworzy sę potomka. 5 5 MUTACJA RÓWNOMIERNA TYPOWE OPERATORY MUTACJI Losowy wybó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 we wczesnej faze dzałana AE (gdy pożądane jest szeroke przeszukwane obszaru poszukwań optmum). 54
MUTACJA NIERÓWNOMIERNA Funkcja (t,y) przyjmuje wartośc z zakresu [,y]; Należy do grupy tzw. mutacj ze strojenem. Modyfkacja wartośc wybranego genu o wartość pewnej funkcj (t,y): Prawdopodobeństwo, że (t,y) jest blske zero wzrasta ze wzrostem czasu oblczeń (ne zależy jednak od zachowana sę AE). Y = [X,..., X k,..., X n ], y (t,y) y (t,y) gdze: X k =X k + (t, rght(k)-x k ) gdy wylosowano k k X k =X k (t, X k - left(k) gdy wylosowano 55 Początkowa faza oblczeń Pod konec dzałana AE 56 MUTACJA BRZEGOWA MUTACJA GAUSSOWSKA Jest odmaną mutacj równomernej, 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, gdy rozwązane optymalne leży na brzegu obszaru dopuszczalnego lub bardzo blsko tego brzegu. 57 58 KRZYWE ZBIEŻNO NOŚCI Są wykresem zman wartośc rozwązana roboczego (średnego, najlepszego, najgorszego) w czase. Kreśl sę je: - dla pojedynczego uruchomena algorytmu; - dla welu nezależnych uruchomeń. Uśrednone bardzej reprezentatywne, lecz gub sę nektóre nformacje o zachowanu AE w pojedynczych uruchomenach). 59 6
Przykładowe krzywe zbeżnośc (dla uruchomena algorytmu): wartość f. przystosowana max śr mn Szczególna krzywa zbeżnośc: Wykres zman w kolejnych pokolenach wartośc przystosowana najlepszego znalezonego od początku dzałana AE. Po zakończenu dzałana AE osobnk ten jest rozwązanem wyz. przez pojedyncze uruchomene AE. wartość f. przystosowana 5 5 6 pokolene 3 4 5 6 7 8 6 pokolene