Algorytmy stochastyczne, wyklad 02 Algorytmy genetyczne

Transkrypt

Algorytmy stochastyczne, wyklad 02 Algorytmy genetyczne
„Mutacje” algorytmu genetycznego
Optymalizacja w złożonych przestrzeniach
Algorytmy stochastyczne, wykład 02
Algorytmy genetyczne
J. Piersa
Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika
2014-02-27
J. Piersa
WSN 2013/2014 Wykład 01
„Mutacje” algorytmu genetycznego
Optymalizacja w złożonych przestrzeniach
Warunki stopu
Modyfikacje selekcji
Reprezentacja
1
„Mutacje” algorytmu genetycznego
Warunki stopu
Modyfikacje selekcji
Reprezentacja
2
Optymalizacja w złożonych przestrzeniach
Dziedzina niewypukła
Zmienna długość chromosomu
Reprezentacja abstrakcyjna
Równoległe algorytmy genetyczne
J. Piersa
WSN 2013/2014 Wykład 01
„Mutacje” algorytmu genetycznego
Optymalizacja w złożonych przestrzeniach
Warunki stopu
Modyfikacje selekcji
Reprezentacja
Warunki stopu
liczba pokoleń
dostatecznie dobre rozwiązanie
jednolita populacja
limit czasu
J. Piersa
WSN 2013/2014 Wykład 01
„Mutacje” algorytmu genetycznego
Optymalizacja w złożonych przestrzeniach
Warunki stopu
Modyfikacje selekcji
Reprezentacja
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
„Mutacje” algorytmu genetycznego
Optymalizacja w złożonych przestrzeniach
Warunki stopu
Modyfikacje selekcji
Reprezentacja
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
wysoka presja = dobry osobnik łatwiej wygrywa, słaby ma
mniejsze szanse na przeżycie
Φ(O) = (F (O))C1 — 0 < C1 < 1 — mała presja
J. Piersa
WSN 2013/2014 Wykład 01
„Mutacje” algorytmu genetycznego
Optymalizacja w złożonych przestrzeniach
Warunki stopu
Modyfikacje selekcji
Reprezentacja
Selekcja turniejowa
dla każdego slotu w nowej populacji P t+1 powtarzamy:
losujemy k ≥ 2 osobników z P t
wybieramy zwycięzcę i dodajemy do P t+1
J. Piersa
WSN 2013/2014 Wykład 01
„Mutacje” algorytmu genetycznego
Optymalizacja w złożonych przestrzeniach
Warunki stopu
Modyfikacje selekcji
Reprezentacja
Ruletka ze stałymi odstępami
mieszamy populację
obliczamy dystrybuantę empiryczną (tabelę sum prefiksowych)
do P t dodajemy osobniki, które trafiły na liczby:
|P t |−1
1
2
3
|P t | , |P t | , |P t | , ..., |P t | , 1
ta ruletka gwarantuje że osobniki o dostosowaniu większym niż
średnia będą miały przynajmniej jedno wystąpienie
nie stosować, jeżeli P t−1 została powiększona o potomków bez
usuwania rodziców (tzn. gdy |P t−1 | =
6 |P t |)
J. Piersa
WSN 2013/2014 Wykład 01
„Mutacje” algorytmu genetycznego
Optymalizacja w złożonych przestrzeniach
Warunki stopu
Modyfikacje selekcji
Reprezentacja
Reprezentacja liczbowa
fragment chromosomu koduje liczbę zapisaną binarnie
do reprezentacji lepiej jest zastosować zapis pomieszany
np. kodowanie Gray’a (sąsiadujące liczby różnią się jednym
bitem)
J. Piersa
WSN 2013/2014 Wykład 01
„Mutacje” algorytmu genetycznego
Optymalizacja w złożonych przestrzeniach
Warunki stopu
Modyfikacje selekcji
Reprezentacja
Niebinarne geny
zamiast ciągu bitów jako można przyjąć ciąg liczb,
krzyżowanie — zwykłe
mutacje — zmiana liczby na inną z dopuszczonego zakresu,
mutacje — dodanie do liczby małego szumu np. N(0, σ 2 ),
J. Piersa
WSN 2013/2014 Wykład 01
„Mutacje” algorytmu genetycznego
Optymalizacja w złożonych przestrzeniach
Warunki stopu
Modyfikacje selekcji
Reprezentacja
Zmienna wielkość populacji
chromosomy mają swój wiek i czas zycia
w każdej epoce wiek := wiek + 1, dla potomków wiek := 0
jeżeli wiek > czas zycia, to osobnik umiera ze starości
uwaga duże (a nawet średnie i małe) pc powoduje wykładniczy
wzrost populacji nawet dla bardzo małych czasów życia!
jak określić czas życia?
J. Piersa
WSN 2013/2014 Wykład 01
„Mutacje” algorytmu genetycznego
Optymalizacja w złożonych przestrzeniach
Warunki stopu
Modyfikacje selekcji
Reprezentacja
Zmienna wielkość populacji
chromosomy mają swój wiek i czas zycia
w każdej epoce wiek := wiek + 1, dla potomków wiek := 0
jeżeli wiek > czas zycia, to osobnik umiera ze starości
uwaga duże (a nawet średnie i małe) pc powoduje wykładniczy
wzrost populacji nawet dla bardzo małych czasów życia!
jak określić czas życia?
J. Piersa
WSN 2013/2014 Wykład 01
„Mutacje” algorytmu genetycznego
Optymalizacja w złożonych przestrzeniach
Warunki stopu
Modyfikacje selekcji
Reprezentacja
Zmienna wielkość populacji
proporcjonalny
LT (o) = min(MAX LT , MIN LT + η ·
F (o)
)
avg (F (P))
liniowy
LT (o) = MIN LT + η
J. Piersa
F (o) − min(F (P))
max(F (P)) − min(F (P))
WSN 2013/2014 Wykład 01
„Mutacje” algorytmu genetycznego
Optymalizacja w złożonych przestrzeniach
Warunki stopu
Modyfikacje selekcji
Reprezentacja
Zmienna wielkość populacji
dwustronny
jeżeli F (o) < avg (F (P))
LT (o) = MIN LT + η
F (o) − min(F (P))
avg (F (P)) − min(F (P))
wpw F (o) < avg (F (P))
LT (o) =
MIN LT + MAX LT
F (o) − avg (F (P))
+η
2
max(F (P)) − avg (F (P))
J. Piersa
WSN 2013/2014 Wykład 01
„Mutacje” algorytmu genetycznego
Optymalizacja w złożonych przestrzeniach
Dziedzina niewypukła
Zmienna długość chromosomu
Reprezentacja abstrakcyjna
Równoległe algorytmy genetyczne
1
„Mutacje” algorytmu genetycznego
Warunki stopu
Modyfikacje selekcji
Reprezentacja
2
Optymalizacja w złożonych przestrzeniach
Dziedzina niewypukła
Zmienna długość chromosomu
Reprezentacja abstrakcyjna
Równoległe algorytmy genetyczne
J. Piersa
WSN 2013/2014 Wykład 01
„Mutacje” algorytmu genetycznego
Optymalizacja w złożonych przestrzeniach
Dziedzina niewypukła
Zmienna długość chromosomu
Reprezentacja abstrakcyjna
Równoległe algorytmy genetyczne
Optymalizacja w dziedzinach niewypukłych
Nie każdy ciąg [o1 , .., on ] jest poprawnym rozwiązaniem problemu
(podejście niedopuszczające) zmieniamy mutacje i krzyżowania,
aby nie wyprowadzały poza zbiór poprawnych osobników
(podejście niedopuszczające) naprawa niewłaściwego osobnika na
jakiegokolwiek poprawnego
(podejście niedopuszczające) śmierć osobnika (osobnik nie może
przeżyć selekcji)
(podejście akceptujące) dodajemy karę za naruszenie warunków
J. Piersa
WSN 2013/2014 Wykład 01
„Mutacje” algorytmu genetycznego
Optymalizacja w złożonych przestrzeniach
Dziedzina niewypukła
Zmienna długość chromosomu
Reprezentacja abstrakcyjna
Równoległe algorytmy genetyczne
Optymalizacja w dziedzinach niewypukłych
ō = [o1 , .., on ] — osobnik
modyfikujemy funkcję dostosowania
F1 (ō) = c1 F (ō) − c2 P(ō)
c1 , c2 > 0 — skalary aby oba składniki były porównywalne
0 ≤ P(ō) < F (ō) — funkcja kary, zmniejszamy dostosowanie
niepoprawnych osobników
J. Piersa
WSN 2013/2014 Wykład 01
„Mutacje” algorytmu genetycznego
Optymalizacja w złożonych przestrzeniach
Dziedzina niewypukła
Zmienna długość chromosomu
Reprezentacja abstrakcyjna
Równoległe algorytmy genetyczne
Optymalizacja w dziedzinach niewypukłych
Jak dobrać funkcję kary?
F () — naturalne dostosowanie — im większe tym lepsze
nie ma prostej funkcji kary P()
Jeżeli ō narusza warunki, to
F1 := F (ō)
Jeżeli ō nie narusza narusza warunków, to
F1 := F (ō) + najlepszy naruszający
J. Piersa
WSN 2013/2014 Wykład 01
„Mutacje” algorytmu genetycznego
Optymalizacja w złożonych przestrzeniach
Dziedzina niewypukła
Zmienna długość chromosomu
Reprezentacja abstrakcyjna
Równoległe algorytmy genetyczne
Zmienna długość chromosomu
gdy nie wiadomo jak „długie” może być rozwiązanie
długość chromosomu może być zmienna
dodajemy karę za długość rozwiązania, np.
K (ō) = co + c1 |ō| + c2 |ō|2
J. Piersa
WSN 2013/2014 Wykład 01
„Mutacje” algorytmu genetycznego
Optymalizacja w złożonych przestrzeniach
Dziedzina niewypukła
Zmienna długość chromosomu
Reprezentacja abstrakcyjna
Równoległe algorytmy genetyczne
Reprezentacja abstrakcyjna
ciąg binarny bywa trudny w interpretacji
chromosom reprezentujemy jako abstrakcyjny obiekt np:
tablica liczb
lista liczb / obiektów
drzewo
graf
dla nowej reprezentacji redefiniujemy mutację i krzyżowanie
określamy karę na naruszenie warunków i wielkość chromosomu
J. Piersa
WSN 2013/2014 Wykład 01
„Mutacje” algorytmu genetycznego
Optymalizacja w złożonych przestrzeniach
Dziedzina niewypukła
Zmienna długość chromosomu
Reprezentacja abstrakcyjna
Równoległe algorytmy genetyczne
Zrównoleglenie
Co można łatwo zrównoleglić?
obliczenie funkcji oceny F
mutacje osobników
Trochę mniej łatwo:
krzyżowanie
selekcja
J. Piersa
WSN 2013/2014 Wykład 01
„Mutacje” algorytmu genetycznego
Optymalizacja w złożonych przestrzeniach
Dziedzina niewypukła
Zmienna długość chromosomu
Reprezentacja abstrakcyjna
Równoległe algorytmy genetyczne
Równoległe algorytmy genetyczne
każdy komputer prowadzi ewolucję własnej populacji
(mikroewolucja, np. populacja w jaskiniach, lokalna
komunikacja)
co pewien czas, łączymy / kopiujemy najlepszą / mieszamy
populacje pomiędzy węzłami (makroewolucja, mieszamy
jaskiniowców z różnych jaskiń, rzadka globalna komunikacja)
J. Piersa
WSN 2013/2014 Wykład 01

Podobne dokumenty