6 na stronę - Stefan Brock
Transkrypt
6 na stronę - Stefan Brock
Soft computing Soft computing tym róŜni się od klasycznych obliczeń (hard computing), Ŝe jest odporny na brak precyzji i niepewność danych wejściowych. Obliczenia „soft computing” mają inspiracje ze świata fizycznego, biologicznego. Terminy genetyczne i ich odpowiedniki w algorytmach genetycznych • chromosom • gen • allel • locus • genotyp • fenotyp - ciag kodowy - znak - wariant znaku - pozycja - struktura - punkt, rozwiazanie Kodowanie rzeczywiste lub binarne: Kodowanie binarne (klasyczne) Zmienne kodowane sa na n bitach , co odpowiada zmiennosci od wartosci minimalnej do maksymalnej: -5 < x < 10, kodowanie naturalne na 8 bitach 256 roznych stanów -5 0 0 0 0 0 0 0 0 10 1 1 1 1 1 1 1 1 Inspiracje „soft computing” • Algorytmy genetyczne i ewolucyjne obserwacja zasad doboru naturalnego • Symulowane wyŜarzanie - inspirowane procesem metalurgicznym • Sztuczne sieci neuronowe - analogicznie do działania biologicznych sieci neuronowych • Obliczenia rozmyte (fuzzy logic) odwzorowanie sposobu analizy problemów przez człowieka Elementarny algorytm genetyczny 0. Kodowanie 1. Inicjalizacja 2. Reprodukcja 3. Krzyzowanie 4. Mutacja 5. Ocena warunku zakonczenia Inicjalizacja Losowy dobór osobników, rozrzuconych w calej przestrzeni poszukiwan. Dobierana jest wielkość populacji (ilość osobników) kwant zmian zmiennej x : (10-(-5))/256 = 0.059 1 Reprodukcja Indywidualne ciagi kodowe (osobniki) zostaja powielone w stosunku zaleznym od wartosci, jakie przybiera dla nich funkcja przystosowania. Osobniki lepiej przystosowane maja wieksze szanse wprowadzenia potomków do kolejnego pokolenia. Zasada doboru naturalnego: wygrywa najlepszy Realizacje algorytmiczne wyboru koło ruletki Sektor proporcjonalny do przystosowania, wybór losowy z kola ruletki 75 50% 50 0 13% 25% 12% 25 Realizacje algorytmiczne wyboru metoda turniejowa Losowy dobór par (konkurentów), - wygrywa lepszy. Wybrane osobniki tworza pokolenie posrednie - pule rodzicielska. (Osobniki najlepsze wystepuje wielokrotnie) Krzyzowanie Krzyzowanie dwupunktowe: Losowane jest miejsce podzialu i wymianie podlega czesc ciagu kodowego do miejsca podzialu 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 I I 0 0 1 1 1 1 1 0 1 1 0 0 0 0 0 1 Krzyzowanie Losowo dobierane pary rodzicielskie wymieniaja sie (z okreslonym prawdopodobienstwem) czescia genów Krzyzowanie jednopunktowe: Losowane jest miejsce podzialu i wymianie podlega czesc ciagu kodowego do miejsca podzialu 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 I - punkt podziału 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 Mutacja Losowa wymiana genów dla niektórych osobników: 1 0 1 0 1 0 1 0 | 1 0 1 1 1 0 1 0 Mutacja ma role drugorzedna. Krzyzowanie skutecznie sonduje cala przestrzen poszukiwan. Polisa ubezpieczeniowa, na wypadek utraty waznych skladników rozwiazan 2 Cechy charakterystyczne algorytmów genetycznych 1. Operuja na ciagach kodowych, przedstawiajacych zakodowana postac zadania. 2. Prowadza przeszukiwanie wychodzac nie z pojedynczego punktu lecz z populacji 3. Korzystaja tylko z funkcji celu a nie z jej pochodnych lub innych informacji 4. Losowe metody wyboru. Przyklad : - ciagi o dlugosci 5. Ciag odpowiada schematowi, jezeli na kazdej pozycji: 1 1 0 0 „ * „ 0 lub 1 Schemat * * * * * spelniaja wszystkie ciagi kodowe, a schemat: * 0 0 1 1 spelniaja 0 0 0 1 1 oraz 1 0 0 1 1 Rzad schematu H o(H) - liczba ustalonych pozycji ( 0 lub 1) Rozpietosc schematu H d(H) - odleglosc miedzy skrajnymi pozycjami ustalonymi H=0**** H=0*1*0 H=*010* o(H) = 1 o(H) = 3 o(H) = 3 d(H) = 0 d(H) = 4; d(H) = 2; Podstawy matematyczne algorytmów genetycznych Podobienstwo miedzy ciagami kodowymi schematy. Alfabet dwójkowy z dodatkowym znakiem „uniwersalnym” : 0 1 * „ * ” zastepuje 0 lub 1. Dla 5 elementowych ciagów istnieje 3^5 = 243 schematów, ale tylko 2^5 = 32 rózne ciagi kodowe. Kazdy ciag kodowy reprezentuje 2^5 = 32 schematy. Stad w kazdej populacji reprezentowane jest od 32 do n * 32 schematów. Schemat pozostaje niezmieniony jezeli operator krzyzowania nie przecina go. Wplyw reprodukcji na schematy Schematy lepsze od przecietnych rozpowszechniaja sie, a schematy gorsze zanikaja. m( H, t) = m(H, t-1) * (1+c) c>0 dla schematów lepszych od przeciętej c<0 dla schematów gorszych od przeciętej Podstawowe twierdzenie algorytmów genetycznych o schematach: Waskie, niskiego rzedu i dobrze przystosowane schematy rozprzestrzeniaja sie w kolejnych pokoleniach zgodnie z wykladniczym prawem wzrostu 3 Na krzyzowanie wrazliwe sa schematy o duzej rozpietosci. Prawdopodobienstwo przezycia schematu H: ps > 1 - pc * d(H) / L-1 Oszacowanie liczby efektywnie przetwarzanych schematów O(n^3) Prawdopodobienstwo przezycia mutacji przez schemat H ps > 1 - pm * o(H) Lacznie wszystkie operatory genetyczne powoduja ze: W algorytmie dzialajacym na n ciagach kodowych przetwarzaniu podlega okolo n^3 schematów. m( H, t+1) = =m (H, t ) * f(H) /f_sr * ( 1 - pc * d(H) / (L-1) - pm * o(H) ) Hipoteza cegielek Algorytm genetyczny dazy do osiagniecia rezultatu bliskiego optimum poprzez zestawianie dobrych schematów (o przystosowaniu powyzej sredniej) malego rzedu i malej rozpietosci. Sa to tak zwane bloki budujace (cegielki). Wniosek: kodowanie winno spelniac koncepcje cegielek Selekcja chromosomów Metoda ruletki: Laczne przystosowanie wszystkich chromosomów: f(ch1)+ ... f(ch8) = 46 100% Przystosowanie poszczególnych chromosomów: v(1) = 15.2 % v(5) = 8.7 % v(2) = 13.0 % v(6) = 10.9 % v(3) = 17.4% v(7) = 17.4 % v(4) = 6.5% v(8) = 10.9 % Zjawisko ukrytej równoleglosci Przyklad dzialania Wybranie ciagu kodowego o mozliwie duzej ilosci jedynek Ciagi kodowe maja dlugosc L=12 a populacja liczy n=8 osobników ch1 ch2 ch3 ch4 ch5 ch6 ch7 ch8 = = = = = = = = 1 0 0 0 0 0 1 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 0 1 0 1 1 0 0 0 1 1 0 1 0 1 0 0 1 1 1 0 0 0 1 1 0 1 0 1 1 0 0 0 1 0 1 0 1 0 0 1 1 0 f(ch1) f(ch2) f(ch3) f(ch4) f(ch5) f(ch6) f(ch7) f(ch8) = = = = = = = = 7 6 8 3 4 5 8 5 Losowanie metoda ruletki Wylosowano liczby z koła ruletki: 79 44 9 74 44 86 48 23 Co oznacza wybór chromosomów: ch7 ch3 ch1 ch7 ch3 ch7 ch4 ch2 Wybrane chromosomy tworza pule rodzicielska. 4 Przyjeto: pc = 1 oraz pm = 0 (brak mutacji) Losowo dobrano pary rodziców i punkty krzyzowania: ch2 i ch7 z punktem krzyzowaniaLk = 4 ch1 i ch7 ---------------------Lk = 3 ch3 i ch4 ---------------------Lk = 11 ch3 i ch7 ---------------------Lk = 5 Proces krzyzowania: ch2 = 0 0 1 1 0 0 1 1 1 0 1 0 ch7 = 1 0 1 0 1 1 0 1 1 0 1 1 I Ch1 = 0 0 1 1 1 1 0 1 1 0 1 1 Ch2 = 1 0 1 0 0 0 1 1 1 0 1 0 Ch1 = 0 0 1 1 1 1 0 1 1 0 1 1 Ch2 = 1 0 1 0 0 0 1 1 1 0 1 0 Ch3 = 1 1 1 0 1 1 0 1 1 0 1 1 Ch4 = 1 0 1 0 0 1 1 0 0 1 0 1 Ch7 = 0 1 1 1 0 1 0 1 1 0 1 1 Ch8 = 1 0 1 0 1 1 1 1 0 0 1 1 f(Ch1) = 8 f(Ch2) = 6 Ch1 Ch2 Ch3 Ch4 Ch5 Ch6 Ch7 Ch8 1 0 0 0 0 0 1 0 = = = = = = = = 1 0 1 0 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 0 0 0 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 0 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 1 0 1 0 1 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 0 0 1 1 0 1 0 0 0 1 1 0 1 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 1 1 0 1 1 1 0 1 0 1 1 1 0 1 1 0 1 1 1 f(Ch7) = 8 f(Ch8) = 8 Powstał chromosom o funkcji przystosowania lepszej niŜ w pokoleniu poprzednim Schemat H = * * * * * * * * * * 1 1 rozpietosc d(H) = 1 rzad o(H) = 2 = = = = = = = = f(Ch3) = 9 f(Ch4) = 6 Ch5 = 0 1 1 1 0 1 1 1 0 0 1 0 f(Ch5) = 7 Ch6 = 0 0 1 0 0 0 1 0 1 0 0 1 f(Ch6) = 4 Proces przetwarzania schematu ch1 ch2 ch3 ch4 ch5 ch6 ch7 ch8 f(Ch1) = 8 f(Ch2) = 6 f(ch1) f(ch2) f(ch3) f(ch4) f(ch5) f(ch6) f(ch7) f(ch8) f(Ch1) f(Ch2) f(Ch3) f(Ch4) f(Ch5) f(Ch6) f(Ch7) f(Ch8) = = = = = = = = = = = = = = = = 7 6 8 3 4 5 8 5 m( H, t+1) = = m (H, t ) * f(H) /f_sr * ( 1 - pc * d(H) / (L-1) - pm * o(H) ) f(H) - srednie przystosowanie chromosomów spelniajacych schemat. f(H) = 8; f_sr - srednie przystosowanie wszystkich chromosomów f_sr = 5.75 pc =1 pm = 0 M(H, 1) > =2 * 8/5.75 * ( 1 - 1/12) = 2.55 M(H, 1) =4 8 6 9 6 7 4 8 8 5