1 / 70

Algorytmy genetyczne - plan wykładu

Algorytmy genetyczne - plan wykładu. Wstęp Standardowy algorytm genetyczny Matematyczne podstawy algorytmów genetycznych Techniki poprawiające efektywność algorytmów genetycznych Genetyczne systemy uczące się (GBML) Programowanie genetyczne. Algorytmy genetyczne - literatura.

lakia
Download Presentation

Algorytmy genetyczne - plan wykładu

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algorytmy genetyczne - plan wykładu • Wstęp • Standardowy algorytm genetyczny • Matematyczne podstawy algorytmów genetycznych • Techniki poprawiające efektywność algorytmów genetycznych • Genetyczne systemy uczące się (GBML) • Programowanie genetyczne

  2. Algorytmy genetyczne - literatura John Holland, Adaptation in natural and artificial systems, The University of Michigan Press, 1975 David E. Goldberg, Algorytmy genetyczne i ich zastosowania, WNT, Warszawa 1995 Jarosław Arabas, Wykłady z algorytmów ewolucyjnych, WNT, Warszawa 2001 Robert Schaefer, Podstawy genetycznej optymalizacji globalnej, Wydawnictwo Uniwersytetu Jagiellońskiego, Kraków 2002

  3. Definicje Algorytmy genetyczne – algorytmy poszukiwania oparte na mechanizmach doboru naturalnego oraz dziedziczenia Uczenie się systemu - każda autonomiczna zmiana w systemie zachodząca na podstawie doświadczeń, która prowadzi do poprawy jakości jego działania. • Rodzaje uczenia: • Z nauczycielem • Z krytykiem • Samoorganizacja

  4. Cele badań nad algorytmami genetycznymi • Wyjaśnienie procesów adaptacyjnych występujących w przyrodzie • Zastosowanie w zadaniach optymalizacji i uczenia

  5. Terminy genetyczne i ich odpowiedniki w sztucznych systemach genetycznych

  6. gen x Terminy genetyczne - schemat fenotyp: genotyp: 1 0 1 0 0 1 0 allel(gen x) = 1 zbiór alleli (gen x) = {0,1} locus(gen x) = 3

  7. Standardowy algorytm genetyczny – ogólny schemat • Generowanie • populacji potomnej: • Reprodukcja • Krzyżowanie • Mutacja Start Losowa generacja populacji osobników Ocena populacji osobników Tak Czy koniec ewolucji? Nie Koniec

  8. Funkcje podstawowych operatorów genetycznych Reprodukcja – wybór najlepiej przystosowanych osobników (rozwiązań) do następnego pokolenia Krzyżowanie – szukanie rozwiązań zawierających cechy wielu dobrych rozwiązań Mutacja – dostarczanie nowego materiału genetycznego

  9. Czynności związane z realizacją algorytmu genetycznego • Wybór metody kodowania - reprezentacji fenotypu (rozwiązania) • Wybór operatorów genetycznych w zależności od problemu i przyjętego sposobu kodowania • Dobór wartości parametrów ewolucji

  10. Typy reprodukcji • Ruletkowa – proporcjonalna do wartości funkcji przystosowania • Rangowa – zależna od rangi – numeru na liście posortowanej względem przystosowania • Turniejowa – wielokrotny wybór najlepszego osobnika z losowo wybieranej podpopulacji aż do skompletowania populacji potomnej

  11. Reprodukcja ruletkowa Przykład: optymalizacja funkcji Koło ruletki:

  12. Reprodukcja rangowa • Metody wyznaczania prawdopodobieństwa reprodukcji: • Liniowa: • Potęgowa: • gdzie: • r(X) – ranga rozwiązania X, • rmax – ranga maksymalna, • a,b,k – stałe spełniające warunki:

  13. Reprodukcja rangowa - przykład Wyznaczanie prawdopodobieństwa reprodukcji metodą liniową dla funkcji przystosowania

  14. Typy krzyżowania - 1/2 • Ze względu na sposób kojarzenia osobników: • Kojarzenie losowe - jednakowe prawdopodobieństwo dla wszystkich par • Kojarzenie krewniacze (endogamia) - wśród osobników pokrewnych • Kojarzenie według linii - szczególnie wartościowy osobnik jest kojarzony ze wszystkimi członkami populacji • Kojarzenie selektywne dodatnie - kojarzenie osobników podobnych np. w sensie odległości Hamminga • Kojarzenie selektywnie ujemne - kojarzenie osobników niepodobnych

  15. Typy krzyżowania - 2/2 • Ze względu na liczbę przecięć: • Jednopunktowe • Wielopunktowe • Ze względu na liczbę osobników: • Dwuosobnicze • Wieloosobnicze • W przypadku rzeczywistoliczbowej reprezentacji genotypu: • Przez wymianę wartości genów • Przez uśrednienie wartości genów

  16. Krzyżowanie proste - schemat

  17. Symulacja algorytmu genetycznego optymalizującego funkcję f(x) = x2

  18. Metody kodowania • Ze względu na typ wartości genu - allelu: • Binarne np. 1000110 • Całkowitoliczbowe • O wartościach rzeczywistych (fenotypowe)

  19. f(x) x Kodowanie binarne kod pozycyjny kod Graya liczba Kodowanie pozycyjne: 0 0000 0000 1 0001 0001 2 0010 0011 3 0011 0010 4 0100 0110 5 0101 0111 6 0110 0101 7 0111 0100 8 1000 1100 9 1001 1101 10 1010 1111 11 1011 1110 12 1100 1010 13 1101 1011 14 1110 1001 15 1111 1000 gdzie x - parametr rozwiązania, - element ciągu kodowego Kodowanie Graya:

  20. Kodowanie fenotypowe Wybrane operatory fenotypowe: - mutacja fenotypowa normalna: - krzyżowanie fenotypowe: - wektor parametrów fenotypu

  21. Metody kodowania • Ze względu na sposób reprezentowania cech: • Klasyczne - każda cecha fenotypu jest kodowana przez wartość odpowiedniego genu niezależnie od jego umiejscowienia • Permutacyjne - cechy kodowane są przez pozycje genów (locus) • Mieszane - cechy kodowane zarówno przez pozycje jak i umiejscowienie genów

  22. 3 5 1 7 4 2 6 Problem komiwojażera – przykład kodowania permutacyjnego • Założenia: • każde miasto jest przypisane do jednego z genów • o kolejności odwiedzin każdego z miast decyduje jego umiejscowienie w ciągu kodowym Przykład: ciąg kodowy: 2 5 1 3 4 7 6 rozwiązanie:

  23. Metody kodowania - cd • Ze względu na strukturę genotypu: • Za pomocą ciągów • Za pomocą innych struktur np. drzew, grafów, sieci

  24. Dobór wartości parametrów algorytmu genetycznego • Typy doboru: • arbitralny • ewolucyjny • Sposoby doboru ewolucyjnego ze względu na metodę reprezentowania parametrów: • z podziałem na podpopulacje • z parametrami zakodowanymi we wspólnym genotypie

  25. Meta - AG parametry zakodowane AG-1 parametry zakodowane AG-2 parametry zakodowane AG-K ... parametry AG-1 parametry AG-2 parametry AG-K AG-1 AG-2 AG-K ... podpopulacja 1 podpopulacja 2 podpopulacja K Algorytm z podziałem na podpopulacje

  26. Algorytm z podziałem na podpopulacje • Założenia: • Algorytm działa dwufazowo: najpierw uruchamiane są algorytmy dla poszczególnych podpopulacji a następnie uruchamiany jest metaalgorytm (z reguły dużo rzadziej), którego osobnikami są zbiory parametrów algorytmów genetycznych • Poszczególne podpopulacje mogą być kopiowane lub usuwane w ramach reprodukcji dla metaalgorytmu

  27. 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Algorytm z parametrami zakodowanymi we wspólnym genotypie • Przykładowy genotyp (jeden chromosom): 0 1 1 0 1 0 0 0 1 0 1 0 0 1 informacja o dominowaniu Zakodowany fenotyp sposób kodowania prawd. mutacji prawd. krzyżowania

  28. Model elitarny Najlepsze osobniki w populacji przechodzą do następnego pokolenia bez jakichkolwiek zmian. Zadanie: Podaj zalety i wady takiego modelu. zaleta - zachowanie najlepszych znanych rozwiązań wada - nadmierne skupienie populacji w obszarach wybranych rozwiązań

  29. Zalety i wady algorytmów genetycznych • Zalety: • Odporność - unikanie ekstremów lokalnych, prawdopodobieństwo znalezionych rozwiązań jest w dużym stopniu niezależne od wyboru punktów początkowych • Wydajność – duża liczba przetwarzanych schematów - ok. n3, gdy n - liczba osobników w populacji • Łatwość zastosowania w niemal każdym zadaniu optymalizacji • Wady: • Brak gwarancji zbieżności do optymalnego rozwiązania

  30. Metody poszukiwań - porównanie

  31. Różnice pomiędzy algorytmami genetycznymi a tradycyjnymi metodami szukania • Algorytmy genetyczne przetwarzają zakodowaną postać parametrów zadania (ciąg kodowy) a nie same parametry • Poszukiwania prowadzone są w obrębie całej populacji rozwiązań (osobników) a nie pojedynczego rozwiązania • Wykorzystywana jest tylko funkcja celu (uczenie z krytykiem) bez żadnej dodatkowej informacji naprowadzającej np. pochodnej funkcji celu • Stosowane są probabilistyczne a nie deterministyczne reguły wyboru

  32. Schematy 1/5 Schemat (H) - ciąg złożony z symboli alfabetu ciągu kodowego i symbolu specjalnego -”*” reprezentującego dowolny symbol alfabetu ciągu kodowego W przypadku kodowania binarnego schemat składa się z symboli alfabetu V+={0,1, *} Przykładowo ciąg kodowy 011100 jest reprezentantem schematu H=*11**0 o długości l=7 Gdy alfabet ciągu kodowego składa się z k symboli można określić (k+1)lschematów. Rząd schematu o(H) - liczba pozycji ustalonych (zer i jedynek w przypadku binarnym), np. o(011*1**) = 4 Rozpiętość schematu (H) - odległość pomiędzy dwiema skrajnymi pozycjami ustalonymi, np. (011*1**) = 5-1 = 4

  33. Schematy 2/5 Przyjmijmy standardowy algorytm genetyczny z kodowaniem binarnym, reprodukcją ruletkową, krzyżowaniem prostym losowym i losową mutacją jednopozycyjną Niech w chwili t w populacji znajduje się m(H,t) reprezentantów schematu H. Oczekiwana liczba schematów w populacji potomnej wyniesie wówczas: f(H) - średnie przystosowanie wszystkich ciągów reprezentujących schemat H w chwili t fi - przystosowanie i-tego ciągu w chwili t

  34. Schematy 3/5 Załóżmy, że pewien schemat H przewyższa średnią o , gdzie c jest stałą. W efekcie otrzymujemy: Startując natomiast od t=0 otrzymujemy: co świadczy o wykładniczym tempie rozprzestrzeniania się schematów o lepszym niż przeciętne przystosowaniu za sprawą samej reprodukcji.

  35. Schematy 4/5 Uwzględniając krzyżowanie i mutację otrzymujemy dolne oszacowanie oczekiwanej liczby schematów w pokoleniu potomnym: gdzie pc i pm oznaczają odpowiednio prawdopodobieństwa krzyżowania i mutacji

  36. Schematy 5/5 • Wnioski: • Krzyżowanie przyczynia się do niszczenia schematów o dużych rozpiętościach • Schematy o wysokim przystosowaniu i małej rozpiętości rozprzestrzeniają się w wykładniczym tempie - hipoteza schematów-cegiełek mogących łączyć się w struktury o wysokim przystosowaniu

  37. Minimalny problem zwodniczy 1/2 • Wybierzmy 4 schematy rzędu 2 o następujących średnich przystosowaniach: • ***0*****0* f(00) • ***0*****1* f(01) • ***1*****0* f(10) • ***1*****1* f(11) • Załóżmy, że f(11) jest globalnym maksimum. Można wyróżnić dwa typy problemów zwodniczych: • Typ 1: f(01)>f(00) i f(10)<f(00) lub f(01)<f(00) i f(10)>f(00) • Typ 2: f(01)<f(00) i f(10)<f(00) • Oba wiążą się z pozycyjną epistazą - zmiana w lepszym kierunku może pogorszyć przystosowanie

  38. Minimalny problem zwodniczy 2/2 Typ 1 Typ 2

  39. Wady standardowego algorytmu genetycznego • Nieefektywność w przypadku problemów epistatycznie nieliniowych - przy braku dobrych schematów • Spadek różnorodności małej populacji w końcowej fazie ewolucji związana z tzw. dryfem genetycznym - odchylenia liczby osobników przy podobnych wartościach funkcji przystosowania • Nieefektywność w przypadku niestacjonarności środowiska

  40. Metody likwidowania ograniczeń standardowego algorytmu genetycznego

  41. Rekonfiguracja - zmiana pozycji genów • Założenia: • Konieczne jest dołączenie informacji o pozycjach poszczególnych genów • Jeśli parametry AG są kodowane we wspólnym genotypie to informację taką można reprezentować za pomocą dodatkowego chromosomu lub dołączyć bezpośrednio do ciągu kodowego kodującego fenotyp • Jeśli informacja o pozycjach poszczególnych genów jest kodowana permutacyjnie to można ją poddać ewolucji stosując np. operację inwersji oraz krzyżowanie ciągów permutacyjnych metodą PMX, OX lub CX

  42. Rekonfiguracja - zmiana pozycji genów Inwersja liniowa: Numerujemy geny w ciągu kodowym, wybieramy losowo 2 punkty przecięcia, obracamy środkowy fragment chromosomu. Przykład dla genów o wartościach binarnych: 1 2 3 4 5 6 7 8 1 0 1 1 1 0 1 1 - przed inwersją ^ ^ 1 2 6 5 4 3 7 8 1 0 0 1 1 1 1 1 - po inwersji postać genotypu: 1 2 6 5 4 3 7 8 - permutacja genów g1 g2 g6 g5 g4 g3 g7 g8 - ciąg genów

  43. Typy inwersji • Ze względu na liczbę punktów przecięcia: • Inwersja liniowa • Inwersja liniowo-boczna: z prawdopodobieństwem 0,75 inwersja liniowa, z prawdopodobieństwem 0,125 inwersja boczna dla każdego z końców (zapobiega faworyzowaniu środkowej części chromosomu) • Ze względu na wymóg homologiczności (zgodności pozycyjnej) chromosomów przy krzyżowaniu: • Inwersja ciągła - niehomologiczne chromosomy w jednej populacji • Inwersja masowa - dla każdego uporządkowania genów tworzona jest oddzielna podpopulacja

  44. Metody kojarzenia ciągów przy inwersji • Kojarzenie ściśle homologiczne (w przypadku wylosowania ciągów niehomologicznych krzyżowanie nie zachodzi) • Kojarzenie na podstawie żywotności - w przypadku ciągów niehomologicznych do populacji potomnej wchodzą tylko ciągi o odpowiednio dużym garniturze genów • Kojarzenie według wzorca - jeden z ciągów jest rekonfigurowany względem drugiego • Kojarzenie według wzorca lepiej przystosowanego osobnika

  45. Kojarzenie według wzorca ciąg 1 ciąg 2 pozycja: 1 2 3 5 4 2 4 1 3 5 wartość: 1 1 1 1 1 1 1 0 0 0 Po wybraniu wzorca ciągu 1, pozycje ciągu 2 muszą zostać dopasowane do ciągu 1: 2 4 1 3 5 1 2 3 5 4 1 1 0 0 0 0 1 0 0 1 Teraz można dokonać krzyżowania w wybranym losowo punkcie: 1 1 1|1 1 1 1 1 0 1 0 1 0|0 1 0 1 0 1 1 I przekonfigurować ciąg 2 do pierwotnej postaci: 2 4 1 3 5 1 1 0 0 1

  46. Metody krzyżowania przy kodowaniu permutacyjnym • PMX (partially matched crossover) • OX (order crossover) • CX (cycle crossover) Wszystkie z powyższych operacji pozwalają na zachowanie pełnego garnituru genów przy jednoczesnym krzyżowaniu i inwersji

  47. Metoda PMX Zamiana numerów pozycji na podstawie przyporządkowania numerów w środkowym fragmencie ciągu: A = 9 8 4 | 5 6 7 | 1 3 2 10 B = 8 7 1 | 2 3 10 | 9 5 4 6 A’ = 9 8 4 | 2 3 10 | 1 6 5 7 B’ = 8 10 1 | 5 6 7 | 9 2 4 3 Zamieniamy miejscami 5 i 2, 6 i 3 oraz 7 i 10 w obu ciągach

  48. 3 5 1 7 4 2 6 Problem komiwojażera - kodowanie permutacyjne fenotypu • Założenia: • każde miasto jest przypisane do jednego z genów • o kolejności odwiedzin każdego z miast decyduje jego umiejscowienie w ciągu kodowym Przykład: ciąg kodowy: 2 5 1 3 4 7 6 rozwiązanie:

  49. Metoda PMX - problem komiwojażera Porównanie efektywności algorytmu z PMX z algorytmem wykorzystującym samą inwersję w „ślepej” wersji problemu komiwojażera:

  50. Zapobieganie przedwczesnej zbieżności • Sposoby zapobiegania: • Zwiększanie prawdopodobieństwa mutacji • Mechanizm preselekcji • Model ze ściskiem • Metody niszowe Duża częstość mutacji często nie gwarantuje opuszczenia optimum lokalnego w przypadku ujednoliconej populacji Mechanizm preselekcji: w ramach reprodukcji osobniki potomne zastępują swoich rodziców (o ile są lepiej przystosowane) Model ze ściskiem: w ramach reprodukcji nowy osobnik zastępuje osobnika podobnego i słabo przystosowanego.

More Related