Algorytmy stochastyczne, wyklad 01 Podstawowy algorytm...

28
Organizacja przedmiotu Podstawowy algorytm genetyczny „Mutacje” algorytmu genetycznego Algorytmy stochastyczne, wyklad 01 Podstawowy algorytm genetyczny J. Piersa Wydzial Matematyki i Informatyki, Uniwersytet Mikolaja Kopernika 2014-02-21 J. Piersa WSN 2013/2014 Wyklad 01

Transcript of Algorytmy stochastyczne, wyklad 01 Podstawowy algorytm...

Organizacja przedmiotuPodstawowy algorytm genetyczny„Mutacje” algorytmu genetycznego

Algorytmy stochastyczne, wykład 01Podstawowy algorytm genetyczny

J. Piersa

Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika

2014-02-21

J. Piersa WSN 2013/2014 Wykład 01

Organizacja przedmiotuPodstawowy algorytm genetyczny„Mutacje” algorytmu genetycznego

In memoriam

prof. dr hab. Tomasz Schreiber (1975-2010)

J. Piersa WSN 2013/2014 Wykład 01

Organizacja przedmiotuPodstawowy algorytm genetyczny„Mutacje” algorytmu genetycznego

Organizacja przedmiotu

1 Organizacja przedmiotuOrganizacja przedmiotu

2 Podstawowy algorytm genetycznyMotywacje BiologiczneAlgorytm genetycznyPoszczególne kroki

3 „Mutacje” algorytmu genetycznegoRóżne

J. Piersa WSN 2013/2014 Wykład 01

Organizacja przedmiotuPodstawowy algorytm genetyczny„Mutacje” algorytmu genetycznego

Organizacja przedmiotu

Orientacyjny program

1 Algorytmy genetyczne i ewolucyjne2 (??) Optymalizacja mrowiskowa3 Systemy Liendenmayera4 Sieci bayesowskie5 (??) Sieci qussowskie

J. Piersa WSN 2013/2014 Wykład 01

Organizacja przedmiotuPodstawowy algorytm genetyczny„Mutacje” algorytmu genetycznego

Organizacja przedmiotu

Literatura

Z. Michalewicz Algorytmy genetyczne + struktury danych =programy ewolucyjne,

P. Prusinkiewicz, A. Liendenmayer The algorithmic beauty ofplants

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 przedmiotuPodstawowy 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ładydyskretne, prawdopodobieństwo warunkowe)

J. Piersa WSN 2013/2014 Wykład 01

Organizacja przedmiotuPodstawowy 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 przedmiotuPodstawowy 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 przedmiotuPodstawowy algorytm genetyczny„Mutacje” algorytmu genetycznego

Motywacje BiologiczneAlgorytm genetycznyPoszczególne kroki

1 Organizacja przedmiotuOrganizacja przedmiotu

2 Podstawowy algorytm genetycznyMotywacje BiologiczneAlgorytm genetycznyPoszczególne kroki

3 „Mutacje” algorytmu genetycznegoRóżne

J. Piersa WSN 2013/2014 Wykład 01

Organizacja przedmiotuPodstawowy algorytm genetyczny„Mutacje” algorytmu genetycznego

Motywacje BiologiczneAlgorytm genetycznyPoszczególne kroki

Motywacje biologiczne

Darwin, The origin of thespecies

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 przedmiotuPodstawowy algorytm genetyczny„Mutacje” algorytmu genetycznego

Motywacje BiologiczneAlgorytm genetycznyPoszczególne kroki

Chromosomy

geny — nośniki informacjibiologicznej

geny łączą się wchromosomy

geny w chromosomieustalają cechy osobnika

Źródło:

http://en.wikipedia.org/wiki/File:Gene.png

J. Piersa WSN 2013/2014 Wykład 01

Organizacja przedmiotuPodstawowy algorytm genetyczny„Mutacje” algorytmu genetycznego

Motywacje BiologiczneAlgorytm genetycznyPoszczegó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 przedmiotuPodstawowy algorytm genetyczny„Mutacje” algorytmu genetycznego

Motywacje BiologiczneAlgorytm genetycznyPoszczególne kroki

Dziedziczenie i zmienność genetyczna

crossover (krzyżowanie) — wymiana fragmentów materiaługenetycznego

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 przedmiotuPodstawowy algorytm genetyczny„Mutacje” algorytmu genetycznego

