OBLICZENIA EWOLUCYJNE FITNESS F. START COMPUTATION FITNESS F. COMPUTATION INITIAL SUBPOPULATION SENDING CHROM. TO COMPUTERS chromosome EVOLUTIONARY OPERATORS AND RECEIVING FITNESS F. wykład VALUE fitness f. value MIGRATION PHASE FITNESS F. communication COMPUTATION with other SELECTION subpopulations YES TERMINATION CONDITION NO END Karol Darwin (859 On the origin of species ): Na świat przychodzi dużo więcej potomstwa, niż może pomieści cić środowisko. Przeżywaj ywają nieliczni,, ale za to najlepsi (selekcja naturalna). Ewolucja przez dobór r naturalny oznacza, że przeżywaj ywają i rozmnażaj ają się osobniki najlepiej przystosowane do warunków środowiska. Wynik przystosowania zależy y od: - organizmu; - środowiska. Gregor Johann Mendel (8-884) 884) - austriacki zakonnik, augustianin, prekursor genetyki. Sformułowa ował podstawowe prawa dziedziczenia (3( prawa Mendla), przeprowadzając c badania nad krzyżowaniem roślin, głównie g grochu jadalnego. 3 Główne czynniki wpływaj ywające na ewolucję: Dziedziczność organizmy dziedziczą cechy swoich przodków, zgodnie z zasadami genetyki. Zmienność dziedziczność nie jest absolutnie dokładna: wprowadza przypadkowe (mutacje). Ponadto źródłami zmienności są: s : rekombinacja i poziomy transfer genów. Ograniczone zasoby konieczność konkurencji organizmów w o te same zasoby środowiska. Przystosowanie niektóre cechy sąs korzystniejsze w danym środowisku niż inne (ułatwiaj( atwiają konkurencję o zasoby). Różnicowa przeżywalno ywalność osobniki o wyższym przystosowaniu mają większe szanse przeżycia i tym samym wydania na świat potomstwa. 4 Równanie Price a: George R. Price (9-975) 975) amer. naukowiec, znany głównie z wkładu w rozwój j genetyki populacji i teorii ewolucji gdzie: W Δ Z= cov( w, z) + E( w Δz) W średnie przystosowanie; ΔZ zmiana średniej wartości cech w populacji; cov() kowariancja (określa zal.. liniową między dwoma zm. losowymi) w dostosowanie i-tego i fenotypu; z wartość cechy i-tego i fenotypu; E() wartość oczekiwana Człon kowariancyjny opisuje proces doboru, zaś człon wartości oczekiwanej opisuje procesy transmisyjne (np( np.. mutacje). Uznaje się, że e równanie r Price'a opisuje ilościowo, dokładnie i zupełnie proces ewolucji biologicznej (i jest największym wkładem w rozwój j teorii ewolucji od czasów w Darwina) 5 W procesie ewolucji istotne jest zachowywanie różnorodności cech. Siła a ewolucji to nie zaawansowany proces doskonalenia jednostki, lecz utrzymywanie dużej liczby różnorodnych osobników w (tzw. populacji), która ewoluuje jako całość ść. W procesie krzyżowania cechy osobników w mieszają się,, mogąc c dawać kombinacje cech dotąd d nie występuj pujące. Mutacja pozwala na powstanie osobników niemożliwych do uzyskania poprzez krzyżowanie. 6
AG CO TO JEST? AG odwzorowują naturalne procesy ewolucji zachodzące ce w czasie. Celem tych procesów w jest maksymalne dopasowanie osobników do istniejących warunków życia. Rolę środowiska spełnia tu funkcja oceniająca ca (funkcja celu). Łącz czą w sobie ewolucyjną zasadę przeżycia najlepiej przystosowanych osobników w z systematyczną,, choć zrandomizowaną wymianą informacji. Pomimo elementu losowości AG nie błąb łądzą przypadkowo, lecz wykorzystują efektywnie przeszłe doświadczenia wiadczenia. 7 8 AG - TERMINOLOGIA John H. Holland,, 975: Adaptation in Natural and Artificial Systems : Koncepcja algorytmu przeszukiwania opartego na zasadzie doboru naturalnego. Procedurę probabilistycznego przeszukiwania dyskretnej przestrzeni stanów w nazwał algorytmem genetycznym. gen najmniejsza składowa chromosomu, decydująca ca o dziedziczności ci jednej lub kilku cech; chromosom uporządkowany ciąg g genów w (ciąg kodowy). Zwykle utożsamiany z osobnikiem; locus miejsce genu w chromosomie; allel wariant (stan) jednego genu warunkujący daną cechę; populacja pewna liczba osobników w (chromosom( chromosomów); 9 AG - TERMINOLOGIA genotyp ogół genów w danego ; fenotyp ogół cech ujawniających się na zewnątrz (np.. rozkodowana postać zmiennych projektowych); mutacja zmiana jednego lub kilku genów w chromosomie; krzyżowanie operacja mająca na celu wymianę materiału u genetycznego między mi. ALGORYTMY NAŚLADUJ LADUJĄCE PROCESY ZACHODZĄCE CE W NATURZE: algorytmy genetyczne; programowanie ewolucyjne (ewoluujące automaty); programowanie genetyczne; strategie ewolucyjne; sieci neuronowe; algorytmy mrówkowe; algorytmy immunologiczne.
ZASTOSOWANIA PRAKTYCZNE AG (i AE): harmonogramowanie; wyznaczanie trasy połą łączeń kablowych; sterowanie adaptacyjne; rozgrywanie gier; zadanie plecakowe; zadanie komiwojażera; sterowanie optymalne; optymalizacja obsługi pytań w bazach danych; 3 nieliniowe systemy dynamiczne analiza danych; przewidywanie; projektowanie sieci neuronowych: architektury i wagi; poruszanie robotem; tworzenie programów; planowanie; znajdowanie kształtu tu molekuł białek; tworzenie grafik i muzyki;... 4 SZTUKA? http://classes.yale.edu classes.yale.edu/fractals/ca/ga/ /CA/GA/GA.htmlGA.html Steven Rooke: generowanie fraktali złożonych onych ze zbioru Mandelbrota.. Zaczynał ze obrazków w w populacji przypisując każdemu funkcję estetyczną i stosując c klasyczny AG. MUZYKA? Joanna Kołodziejczyk odziejczyk: Elementy sztucznej inteligencji - http://bijo.wi.ps.pl bijo.wi.ps.pl/ 5 W chromosomie pamiętane sąs poziome wysokości tonów. Allele określaj lają półtony mogące być odtwarzane jako akordy. Oceny jakości dokonuje operator nadając c wagi odpowiednim chromosomom. 6 JAK DZIAŁA A AG Generowanie (zwykle losowo) populacji początkowej. Ocena każdego na podstawie pewnej miary jego dopasowania Każda następna iteracja (pokolenie) t :. Selekcja najlepszych osobników w z pokolenia t-.transformacja z zastosowaniem operatorów w genetycznych SCHEMAT DZIAŁANIA ANIA AG: procedure algorytm_genetyczny begin t:= wybierz populację początkową P(t) oceń P(t) while (not warunek_zakończenia) do begin t:=t+ wybierz P(t) z P(t-) (selekcja) zmień P(t) (działanie operatorów genetycznych) oceń P(t) end end 7 8
AG MUSI MIEĆ OKREŚLONE (DLA KAŻDEGO ZADANIA):. Podstawową reprezentację zmiennych potencjalnego zadania;. Sposób b tworzenia początkowej populacji potencjalnych rozwiąza zań; 3. Funkcję oceniającą rozwiązania; zania; 4. Podstawowe operatory; 5. Wartości różnych r parametrów w (rozmiar populacji, prawdopodobieństwa użycia u operatorów w gen. itp.) 9 Przykład Znaleźć źć: max { f (x)=x } dla wartości całkowitych x z zakresu -3. Populacja w chwili t: P(t)= {x{ t,,...x t n); Założenia: - łańcuchy 5-bitowe 5 (x=,,...,3);( - liczebność populacji n=4. =4. Ścisłe e rozwiązanie zanie: x = x = 3; x = 96. Populacja początkowa (losowanie): x = x = x 3 = x 4 = Sytuacja początkowa: Nr 3 4 Wartość x 4 8 9 Suma Średnia Max Przystosowanie f(x)=x 64 36 8 i.5..6.3..5.5 Prawd. wylosowania i p = f i Σ f f / f Oczekiwana liczba kopii i.5.43.3.7 4...5 Selekcja: Po selekcji: Każdemu ciągowi kodowemu odpowiada sektor koła ruletki o polu proporcjonalnym do przystosowania: 3% 6% % 5% 3 4 Nr Oczekiwana liczba kopii.5.43 3.3 4.7 Liczba wylosowanych kopii po selekcji Wartość x 4 4 9 Suma Średnia Max Przystosowanie f(x)=x 36 634 49 Prawd. wylosowania.35.7.35.3..5.35 (x) <,.5), <.5,.6),... 3 4
Krzyżowanie: Mutacja: p c =.9 p m =.5 po selekcji 3 4 Nr Partner 4 3 Punkt krzyżowania 4 4 po krzyżowaniu Wartość x 5 7 6 Suma Średnia Max Przystosowanie f(x)=x 65 79 56 7 48 79 było: Prawd. wylosowania.36.6.43.5..5.43 Nr po krzyżow aniu 3 4 NNNNN NNNNN NNNNN NNNTN po mutacji Mutacja? Wartość x 5 7 8 Suma Średnia Max Przystosowanie f(x)=x 65 79 34 778 447 79 było: 79 Prawd. wylosowania.35.6.4.8..5.4 5 6 5 ŚREDNIE DOPASOWANIE POPULACJI 49 48 447 Rozpatrywać można zawsze zadanie maksymalizacji: 4 8 3 Początkowo Po selekcji Po krzyżowaniu Po mutacji g (x)) = -f (x) min f (x) = max g(x) = max{-f (x)} 8 7 6 5 4 3 MAX WARTOŚĆ FUNKCJI 79 79 Początkowo Po selekcji Po krzyżowaniu Po mutacji 7 Zakłada ada się również,, iżi funkcja jest dodatnia w całej dziedzinie (selekcja!) max g(x) = max{g(x )+C} (jeśli g(x) jest ograniczona z dołu) 8 5 5 5 3 4 5 6-5 - -5-5 5 5-5 - -5 - C 3 4 5 6 9 KODOWANIE LICZB RZECZYWISTYCH Założenia enia: f : R k R D i = [a[ i, b i ] R f (x,...x k ) > dla każdego x i D i dokładno adność do c liczb znaczących cych po przecinku Wykonanie:. Podział D i = [a i, b i ] na r = (b i - a i ) c podprzedziałów.. Wyznaczenie najmniejszej liczby całkowitej m: (b i - a i ) c m 3
ODKODOWYWANIE: Przykład:. Przekształcenie łańcucha binarnego o długod ugości m na liczbę dziesiętn tną x ;. Obliczenie rzeczywistej wartości liczby: ( bi ai) x' x = ai + m f (x)) = x sin(π x) ) + max{ f (x)} Dziedzina funkcji: x [-, ] Liczba miejsc po przecinku: c = 6 3 Na ilu bitach trzeba zakodować liczbę (wyznaczenie m)? 3 a i = -; b i = ; c = 6 liczba podprzedziałów: r = (b i - a i ) c = 3 3 6 (b i - a i ) c m [ - (-)] )] 6 + = 3 m 97 5 = 3 = 4 94 34 Mając c ciąg g bitów: Odkodowywanie:. Przekształcenie łańcucha na liczbę dziesiętn tną x : x =3395. Obliczenie rzeczywistej wartości liczby: ( bi ai) x' x = ai + m 3 3395 = + 49434 m = 33 =.3745 a i = -; b i = ; c = 6 34 x = x = 49433 Przykład: f (x)) =.5 + x sin(4πx ) + x sin( sin(πx ) max{f (x, x )} x = + = - 49434 3 49433 x = + = 49434 x [-3.,.] x [4., 5.8] c = c = 4 a i = -; b i = 35 36
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 37 Wielkości zadawane przed uruchomieniem AG: liczebność populacji, prawdopodobieństwo krzyżowania, prawdopodobieństwo mutacji, inne (zależy y od algorytmu). Zazwyczaj wartości dobiera się ekspe- rymentalnie (metodą prób b i błęb łędów), indywidualnie dla rozwiązywanego zywanego problemu... choć istnieją pewne ogólne zalecenia... 38 SCHEMATY 39 SCHEMAT: OSOBNIK PRZYSTOSOWANIE 64 36? Alfabet trójkowy: {,, * } * - symbol uniwersalny, nieistotne Wzorzec opisujący zbiór łańcuchów w podobnych ze względu na ustalone pozycje. 4 S =(*) () ) i () S =(**) ) (),( ),() () ),() ) Do każdego schematu pasuje r łańcuchów (r liczba * w schemacie) Schemat reprezentuje wszystkie łańcuchy, które zgadzają się z nim na wszystkich pozycjach innych niż *. 4 Ale: Do każdego łańcucha o długod ugości m pasuje m schematów. Np. dla łańcucha ():, *,*,*,*, **,**,**,**,**,**, ***,***,***,***, **** m = 4 =6 4
Z kolei: Dla wszystkich łańcuchów w o długod ugości m istnieje 3 m schematów. (3 = + + * ) Rząd d schematu o(s): - liczba pozycji ustalonych w schemacie: S = (*****), o(s ) = 5; S = (******), o(s ) = 4; Np. dla łańcuchów w 5-bitowych: 5 5 = 3 różnych łańcuchów; 3 5 = 43 różne schematy. 43 S 3 = (*), o(s 3 ) = 9; Rząd schematu określa jego specyficzność ść. (*******) i (*******) ten sam rząd, ale... 44 Rozpięto tość (długo ugość definiująca) schematu δ(s): - odległość pomiędzy pierwszą a ostatnią pozycją ustaloną w schemacie: S = (*****), δ(s ) = -4= 4=6; S = (******), δ(s ) = 9-= 9 =7; S 3 = (*), δ(s 3 ) = -= =9 Schematy: stanowią narzędzie do ścisłego badania i kla- syfikowania podobieństw ciągów w kodowych; są podstawowym narzędziem analizy wpływu operacji genetycznych na zachowanie populacji. Rozpięto tość schematu określa jego zwartość ść. 45 46 WPŁYW OPERACJI GENETYCZNYCH NA SCHEMATY v = v = v3 = v4 = S = v5 = = (******************************) v6 = v7 = L. łańcuchów w pasujących v8 = do S v9 = w chwili t: v = ξ(s, t) =3 v = v = Rząd d schematu: v3 = v4 = o(s ) =3 v5 = v6 = Rozpięto tość schematu: v7 = v8 = δ(s ) = 7-57 = v9 = v = 47 Dopasowanie schematu w chwili t: eval( S, t) = ξ ( St, ) j= eval( v ) ξ ( St, ) ij v ij łańcuch pasujący do schematu S eval(s,t) = (7.367+3.65+3.8677)/3 =7.8378= Średnie dopasowanie populacji: pop _ size F () t = eval( vi )/ pop _ size i= F() t = 387.7768/ = 9.38884 pop_size l. osobników w populacji Liczba łańcuchów w pasująca do schematu w chwili t+: eval( S, t) ξ( St, + ) = ξ( St, ) Ft () ξ(s, t+) = 3 (7.8378 /9.38884) = 3.39675 = 4.9 ξ(s, t+) = 4.9.39675.39675 = 5.85 (teoretycznie) 48
Selekcja v = = v v = = v4 v 3 3 = = v7 v 4 4 = = v v 5 5 = = v9 v 6 6 = = v4 v 7 7 = = v5 v 8 8 = = v5 v 9 9 = = v v = = v3 v = = v5 v = = v9 v 3 = = v6 v 4 = = v8 v 5 = = v v 6 = = v v 7 = = v v 8 = = v3 v 9 = = v5 v = = v6 nie wprowadza nowych schematów; powiela najlepsze schematy; niweluje najgorsze schematy. 49 v 8 Krzyżowanie v 8 = 8 pasuje do 33 schematów, np.: S = (****( ******************************) S = (( **************************** ****************************) v 3 = punkt krzyżowania: pk = Po krzyżowaniu: v 8 = v 3 3 = 5 S = (****( ******************************) S = (( **************************** ****************************) Rozpięto tości schematów: δ(s ) = 7-5= 7 5= δ(s ) = 33-= =3 Prawdopodobieństwo zniszczenia schematu: p d (S )=/3=/6= /3=/6=.65 p d (S )= 3/3= Prawdopodobieństwo przetrwania schematu: p S (S )= -/3= /3=.9375 p S (S )= -= = δ( S) pd ( S) = m - δ( S) ps ( S) =- m - 5 Uwzględniaj dniając c całą populację (p c ) prawdopodobieństwo przetrwania schematu: ( ) ps ( S) =- p δ S c m - p = c.5 p S (S )= -.5*/3= /3=.9844 p S (S )= -.5*= =.75 Uwzględniaj dniając c możliwo liwość pasowania obu partnerów do schematu S: ( ) ps ( S) - p δ S c m - 5 Liczba łańcuchów w pasujących do schematu S w chwili t+ uwzględniaj dniając c selekcję i krzyżowanie: eval( S, t) δ( S) ξ( S, t + ) ξ( S, t) - pc Ft () m- (RÓWNANIE WZROSTU SCHEMATU) U nas: ξ(s, t+) 3.39675 (-.5.5 /3) /3) = 4. uwzględniaj dniając tylko selekcję: ξ (S, t+) = 4.8 53 Mutacja v 9 = S = (****( ******************************) wylosowano gen nr 8: v 9 = Prawdopodobieństwo przetrwania bitu: Prawdopodobieństwo przetrwania schematu: p m << p s (S) - o(s) p m - p m p s (S) = (- p m ) o(s) 54
RÓWNANIE WZROSTU SCHEMATU eval( S, t) δ ( S) ξ( St, + ) ξ( St, ) pc os ( ) pm Ft () m U nas: ξ(s, t+) 3.39675 ( -.5 /3 /3-3.) = 4. uwzględniaj dniając selekcję i krzyżowanie: ξ (S, t+) = 4. uwzględniaj dniając tylko selekcję: ξ (S, t+) = 4.8 55 TWIERDZENIE O SCHEMATACH: Krótkie, niskiego rzędu i oceniane powyżej średniej schematy uzyskują wykładniczo rosnącą liczbę łańcuchów w kolejnych pokoleniach. HIPOTEZA O BLOKACH BUDUJĄCYCH: Algorytm genetyczny poszukuje działania zbliżonego do optymalnego przez zestawianie krótkich, niskiego rzędu schematów o dużej wydajności działania, zwanych blokami budującymi (cegiełkami). 56