ALGORYTMY GENETYCZNE Spotkanie pierwsze
Transkrypt
ALGORYTMY GENETYCZNE Spotkanie pierwsze
Literatura • D. E. Goldberg, Algorytmy genetyczne i ich zastosowania, WNiT, 1995 • D. Rutkowska, M. Piliński, L. Rutkowski, Sieci neuronowe, algorytmy genetyczne i systemy rozmyte, PWN, 1997 ALGORYTMY GENETYCZNE • M. Pawlak, Algorytmy ewolucyjne jako narzędzie harmonogramowania produkcji, PWN, 1999 Spotkanie pierwsze • J. Arabas, Wykłady z algorytmów ewolucyjnych, WNiT, 2001 • L. L R Rutkowski, tk ki Metody M t d i techniki t h iki sztucznej t j iinteligencji, t li ji PWN PWN, 2005 • Z. Michalewicz, D.B. Fogel, Jak to rozwiązać czyli nowoczesna heurystyka, WNT, 2006 • T. D. Gwiazda, Algorytmy genetyczne. Kompendium, PWN tom 1: Operator krzyżowania dla problemów genetycznych, 2007 tom 2: Operator mutacji dla problemów genetycznych, 2007 • D.T. Larose, Metody i modele eksploracji danych, PWN, 2008 Tomasz Kuszewski © 1 2 Tomasz Kuszewski © Słowniczek Algorytm genetyczny – wzorowana na naturalnej ewolucji metoda poszukiwania najlepszych decyzji w zagadnieniach optymalizacyjnych Algorytm genetyczny – procedura przeszukiwania oparta na mechanizmach doboru naturalnego i dziedziczenia; według teorii ewolucji przeżywają osobniki najlepiej przystosowane John Holland, University of Michigan, Populacja – zbiór osobników Osobnik – punkt przestrzeni poszukiwań, zbiór zakodowanych parametrów rozwiązania problemu Chromosom – ciąg genów [łańcuch genów] Genotyp – zespół chromosomów danego osobnika [struktura]; często przyjmuje się, że genotyp składa się z jednego chromosomu Gen – element chromosomu [cecha, [cecha znak] Allel – wartość genu Locus – pozycja genu w łańcuchu, czyli chromosomie [liczba] Fenotyp – zestaw wartości odpowiadający genotypowi [zdekodowana struktura, rozwiązanie problemu w notacji oryginału] Funkcja przystosowania – miara przystosowania „do życia” danego osobnika „Adaptation in Natural and Artificial Systems”, 1975 Generacja, pokolenie Tomasz Kuszewski © 4 Tomasz Kuszewski © 6 1 Selekcja metodą ruletki – obrót kołem ruletki Klasyczny algorytm genetyczny K – liczebność populacji, i = 1, 2, …, K, preferujemy K - parzyste Start ch(i) – chromosom F[.] – funkcja przystosowania Inicjacja – wybór populacji początkowej P[ch(i)] – prawdopodobieństwo selekcji chromosomu ch(i) F [ ch( i )] P [ ch( i )] = K Ocena przystosowania chromosomów NIE Selekcja ∑ F [ ch( i )] TAK Reguła stopu j =1 • Wycinek koła v[ch(i)] = P[ch(i)] ·100, tzn. każdemu chromosomowi przydzielono wycinek koła ruletki, tym większy im chromosom lepiej przystosowany Fenotyp najlepszego chromosomu • Okrąg odwzorowany na przedział <0, 100> Operatory genetyczne • Wylosowanie liczby z przedziału <a,b>, gdzie a,b wyznaczają odpowiedni wycinek koła jest tożsame z wylosowaniem chromosomu Stop Populacja potomków • Wynik: populacja rodzicielska o liczebności K 7 Tomasz Kuszewski © Selekcja rankingowa – ustawienie chromosomów w kolejności od najlepszych do najgorszych, w zależności od wartości funkcji F(.) Elitaryzm – zachowanie w kolejnej populacji najlepiej przystosowanych chromosomów oraz ich ochrona przed krzyżowaniem i mutacją Idea Skalowanie typu sigma – zmiana wartości funkcji przystosowania • Dla każdego ch(i) losujemy liczbę k z przedziału <0, 1>. Jeśli k ≤ pk, to chromosom przeznaczony do krzyżowania F [ ch ( i )] ¬ średniaF odch .std .F • W grupie chromosomów przeznaczonych do krzyżowania losowo dobieramy pary rodziców Selekcja Boltzmana – zmiana wartości funkcji przystosowania w zależności od numeru populacji, parametr T – temperatura o malejących wartościach exp{ F [ ch( i )] / T } FBoltzmann [ ch( i )] = średnia {exp{ F [ ch( i )] / T }} Tomasz Kuszewski © 9 Krzyżowanie – operator genetyczny, wykonuje rekombinację tzn. tworzy dwa osobniki potomne przez losowy wybór locus (krzyżowanie jednopunktowe) i wymianę podsekwencji genów miedzy chromosomami z populacji rodzicielskiej, znajdujących się na lewo i na prawo od wylosowanej pozycji; stosuje się również krzyżowanie wielopunktowe; prawdopodobieństwo krzyżowania pk jest wysokie Selekcja turniejowa – z populacji losujemy dwa chromosomy ze zwracaniem; do populacji rodzicielskiej dołączany jest chromosom w większej wartości funkcji F(.); można ustalić również wartość progową funkcji przystosowania Fsigma scaled [ ch ( i )] = 1 + Tomasz Kuszewski © • Dla każdej pary rodziców losujemy locus krzyżowania • Z każdej pary rodziców otrzymujemy parę potomków 10 Tomasz Kuszewski © 11 2 Mutacja – operator genetyczny, zmienia losowo bity lub cyfry na danej pozycji w chromosomie, zwykle z bardzo małym prawdopodobieństwem pm Dlaczego to działa? (I) definicje Schemat – wzorzec opisujący podzbiór ciągów podobnych ze względu na ustalone pozycje Przeprowadzenie mutacji na rodzicach albo na potomkach nie wpływa na efekt mutacji dla całego procesu optymalizacji • Dodatkowy znak „*” schemat *11*0 • Schemat z m symbolami „*” pasuje do 2m chromosomów Idea • Każdy ciąg o długości s należy do 2s schematów • Dla każdego genu z każdego chromosomu jest losowana liczba k z przedziału <0, 1> • Dla Dl alfabetu lf b t o k symbolach b l h iistnieje t i j (k (k+1) 1)s schematów h tó • Jeżeli k ≤ pm, to gen podlega mutacji • Rzędem schematu H o(H) jest nazywana liczba ustalonych pozycji • Np. dla chromosomu binarnego mutacja polega na zamianie np. „0” → „1” albo „1” → „0” o(* * * 1 0 *) = 2 • Rozpiętością schematu H d(H) jest nazywana odległość między ostatnim a pierwszym ustalonym symbolem np. Inne operatory genetyczne d( * 1 * 0 * * * 1) = 8 – 2 = 6 d(* * * * 1 * *) = 0 np. operator inwersji 13 Tomasz Kuszewski © 19 Tomasz Kuszewski © Dlaczego to działa? (II) selekcja Dlaczego to działa? (III) selekcja A(t) – populacja w pokoleniu t, złożona z n ciągów Aj • Wartość oczekiwana chromosomów pasujących do schematu H w puli F ( H ,t ) rodzicielskiej m(H,t) – liczba reprezentantów schematu H w populacji A(t) E [ m( H ,t + 1 )] = m( H ,t ) • Średnia wartość przystosowania chromosomów pasujących do H ∑ F ( H ,t ) = j =1 średniaF • Zakłada się, że średnie przystosowanie schematu H jest wyższe od średniej w populacji o wielkość c·średniaF, gdzie c – stała, wtedy m Fj m ( H ,t ) E [ m( H ,t + 1 )] = m( H ,t ) • Prawdopodobieństwo wybrania i-tego ciągu z populacji do puli rodzicielskiej F pi = n i ∑ Fi ( średniaF + c średniaF ) = m( H ,t )( 1 + c ) średniaF • W procesie reprodukcji schematy lepsze są przekazywane do następnych pokoleń w liczbie rosnącej wykładniczo t i =1 • Oczekiwana liczba chromosomów wybranych do puli rodzicielskiej F Fi np i = n n i = średniaF ∑ Fi m( H ,t ) = m( H ,0 )( 1 + c ) i =1 Tomasz Kuszewski © 20 Tomasz Kuszewski © 21 3 Dlaczego to działa? (IV) krzyżowanie Dlaczego to działa? (V) mutacja • Im większa rozpiętość schematu, tym mniejsze szanse na jego przeżycie • Im większy rząd schematu, tym mniejsze szanse na jego przeżycie, aby schemat H przetrwał wszystkie pozycje ustalone muszą pozostać bez zmian H1 = * 1 * * * * 0 H2 = * * * * 1 1 * widać, że prawdopodobieństwo zniszczenia schematu H2 wynosi 1/6, dla losowanego locus k = 5. Prawdopodobieństwo przetrwania schematu H1 wynosi 1/6, 1/6 dla losowanego locus k = 1 • Prawdopodobieństwo przetrwania mutacji przez schemat H p Hm = ( 1 ¬ p m ) o ( H ) • Dla małych prawdopodobieństw mutacji p Hm = 1¬ pm o( H ) • Prawdopodobieństwo przetrwania schematu H, w przynajmniej jednym potomku, pk – prawdopodobieństwo krzyżowania p Hk ≥ 1¬ p k Łącznie • Oczekiwana liczba reprezentantów schematu H w kolejnym pokoleniu d( H ) s ¬1 Tomasz Kuszewski © m ( H ,t + 1 ) ≥ m ( H ,t ) 22 Tomasz Kuszewski © F( H ) średniaF 1¬ p k d( H ) ¬ o( H ) pm s¬1 23 Twierdzenie o schematach Schematy małego rzędu, o małej rozpiętości i o przystosowaniu powyżej średniej otrzymują rosnąco wykładniczo liczbę swoich reprezentantów w kolejnych populacjach generowanych przez algorytm genetyczny Hipoteza bloków budujących Algorytm genetyczny dąży do osiągnięcia rezultatu bliskiego optimum przez zestawienie dobrych schematów, małego rzędu i o małej rozpiętości. Schematy takie są nazywane blokami budującymi Tomasz Kuszewski © 24 4