1 / 73

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.

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 łączenia cech rozwiązań 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. Równoważność algorytmów optymalizacji Reguła „nie ma nic za darmo” (ang. no free lunch theory): efektywność różnych typowych algorytmów szukania uśredniona po wszystkich wszystkich możliwych problemach optymalizacyjnych jest taka sama • Typowe algorytmy szukania (optymalizacji): • metoda enumeracyjna (wyliczeniowa) • szukanie gradientowe • symulowane wyżarzanie • strategie ewolucyjne • algorytmy genetyczne • metody wyspecjalizowane (wykorzystujące szczegółową wiedzę o problemie)

  6. Terminy genetyczne i ich odpowiedniki w sztucznych systemach genetycznych

  7. 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

  8. 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

  9. 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

  10. 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

  11. Typy reprodukcji • Ruletkowa – proporcjonalna do wartości funkcji przystosowania - konieczność skalowania • 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

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

  13. * 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:

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

  15. 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

  16. 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

  17. Krzyżowanie proste - schemat

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

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

  20. * 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:

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

  22. 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

  23. 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:

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

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

  26. 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

  27. 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

  28. 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

  29. 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ń

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

  31. Metody poszukiwań - porównanie

  32. 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

  33. * 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 0110100 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

  34. * 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

  35. * Schematy 3/5 Załóżmy, że pewien schemat H przewyższa średnią o , gdzie c jest stałą. W efekcie otrzymujemy: Zaczynają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.

  36. * 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 osobnika i mutacji genu

  37. * 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

  38. * Minimalny problem zwodniczy 1/3 • 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

  39. * Minimalny problem zwodniczy 2/3 Typ 1 Typ 2

  40. * Minimalny problem zwodniczy 2/3 Jeśli w przypadku typu 2 f(00)+f(01) > f(10)+f(11), to proces szukania w zależności od początkowej liczności schematów może być rozbieżny (problem AG-trudny) Typ 2

  41. 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

  42. Metody likwidowania ograniczeń standardowego algorytmu genetycznego

  43. Rekonfiguracja - zmiana pozycji genów • Założenia: • Konieczne jest dołączenie informacji o pozycjach poszczególnych genów w trakcie krzyżowania • 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

  44. 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 - ciąg porządkowy g1 g2 g6 g5 g4 g3 g7 g8 - ciąg genów (kodowy)

  45. 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

  46. Metody kojarzenia ciągów kodowych 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 zestawie genów • Kojarzenie według wzorca - jeden z ciągów jest rekonfigurowany względem drugiego • Kojarzenie według wzorca lepiej przystosowanego osobnika

  47. 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

  48. 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 zestawu genów przy jednoczesnym krzyżowaniu i inwersji

  49. 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

  50. 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:

More Related