Motywacje BiologiczneAlgorytm genetycznyPoszczegó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 przedmiotuPodstawowy algorytm genetyczny„Mutacje” algorytmu genetycznego

Motywacje BiologiczneAlgorytm genetycznyPoszczegó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 potomekbędzie jeszcze lepszy

mutacje → nie chcemy aby rozwiązania skupiły się na jednymfragmencie 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 przedmiotuPodstawowy algorytm genetyczny„Mutacje” algorytmu genetycznego

Motywacje BiologiczneAlgorytm genetycznyPoszczególne kroki

Poskładajmy klocki razem

Rozpocznij ze startową populacją Pi=1do następnej populacji wybierz osobników zprawdopodobieństwem

P(X ∈ Pi+1) = F (X )/∑Y∈Pi

F (Y )

oceń każdego osobnika

z prawdopodobieństwem pc wybierz osobników do krzyżowania iutwórz ich potomków

z prawdopodobieństwem pm wybierz osobników do mutacji izmutuj 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 przedmiotuPodstawowy algorytm genetyczny„Mutacje” algorytmu genetycznego

Motywacje BiologiczneAlgorytm genetycznyPoszczególne kroki

Reprezentacja

osobnik → rozwiązanie problemu

np osobnik = [a1, a2, a3, ..., aN ] — binarnie zakodowanerozwiązanie

z osobników {o1, o2, ...oP} — składamy populację (w epocet=0)

dla t = 0 populacja losowa

J. Piersa WSN 2013/2014 Wykład 01

Organizacja przedmiotuPodstawowy algorytm genetyczny„Mutacje” algorytmu genetycznego

Motywacje BiologiczneAlgorytm genetycznyPoszczególne kroki

Krzyżowanie

krzyżowanie → łączymy dobre osobniki, być może ich potomekbę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

J. Piersa WSN 2013/2014 Wykład 01

Organizacja przedmiotuPodstawowy algorytm genetyczny„Mutacje” algorytmu genetycznego

Motywacje BiologiczneAlgorytm genetycznyPoszczegó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 iogon O

pc = prawdopodobieństwo krzyżowania — duże

J. Piersa WSN 2013/2014 Wykład 01

Organizacja przedmiotuPodstawowy algorytm genetyczny„Mutacje” algorytmu genetycznego

Motywacje BiologiczneAlgorytm genetycznyPoszczególne kroki

Mutacje

mutacje — zmienność genetyczna

dla każdego bitu z prawdopodobieństwem pm zamień bit naprzeciwny

implementacja głupia: for po wszystkich bitach wszystkichosobników

J. Piersa WSN 2013/2014 Wykład 01

Organizacja przedmiotuPodstawowy algorytm genetyczny„Mutacje” algorytmu genetycznego

Motywacje BiologiczneAlgorytm genetycznyPoszczególne kroki

Mutacje

implementacja lepsza: K = liczba bitów · liczba osobników wpopulacji,

wylosuj L ∼ Binom(pm,K ), tj.

P(L = l) =

(Kl

)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ątkupopulacji)

pm — małe, ok 1 zmiany na cały chromosom, np.pm ' 1/dlugosc lancucha

J. Piersa WSN 2013/2014 Wykład 01

Organizacja przedmiotuPodstawowy algorytm genetyczny„Mutacje” algorytmu genetycznego

Motywacje BiologiczneAlgorytm genetycznyPoszczegó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 jestlepszy

J. Piersa WSN 2013/2014 Wykład 01

Organizacja przedmiotuPodstawowy algorytm genetyczny„Mutacje” algorytmu genetycznego

Motywacje BiologiczneAlgorytm genetycznyPoszczególne kroki

Selekcja

koło ruletki:

tworzymy niesymetrycznąruletkę z osobnikamipopulacji

osobnik oi maprawdopodobieństwo byciawylosowanym

P(oi ) =F (oi )∑q∈Pt F (q)

utwórz nową populacjęPt+1 poprzez kolejnelosowania kołem

x1x2

x3

x4

x5

x6x7

x8

x9

x10

J. Piersa WSN 2013/2014 Wykład 01

Organizacja przedmiotuPodstawowy 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 przedmiotuPodstawowy 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 przedmiotuPodstawowy 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 przedmiotuPodstawowy 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 przedmiotuPodstawowy 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