Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Algorytm genetyczny.

Podobne prezentacje


Prezentacja na temat: "Algorytm genetyczny."— Zapis prezentacji:

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
Funkcja przystosowania - 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 Algorytm działania algorytmu genetycznego
procedure AG; begin t : = 0; inicjacja(p[0]); ocena(p[0]); while(not warunek_stopu) do T := selekcja(p[t]); W := krzyzowanie(T); ocena(W); t := t + 1; p[t] := W; 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.

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 Wybór (losowy) populacji początkowej
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} (38) (81) (60) (44) (37) (43) (94) (23)

20 Ocena przystosowania 0000110 (66) 74 1011000 (88) 15490
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 (66) 74 (88) (33) 2180 (72) (8) 130 (71) (15) 452 (53) 5620

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
(126) ,61% (116) ,70% (78) ,81 % (79) ,6 % (104) ,44 % (91) ,35 % (33) ,75 % (12) ,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 Koniec SGA.exe


Pobierz ppt "Algorytm genetyczny."

Podobne prezentacje


Reklamy Google