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