1 / 26

Algorytm genetyczny

Algorytm genetyczny. Definicja.

wynn
Download Presentation

Algorytm genetyczny

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

  2. Definicja Algorytm genetyczny- przeszukuje przestrzeń alternatywnych rozwiązań problemu w celu odnalezienia rozwiązań najlepszych lub potencjalnie najlepszych. Zalicza się go do klasy algorytmów heurystycznych. Przeszukiwanie odbywa się za pomocą mechanizmów ewolucji oraz doboru naturalnego ( praktyce te słowa oznaczają, że wykorzystuje się ewolucję, aby poprzez krzyżowanie i mutacje stworzyć z grupy losowych zestawów danych to, co nas będzie satysfakcjonować).

  3. Nazewnictwo Osobnik - pojedyncza propozycja rozwiązania problemu Populacja - zbiór osobników, na których operuje algorytm Genotyp - pewna dziedziczna informacja, w którą wyposażony jest osobnik Fenotyp - zestaw cech generowanych na podstawie genotypu, które podlegają ocenie środowiska

  4. Nazewnictwo c.d. Kodowanie - proces tworzenia fenotypu z genotypu Funkcjaprzystosowania - funkcja oceniająca jakość danego osobnika na podstawie jego fenotypu Chromosom - część genomu osobnika Geny - najmniejsze elementy genotypu reprezentujące elementarne informacje. Możliwymi wartościami danego genu są allele

  5. Zasada działania algorytmu genetycznego • inicjujemy (najczęściej w sposób losowy) pewną początkową populację osobników • poddajemy każdego z nich ocenie • z populacji wybieramy osobniki najlepiej do tego przystosowane • za pomocą operacji genetycznych (krzyżowanie oraz mutacja) tworzymy nowe pokolenie • powrót do 2)

  6. Schemat działania algorytmu genetycznego

  7. procedure AG; begin t : = 0; inicjacja(p[0]); ocena(p[0]); while(not warunek_stopu) do begin T := selekcja(p[t]); W := krzyzowanie(T); ocena(W); t := t + 1; p[t] := W; end; end; t- numer pokolenia. p[t] - populacja w pokoleniu numer t. T - grupa najlepiej przystosowanych osobników wybrana do rozrodu. W - nowe pokolenie utworzone w wyniku rozmnożenia grupy osobników T. inicjacja() - inicjuje populację startową. ocena() - przypisuje każdemu osobnikowi pewną liczbę określającą jakość jego fenotypu. selekcja() - wybiera z populacji osobniki o najlepszej jakości. krzyzowanie() - za pomocą operacji krzyżowania i mutacji tworzy nowe pokolenie, które zastąpi stare. Algorytm działania algorytmu genetycznego

  8. Warianty ułożenia genów Klasyczny - geny na różnych pozycjach przechowują różne informacje. W wyniku krzyżowania geny nie zmieniają pozycji, lecz wartości. Wykorzystywany w problemach, gdzie chcemy dobrać optymalne cechy osobnika. Permutacyjny - geny przechowują podobne informacje. W wyniku krzyżowania nie zmieniają wartości, lecz miejsce w chromosomie. Wykorzystywany w problemach kombinatorycznych, np. problemie komiwojażera. Drzewiasty - chromosom tworzy złożoną strukturę drzewiastą. W czasie krzyżowania przesunięciom ulegają całe gałęzie genów. Często geny mogą zmieniać także wartości. Wykorzystywany w programowaniu genetycznym oraz tam, gdzie ewolucji podlegają reguły matematyczne.

  9. Warianty ułożenia genów c.d.

  10. Funkcja oceny Na podstawie fenotypu danego osobnika generuje jedną liczbę opisującą jego jakość przystosowania. Np. dla algorytmu genetycznego poszukującego ekstremum funkcji, gdzie genotyp reprezentuje jej argument x, wartością funkcji przystosowania może być po prostu obliczona wartość wyrażenia matematycznego, dla którego poszukujemy ekstremum.

  11. Selekcja Selekcja wybiera z aktualnej populacji grupę najlepiej przystosowanych osobników do dalszego rozrodu. Istotne jest, aby właściwie dobrać stosunek wielkości tworzonej grupy do rozmiaru populacji. Zbyt małe stosunki (np. 1/1000) mogą doprowadzić do zaniku różnorodności genetycznej i defektów fenotypów, natomiast zbyt duże (np. 1/2) powodują wprowadzenie do rozrodu zbyt dużej liczby słabych genów, co również obniża jakość najlepszych osobników.

  12. Metody selekcji Metoda koła ruletki - wyobraźmy sobie koło ruletki, którego tarcza podzielona jest na pewną liczbę wycinków o różnych rozmiarach. Każdy osobnik otrzymuje obszar o rozmiarze wprost proporcjonalnym do jego jakości. Puszczamy koło ruletki w ruch, a po jego zatrzymaniu wskaźnik zatrzyma się na jakimś osobniku, który wchodzi do grupy rozrodczej. Im większy obszar dostał dany osobnik, tym większe prawdopodobieństwo jego wylosowania, dlatego też wielkość obszaru przydziela się przeważnie funkcją prawdopodobieństwa (ZW = <0, 1>). Jeśli przez F(i) oznaczymy wartość funkcji przystosowania osobnika i, to prawdopodobieństwo jego przystosowania wyliczymy ze wzoru:

  13. Metody selekcji Selekcja rankingowa - osobniki w populacji są sortowane według ich jakości od najlepszego do najgorszego. Do dalszego rozrodu przechodzi tylko n najlepiej przystosowanych osobników. Metoda ta charakteryzuje się lepszym uwarunkowaniem, niż metoda ruletki.

  14. Metody selekcji Selekcja turniejowa - populację dzieli się na szereg dowolnie licznych grup. Następnie z każdej z nich wybieramy osobnika o najlepszym przystosowaniu. Ten rodzaj selekcji także sprawdza się lepiej, niż metoda ruletki.

  15. Krzyżowanie (Crossing-over) Generowanie nowej populacji z najlepiej przystosowanych osobników przeprowadzamy metodą crossing-over Do jej wykonania potrzebne są dwa osobniki, które rozcinamy w losowo wybranym punkcie i łączymy na krzyż, tj. fragment osobnika 1 przypinamy osobnikowi 2, a fragment osobnika 2 - do osobnika 1:

  16. Mutacja Mutacja to samoistna, losowa zmiana w genotypie. W przyrodzie powstaje w wyniku błędów reprodukcji lub uszkodzeń fizycznych i zwiększa różnorodność materiału genetycznego. Algorytm genetyczny symuluje zachodzenie mutacji. Prawdopodobieństwo jej zajścia to sprawa indywidualna każdego programu, lecz jego wartość powinna być bardzo niska, gdyż inaczej w wynikach pojawi się dużo losowości, a ewentualne korzystne zmiany nie będą miały szans na utrwalenie się w populacji.

  17. Przykład Dana jest funkcja: f(x) = 2(x*x+1) x = {1…127} Cel: Przeszukać przestrzeń, znaleźć taki x, dla którego wartość funkcji jest największa

  18. Elementy algorytmu 1. Wybór (losowy) populacji początkowej 2. Ocena przystosowania 3. Selekcja chromosomów 4. Krzyżowanie 5. Mutacja

  19. Populacja składa się z n punktów przestrzeni poszukiwań X Punkty są zakodowane w postaci ciągów binarnych (nazywamy je chromosomami) Chromosomy oznaczamy: ch1…..chn Populację początkową oznaczamy P(0) = {ch1…..chn} 0100110 (38) 1010001 (81) 0111100 (60) 0101100 (44) 0100101 (37) 0101011 (43) 1011110 (94) 0010111 (23) Wybór (losowy) populacji początkowej

  20. W podanym przykładzie, ocena jest dokonywana za pomocą funkcji przystosowania ( f(x) = 2(x*x+1) ) Ocenia się nie bezpośrednio chromosomy, lecz fenotypy (osobnik w formie niezakodowanej – punkt przestrzeni) Ocenę (wartość przystosowania) przypisuje się następnie odpowiadającym im chromosomom chromosom fenotyp wartość przystosowania 0000110 (66) 74 1011000 (88) 15490 0100001 (33) 2180 1001000 (72) 10370 0001000 (8) 130 1000111 (71) 10084 0001111 (15) 452 0110101 (53) 5620 Ocena przystosowania

  21. Selekcja chromosomów. Metoda koła ruletki • Selekcja dokonuje się, poprzez wybór chromosomów, którym na kole (koło ruletki) przydzielono sektory proporcjonalne do wartości przystosowania • Większa wartość przystosowania = częstszy wybór do populacji rodzicielskiej • Lepiej przystosowane chromosomy mogą być wybierane wielokrotnie • Skutek: miejsce „słabszych” zajmują „mocniejsi”

  22. Selekcja chromosomów. Metoda koła ruletki Wielkość sektorów na kole ruletki przydzielane są według następujących wzorów: • Wielkość procentowa sektorów: • Prawdopodobieństwo selekcji chromosomu: • Średnie przystosowanie populacji:

  23. Selekcja chromosomów. Metoda koła ruletki 1111110 (126) 31754 25,61% 1110100 (116) 26914 21,70% 1001110 (78) 12170 9,81 % 1001111 (79) 12484 10,6 % 1101000 (104) 21634 17,44 % 1011011 (91) 16564 13,35 % 0100001 (33) 2180 1,75 % 0001100 (12) 290 0,23 %

  24. Operator genetyczny: krzyżowanie

  25. Operator genetyczny: mutacja • Zmienia wartość wybranego losowo genu w chromosomie na przeciwny (1 na 0, 0 na 1) • Mutacja zachodzi bardzo rzadko- prawdopodobieństwo mutacji jest zwykle dużo mniejsze niż krzyżowania • Celem mutacji jest wprowadzenie różnorodności populacji

  26. KoniecSGA.exe

More Related