SZTUCZNA INTELIGENCJA WYKŁAD 15. ALGORYTMY GENETYCZNE Częstochowa 014 Dr hab. nż. Grzegorz Dudek Wydzał Elektryczny Poltechnka Częstochowska
TERMINOLOGIA allele wartośc, waranty genów, chromosom - (naczej osobnk, genotyp, struktura, łańcuch lub cąg kodowy) zakodowane zmenne/parametry zadana, fenotyp - zdekodowane zmenne/parametry zadana, rozwązane, gen - (naczej cecha, znak, dekoder) zakodowana wartość pojedynczej zmennej/parametru, generacja - populacja w wymarze czasowym (w kolejnych teracjach), krzyżowane - (naczej rekombnacja, krosowane) operator genetyczny dwu lub weloargumentowy, łączący cechy osobnków rodzcelskch w osobnkach potomnych, locus - pozycja genu w chromosome, mutacja - operator genetyczny jednoargumentowy, wprowadzający perturbację chromosomu, napór selekcyjny - wymagana środowska względem osobnków populacj, populacja - zbór chromosomów przetwarzany w procese ewolucyjnym, przystosowane - ocena chromosomu, pula rodzcelska - tymczasowa populacja chromosomów utworzona w wynku selekcj, selekcja - (naczej reprodukcja) proces powelana chromosomów w stosunku zależnym od ch przystosowana.
ALGORYTM GENETYCZNY JAKO METODA OPTYMALIZACJI Zasadncze różnce mędzy tradycyjnym metodam optymalzacj a algorytmam genetycznym * : AG ne przetwarzają bezpośredno parametrów zadana, lecz ch zakodowaną postać, AG prowadz poszukwana, wychodząc ne z pojedynczego punktu, lecz z całej ch populacj, AG korzystają tylko z funkcj celu (zwanej funkcją przystosowana), ne zaś z jej pochodnych lub nnych pomocnczych nformacj, AG stosują probablstyczne, a ne determnstyczne reguły wyboru. Probablstyczny oparty na teor prawdopodobeństwa Determnstyczny neprzypadkowy, uznający zasadę prawdłowośc, przyczynowego uwarunkowana zjawsk, określony, jednoznaczny Stochastyczny częścowo losowy lub nepewny, probablstyczny * Goldberg D.E.: Algorytmy genetyczne ch zastosowana. WNT, Warszawa 1995 3
SCHEMAT AG 4
SCHEMAT AG/AE 1. Zdefnuj zmenne ustal ch reprezentację.. Ustal parametry AG/AE. 3. Wygeneruj początkową populację osobnków P(0). 4. Oceń populację początkową P(0). 5. Dla t = 1,,... powtarzaj do momentu spełnena warunku zatrzymana: 5.1. Reprodukcja: wyberz osobnk z populacj P(t) do P(t-1) korzystając z metody selekcj. 5.. Zmodyfkuj P(t) używając operatorów genetycznych. 5.3. Oceń populację P(t). 5
KLASYCZNY AG W AKCJI Zadane Znaleźć maksmum funkcj f(x) = x + 1 dla x N x [0, 15]. Przestrzeń poszukwań {0, 1,..., 15} 6
KLASYCZNY AG W AKCJI 1. Zdefnuj zmenne ustal ch reprezentację Zmenna - x Dzedzna x obejmuje 16 wartośc 0, 1,..., 15 Do zakodowana 16-tu wartośc potrzeba 4 btów Sposób kodowana reprezentacja bnarna: x 0 1 3... 15 chromosom 0000 0001 0010 0011... 1111 Osobnk (chromosomy) składają sę z jednego genu, allele przyjmują wartośc 16 warantów. 7
. Ustal parametry AE Lczebność populacj (lczba osobnków) N = 4 Lczba generacj (teracj AG) L gen = 10 Metoda krzyżowana krzyżowane jednopunktowe Prawdopodobeństwo krzyżowana p c = 0,9 Metoda mutacj bnarna równomerna Prawdopodobeństwo mutacj p m = 0,1 3. Wygeneruj populację początkową P(0) Generacja jest często losowa, np: 0110 1100 1011 1011 8
4. Oceń populację P(0) Aby ocenć chromosomy trzeba je zdekodować, czyl wyznaczyć ch fenotypy x, a następne podstawć x do funkcj celu oblczyć przystosowane f(x ). Genotypy Fenotypy Przystosowane 0110 6 73 1100 1 89 1011 11 43 1011 11 43 5. Dla t = 1,,... powtarzaj do momentu spełnena warunku zatrzymana Warunek zatrzymana osągnęce optmum, przekroczene zadanej lczby teracj, brak postępów 9
KLASYCZNY AG W AKCJI 5.1. Reprodukcja: wyberz osobnk z populacj P(t) do P(t-1) korzystając z metody selekcj. Selekcja metodą koła ruletk Prawdopodobeństwo selekcj chromosomu ch : p ( ch ) s = N j= 1 f ( ch ) f ( ch ) v(ch j ) - wycnek koła odpowadający chromosomow ch : W naszym przykładze: v ( ch ) p ( ch ) 100% 4 j= 1 = s f ( ch j ) = 848 j 10
KLASYCZNY AG W AKCJI p s (ch 1 ) = 73/848 = 0,09 v(ch 1 ) = 9% p s (ch ) = 89/848 = 0,33 v(ch 1 ) = 33% p s (ch 3 ) = 43/848 = 0,9 v(ch 3 ) = 9% p s (ch 4 ) = 43/848 = 0,9 v(ch 4 ) = 9% 0% 9% Po 4-krotnym zakręcenu kołem (czyl wylosowanu lczb z zakresu [0, 100]), do pul rodzcelskej wytypowano osobnk nr,, 3 4. 74 71% 9% 9% 33% 1 9% 51 4% 41 11
KLASYCZNY AG W AKCJI 5.. Zmodyfkuj P(t) używając operatorów genetycznych Krzyżowane jednopunktowe 1. Losowo kojarzymy chromosomy z pul rodzcelskej w pary tworząc N/ par. Para podlega krzyżowanu z prawdopodobeństwem p c lub przechodz do następnej populacj bez krzyżowana (z prawdopodobeństwem 1 p c ).. Dla każdej pary wyberamy losowo punkt cęca k {1,,..., n-1}, gdze n lczba btów w chromosome. 3. Zamenamy mejscam wszystke bty od pozycj k+1 do n w obu chromosomach rodzcelskch, tworząc w ten sposób dwa osobnk potomne. Po krzyżowanu populacja potomków zastępuje populację rodzców. 1
KLASYCZNY AG W AKCJI Osobnk rodzcelske Osobnk potomne punkt cęca 0 0 1 1 0 0 1 0 1 1 0 0 1 1 0 0 1 0 0 0 1 0 0 1 1 0 1 0 0 0 1 0 0 1 1 0 1 0 1 1 W naszym przykładze: Losowane par rodzców: 1 3, 1 Losowane punktów cęca: 3 1100 1101 1100 1100 1011 1010 1100 1100 13
KLASYCZNY AG W AKCJI Mutacja Zmana wybranych losowo genów chromosomów (btów). W naszym przykładze: 0 0 1 1 0 0 1 0 1 1 0 0 1 1 0 1 1 0 1 1 Dla każdego btu kolejnych chromosomów losujemy z rozkładem jednostajnym lczbę r [0, 1]. Jeśl r < p m zmenamy wartość btu. Prawdopodobeństwo mutacj btu p m jest znaczne mnejsze od p c. Tylko dla btu 4 osobnka otrzymano r < p m 1010 1011 14
KLASYCZNY AG W AKCJI 5.3. Oceń populację P(t) Genotypy Fenotypy 1101 13 339 1011 11 43 1100 1 89 1100 1 89 W następnej generacj: 4 Selekcja: f ( ch j ) = 1160 j= 1 Przystosowane p s (ch 1 ) = 339/1160 = 0,9 v(ch 1 ) = 9% p s (ch ) = 43/1160 = 0,1 v(ch 1 ) = 1% p s (ch 3 ) = 89/1160 = 0,5 v(ch 3 ) = 5% p s (ch 4 ) = 89/1160 = 0,5 v(ch 4 ) = 5% Metodą koła ruletk wybrano chromosomy do pul rodzcelskej: 1101, 1011, 1011, 1100. 15
KLASYCZNY AG W AKCJI Krzyżowane Losowane par rodzców: 4 3, 3 Losowane punktów cęca: 11 00 1111 10 11 1011 10 11 1000 10 11 1011 Mutacja: ne zachodz. Nowa populacja Genotypy Fenotypy Przystosowane 1111 15 451 najlepsze rozwązane 1000 8 19 1011 11 43 1011 11 43 16
KODOWANIE BINARNE ZMIENNYCH RZECZYWISTYCH Znaleźć maksmum funkcj f(x 1, x,..., x n ) dla x R x [a, b ]. Szukamy rozwązana z dokładnoścą do q mejsc po przecnku dla zmennej x. Wymagana długość m łańcucha btów do zakodowana zmennej x : ( b ) 10 + 1 a q m m = q cel(log (( b a ) 10 + 1) gdze cel operator zaokrąglana w górę do najblższej lczby całkowtej Dekodowane: x = a + y ( b m a ) 1 gdze y wartość dzesętna łańcucha btów kodującego x 17
KODOWANIE BINARNE ZMIENNYCH RZECZYWISTYCH Przykład f(x 1, x ) = x 1 +x, x 1 [-1, 1], x [, 5], q 1 =, q = 4. m m 1 q1 = cel(log (( b a ) 10 + 1) = cel(log (1 + 1) 10 + 1)) = cel(7.65) = 8 1 1 q 4 = cel(log (( b a ) 10 + 1) = cel(log (5 ) 10 + 1)) = cel(14.87) = 15 Dla ch 1 = 01101001110100011000101 => y 1 = 105, y = 681 x 1 y ( b 1 1 = a1 + m 1 a ) 1 1 105 (1 + 1) = 1+ 8 1 = 0.18 x y ( b = a + m a 1 ) 681 (5 ) = + 15 1 = 4.4556 18