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
Organizacja przedmiotu Podstawowy algorytm genetyczny
„Mutacje” algorytmu genetycznego
In memoriam
prof. dr hab. Tomasz Schreiber (1975-2010)
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
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
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
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)
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
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
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
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
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
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
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”
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...
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
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
P(X ∈ Pi +1) = F (X )/ X
Y ∈Pi
F (Y )
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
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
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:
O o1...oi oi +1...on
Q q1...qi qi +1...qn
S := o1...oi qi +1...qn
T := q1...qi oi +1...on
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
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
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.
P(L = l ) =K l
pl(1 − p)K −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.
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
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
P(oi) = F (oi) P
q∈Pt F (q) utwórz nową populację Pt+1 poprzez kolejne
x2 x1
x3
x4
x5
x6 x7
x8 x9 x10
Organizacja przedmiotu Podstawowy algorytm genetyczny
„Mutacje” algorytmu genetycznego
Różne
Warunki stopu
liczba pokoleń
dostatecznie dobre rozwiązanie jednolita populacja
limit czasu
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
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,
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
Organizacja przedmiotu Podstawowy algorytm genetyczny
„Mutacje” algorytmu genetycznego
Różne
Zrównoleglenie
obliczenie funkcji oceny F mutacje osobników krzyżowania osobników selekcja