Algorytmy stochastyczne, wyklad 01 Podstawowy algorytm genetyczny
Transkrypt
Algorytmy stochastyczne, wyklad 01 Podstawowy algorytm genetyczny
Organizacja przedmiotu Podstawowy algorytm genetyczny „Mutacje” algorytmu genetycznego Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny J. Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2014-02-21 J. Piersa WSN 2013/2014 Wykład 01 Organizacja przedmiotu Podstawowy algorytm genetyczny „Mutacje” algorytmu genetycznego In memoriam prof. dr hab. Tomasz Schreiber (1975-2010) J. Piersa WSN 2013/2014 Wykład 01 Organizacja przedmiotu Podstawowy algorytm genetyczny „Mutacje” algorytmu genetycznego Organizacja przedmiotu 1 Organizacja przedmiotu Organizacja przedmiotu 2 Podstawowy algorytm genetyczny Motywacje Biologiczne Algorytm genetyczny Poszczególne kroki 3 „Mutacje” algorytmu genetycznego Różne J. Piersa WSN 2013/2014 Wykład 01 Organizacja przedmiotu Podstawowy algorytm genetyczny „Mutacje” algorytmu genetycznego Organizacja przedmiotu Orientacyjny program 1 Algorytmy genetyczne i ewolucyjne 2 (??) Optymalizacja mrowiskowa 3 Systemy Liendenmayera 4 Sieci bayesowskie 5 (??) Sieci qussowskie J. Piersa WSN 2013/2014 Wykład 01 Organizacja przedmiotu Podstawowy algorytm genetyczny „Mutacje” algorytmu genetycznego Organizacja przedmiotu Literatura Z. Michalewicz Algorytmy genetyczne + struktury danych = programy ewolucyjne, P. Prusinkiewicz, A. Liendenmayer The algorithmic beauty of plants P. Judea, Probabilistic reasoniings in intelligent systems: Networks of plausible inference R. Neapolitan, Learning Bayesian Networks J. Piersa WSN 2013/2014 Wykład 01 Organizacja przedmiotu Podstawowy algorytm genetyczny „Mutacje” algorytmu genetycznego Organizacja przedmiotu Wymagania programowanie, algorytmy i struktury danych język programowania wysokiego poziomu (C / C++ / C# / Java / Python ...) + biblioteki GUI podstawy rachunku prawdopodobieństwa i statystyki (rozkłady dyskretne, prawdopodobieństwo warunkowe) J. Piersa WSN 2013/2014 Wykład 01 Organizacja przedmiotu Podstawowy algorytm genetyczny „Mutacje” algorytmu genetycznego Organizacja przedmiotu Zaliczenie Zaliczenie wykładu: egzamin pisemny — pytania opisowe egzamin ustny — pytania otwarte wymagane jest laboratoriów przed podejściem do egzaminu J. Piersa WSN 2013/2014 Wykład 01 Organizacja przedmiotu Podstawowy algorytm genetyczny „Mutacje” algorytmu genetycznego Organizacja przedmiotu Zaliczenie Zaliczenie laboratoriów: projekty programistyczne (ok. 3 – 6 programów) ocena BDB+ z laboratorium zwalnia z egzaminu J. Piersa WSN 2013/2014 Wykład 01 Organizacja przedmiotu Podstawowy algorytm genetyczny „Mutacje” algorytmu genetycznego Motywacje Biologiczne Algorytm genetyczny Poszczególne kroki 1 Organizacja przedmiotu Organizacja przedmiotu 2 Podstawowy algorytm genetyczny Motywacje Biologiczne Algorytm genetyczny Poszczególne kroki 3 „Mutacje” algorytmu genetycznego Różne J. Piersa WSN 2013/2014 Wykład 01 Organizacja przedmiotu Podstawowy algorytm genetyczny „Mutacje” algorytmu genetycznego Motywacje Biologiczne Algorytm genetyczny Poszczególne kroki Motywacje biologiczne Darwin, The origin of the species Dla zainteresowanych — pełen tekst na wikisource: http://en.wikisource. org/wiki/The_Origin_ of_Species_%281872%29 Źródło: http://en.wikipedia.org/wiki/Charles_Darwin J. Piersa WSN 2013/2014 Wykład 01 Organizacja przedmiotu Podstawowy algorytm genetyczny „Mutacje” algorytmu genetycznego Motywacje Biologiczne Algorytm genetyczny Poszczególne kroki Chromosomy geny — nośniki informacji biologicznej geny łączą się w chromosomy geny w chromosomie ustalają cechy osobnika Źródło: http://en.wikipedia.org/wiki/File:Gene.png J. Piersa WSN 2013/2014 Wykład 01 Organizacja przedmiotu Podstawowy algorytm genetyczny „Mutacje” algorytmu genetycznego Motywacje Biologiczne Algorytm genetyczny Poszczególne kroki Dobór naturalny osobniki walczą o przetrwanie w naturalnych warunkach zagrożenia zewnętrzne i wewnętrzne osobniki słabe giną osobniki najsilniejsze przeżywają i mają potomstwo J. Piersa WSN 2013/2014 Wykład 01 Organizacja przedmiotu Podstawowy algorytm genetyczny „Mutacje” algorytmu genetycznego Motywacje Biologiczne Algorytm genetyczny Poszczególne kroki Dziedziczenie i zmienność genetyczna crossover (krzyżowanie) — wymiana fragmentów materiału genetycznego potomek otrzymuje (częściowo) cechy rodziców mutacje — losowa zmiana małych fragmentów łańcucha „gdzie wszyscy myślą tak samo, nikt nie myśli zbyt wiele” J. Piersa WSN 2013/2014 Wykład 01 Organizacja przedmiotu Podstawowy algorytm genetyczny „Mutacje” algorytmu genetycznego Motywacje Biologiczne Algorytm genetyczny Poszczególne kroki Nowa populacja osobniki, które przeżyły i potomstwo tworzą nową populację wróć do kroku 1... J. Piersa WSN 2013/2014 Wykład 01 Organizacja przedmiotu Podstawowy algorytm genetyczny „Mutacje” algorytmu genetycznego Motywacje Biologiczne Algorytm genetyczny Poszczególne kroki Poskładajmy klocki razem Dany mamy... problem osobnik → pewne rozwiązanie problemu środowisko → mechanizm weryfikujący czy osobnik się nadaje krzyżowanie → łączymy dobre osobniki, być może ich potomek będzie jeszcze lepszy mutacje → nie chcemy aby rozwiązania skupiły się na jednym fragmencie przestrzeni selekcja → odrzucamy słabe i nie rokujące rozwiązania następne pokolenie → powinno być lepiej dostosowane niż poprzednie J. Piersa WSN 2013/2014 Wykład 01 Organizacja przedmiotu Podstawowy algorytm genetyczny „Mutacje” algorytmu genetycznego Motywacje Biologiczne Algorytm genetyczny Poszczególne kroki Poskładajmy klocki razem Rozpocznij ze startową populacją Pi=1 do następnej populacji wybierz osobników z prawdopodobieństwem X P(X ∈ Pi+1 ) = F (X )/ F (Y ) Y ∈Pi oceń każdego osobnika z prawdopodobieństwem pc wybierz osobników do krzyżowania i utwórz ich potomków z prawdopodobieństwem pm wybierz osobników do mutacji i zmutuj ich genotyp jeżeli zachodzi warunek stopu to zakończ i:= i+1; wróć do 2 J. Piersa WSN 2013/2014 Wykład 01 Organizacja przedmiotu Podstawowy algorytm genetyczny „Mutacje” algorytmu genetycznego Motywacje Biologiczne Algorytm genetyczny Poszczególne kroki Reprezentacja osobnik → rozwiązanie problemu np osobnik = [a1 , a2 , a3 , ..., aN ] — binarnie zakodowane rozwiązanie z osobników {o1 , o2 , ...oP } — składamy populację (w epoce t=0) dla t = 0 populacja losowa J. Piersa WSN 2013/2014 Wykład 01 Organizacja przedmiotu Podstawowy algorytm genetyczny „Mutacje” algorytmu genetycznego Motywacje Biologiczne Algorytm genetyczny Poszczególne kroki Krzyżowanie krzyżowanie → łączymy dobre osobniki, być może ich potomek będzie jeszcze lepszy krzyżowanie — dwuargumentowy operator genetyczny (tzn. bierze dwa zestawy genów i zwraca trzeci) jak? zamiana ogonów w łańcuchach: oi+1 ...on S := o1 ...oi qi+1 ...qn Q q1 ...qi qi+1 ...qn T := q1 ...qi oi+1 ...on O o1 ...oi J. Piersa WSN 2013/2014 Wykład 01 Organizacja przedmiotu Podstawowy algorytm genetyczny „Mutacje” algorytmu genetycznego Motywacje Biologiczne Algorytm genetyczny Poszczególne kroki Krzyżowanie implementacja krzyżowania: ustal punkt cięcia i ∈ {1...N − 1} rozetnij Q i O na i-tym genie sklej głowę O z ogonem Q, zwróć potomka podobnie można otrzymać drugiego potomka sklejając głowę Q i ogon O pc = prawdopodobieństwo krzyżowania — duże J. Piersa WSN 2013/2014 Wykład 01 Organizacja przedmiotu Podstawowy algorytm genetyczny „Mutacje” algorytmu genetycznego Motywacje Biologiczne Algorytm genetyczny Poszczególne kroki Mutacje mutacje — zmienność genetyczna dla każdego bitu z prawdopodobieństwem pm zamień bit na przeciwny implementacja głupia: for po wszystkich bitach wszystkich osobników J. Piersa WSN 2013/2014 Wykład 01 Organizacja przedmiotu Podstawowy algorytm genetyczny „Mutacje” algorytmu genetycznego Motywacje Biologiczne Algorytm genetyczny Poszczególne kroki Mutacje implementacja lepsza: K = liczba bitów · liczba osobników w populacji, wylosuj L ∼ Binom(pm , K ), tj. K l P(L = l) = p (1 − p)K −l l gdzie p = pm , wylosuj L liczb z przedziału 1..K — pozycje bitów do mutowania zamień wylosowane bity na przeciwne (licząc od początku populacji) pm — małe, ok 1 zmiany na cały chromosom, np. pm ' 1/dlugosc lancucha J. Piersa WSN 2013/2014 Wykład 01 Organizacja przedmiotu Podstawowy algorytm genetyczny „Mutacje” algorytmu genetycznego Motywacje Biologiczne Algorytm genetyczny Poszczególne kroki Dostosowanie środowisko → mechanizm weryfikujący czy osobnik się nadaje np. funkcja dostosowania jak dobry jest osobnik F : [0, 1]N → R jeżeli F (o1 = [0, 1, 0]) > F (o2 = [0, 1, 1]), to osobnik o1 jest lepszy J. Piersa WSN 2013/2014 Wykład 01 Organizacja przedmiotu Podstawowy algorytm genetyczny „Mutacje” algorytmu genetycznego Motywacje Biologiczne Algorytm genetyczny Poszczególne kroki Selekcja koło ruletki: tworzymy niesymetryczną ruletkę z osobnikami populacji osobnik oi ma prawdopodobieństwo bycia wylosowanym F (oi ) q∈P t F (q) P(oi ) = P x2 x1 x3 x9 x4 x5 x8 x6 utwórz nową populację P t+1 poprzez kolejne losowania kołem J. Piersa x10 WSN 2013/2014 Wykład 01 x7 Organizacja przedmiotu Podstawowy algorytm genetyczny „Mutacje” algorytmu genetycznego Różne Warunki stopu liczba pokoleń dostatecznie dobre rozwiązanie jednolita populacja limit czasu J. Piersa WSN 2013/2014 Wykład 01 Organizacja przedmiotu Podstawowy algorytm genetyczny „Mutacje” algorytmu genetycznego Różne Przetrwanie najlepszego wymuszamy przeżycie najlepiej dostosowanego osobnika pierwszy slot w nowej populacji jest dla najlepszego reszta — według ruletki J. Piersa WSN 2013/2014 Wykład 01 Organizacja przedmiotu Podstawowy algorytm genetyczny „Mutacje” algorytmu genetycznego Różne Niebinarne geny zamiast ciągu bitów jako można przyjąć ciąg liczb, mutacja — zmiana liczby na inną z dopuszczonego zakresu, J. Piersa WSN 2013/2014 Wykład 01 Organizacja przedmiotu Podstawowy algorytm genetyczny „Mutacje” algorytmu genetycznego Różne Presja genetyczna F funkcja dostosowania (im większe F tym lepiej) i F (O) > 0 Φ(O) zależy od F (O) i C1 , gdzie C1 — presja genetyczna (utrudnia wygranie słabym osobnikom) Φ(O) = (F (O))C1 — C1 > 1 — większa presja Φ(O) = (F (O))C1 — 0 < C1 < 1 — mała presja J. Piersa WSN 2013/2014 Wykład 01 Organizacja przedmiotu Podstawowy algorytm genetyczny „Mutacje” algorytmu genetycznego Różne Zrównoleglenie obliczenie funkcji oceny F mutacje osobników krzyżowania osobników selekcja J. Piersa WSN 2013/2014 Wykład 01