Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Algorytmy ewolucyjne Termin EC (Evolutionary Computation) obliczenia ewolucyjne obejmuje wiele technik obliczeniowych kluczowym elementem jest model procesów.

Podobne prezentacje


Prezentacja na temat: "Algorytmy ewolucyjne Termin EC (Evolutionary Computation) obliczenia ewolucyjne obejmuje wiele technik obliczeniowych kluczowym elementem jest model procesów."— Zapis prezentacji:

1 Algorytmy ewolucyjne Termin EC (Evolutionary Computation) obliczenia ewolucyjne obejmuje wiele technik obliczeniowych kluczowym elementem jest model procesów ewolucyjnych Algorytmy ewolucyjne operują na populacji struktur, które podlegają procesowi ewolucji w czasie, wykorzystując operatory selekcji, mutacji i rekombinacji Każdy element populacji oceniany jest za pomocą miary przystosowania do środowiska (fitness factor). Wśród algorytmów ewolucyjnych wyróżnia się programowanie ewolucyjne (EP) strategie ewolucyjne (ES) algorytmy genetyczne (GA).

2 procedure EA;{ T=0; inicjuj_populację P(t); oceń P(t); repeat { t=t+1; wybór rodziców P(t); rekombinacja P(t); mutacja P(t); sukcesja P(t);} until warunek stopu;}

3 Różnice pomiędzy algorytmami tkwią w wyborze:
Podstawowymi elementami wszystkich algorytmów ewolucyjnych jest populacja i działające na niej operatory Różnice pomiędzy algorytmami tkwią w wyborze: reprezentacji indywidualnych struktur, typu mechanizmów selekcji, rodzaju genetycznych operatorów, metody ich oceny.

4 W programowaniu ewolucyjnym (EP)
nie stosuje się operacji krzyżowania Elementy - wektory liczb rzeczywistych, listy lub grafy Wybór rodziców nie zależy od funkcji przystosowania (każdy) selekcja jest dokonywana na podstawie probabilistycznej funkcji, bazującej na przystosowaniu Ewolucyjne strategie (ES) stosują reprezentację wektorów rzeczywistych Rodzice wybierani są losowo, stosuje się mutację, a następnie rekombinację, która ma drugorzędne znaczenie Operator selekcji wybiera najlepiej przystosowane indywidualne struktury. Algorytmy genetyczne używają zwykle niezależnej reprezentacji w postaci ciągu bitów, (grafy, wyrażenia Lisp’u, listy, wektory) Selekcja rodziców zależna jest od wartości funkcji przystosowania Elementy potomne utworzone w wyniku rekombinacji rodziców poddawane są mutacji i krzyżowaniu Relacje między tymi operatorami są przeciwne niż w ES Mutacja ma znaczenie drugorzędne

5 AG John Holland 1975 przetwarza populację osobników (rozwiązań problemu) Działa w środowisku (zdefiniowanym na pdst. problemu; opisanym przez funkcję przystosowania - ff) Osobnik Przystosowanie – określa jakość rozwiązania – ff Genotyp – informacja; przepis na Fenotyp – zestaw cech (podlega ocenie) Kodowanie – zamiana fenotypu na genotyp Fenotyp – punkt w przestrzeni rozwiązań problemu Genotyp – punkt w przestrzeni kodów Funkcja przystosowania – przypisuje osobnikom przystosowanie na podstawie fenotypu

6 GA Funkcja przystosowania ff – określona dla genotypu
Stacjonarna Zmienna w czasie Zawierająca element losowy ff – określona dla genotypu Genotyp – składa się z chromosomów (najczęściej jednego) Chromosom – zawiera kod określający fenotyp; składa się z genów Allel – wartość genu

7

8 GA Reprodukcja  operatory genetyczne  ocena  sukcesja
Utworzenie początkowej populacji bazowej (losowo) Pętla: - generacje, pokolenia Reprodukcja – powielenie losowo wybranych elementów z populacji bazowej do populacji tymczasowej; losowość uwzględnia przystosowanie Kopie powstałe w wyniku reprodukcji – osobniki rodzicielskie – populacja tymczasowa Operatory genetyczne – losowa modyfikacja genów Krzyżowanie Mutacja Populacja potomna Ocena Sukcesja – tworzenie nowej populacji bazowej (zawiera osobniki z populacji bazowej i potomnej) Warunek stopu: odpowiednio duże przystosowanie lub stagnacja algorytmu

9 inicjuj_populację P(t); oceń P(t); repeat { t=t+1;
procedure SGA;{ t=0; inicjuj_populację P(t); oceń P(t); repeat { t=t+1; T(t)=reprodukcja P(t); O(t)=rekombinacja i mutacja P(t); oceń O(t);) P(t)=O(t);} until warunek stopu;} P(t) – populacja bazowa O(t) – populacja potomna T(t) – populacja tymczasowa

10 Zastosowanie algorytmu genetycznego do rozwiązania problemu wymaga określenia następujących elementów: sposobu reprezentacji poszczególnych osobników populacji (tj. możliwych rozwiązań), sposobu oceny elementów populacji, operatorów genetycznych.

11 Łańcuchy zer i jedynek stosowane w algorytmach genetycznych są najprostszą reprezentacją, niezależną od problemu Można przy jej pomocy budować skomplikowane struktury, co wymaga jednak stosowania często złożonych schematów kodowania Każde rozwiązanie problemu musi posiadać swoją reprezentację w postaci łańcucha i każdy łańcuch musi reprezentować jakieś rozwiązanie Elementy populacji oceniane są za pomocą funkcji przystosowania, reprezentującej rozwiązywany problem.

12 kodowanie Chromosom – n-elementowy ciąg genów (0 lub 1)

13 reprodukcja Odpowiednik zasady doboru naturalnego
Powielanie ciągów kodowych w zależności od wartości funkcji przystosowania Proporcjonalna, ruletkowa Każdemu ciągowi kodowemu odpowiada sektor o rozmiarze proporcjonalnym do ff Wielokrotne zakręcenie kołem ruletki – kopiowanie do populacji

14

15 mutacja Wykonywana dla każdego genu z prawdopodobieństwem pm

16 Odpowiednik przemian w DNA
Krzyżowanie pc Miejsce rozcięcia wybierane losowo z rozkładem równomiernym Odpowiednik przemian w DNA

17 Σ=97 wart. śr. ff = 4.85 chromosm ff p. reprodukcji dystrybuanta 1
 chromosm  ff  p. reprodukcji  dystrybuanta 1   8 0, 2   4 0, 0, 3   0, 0, 6 0, 0, 5   0,   0, 7   0,   0, 9   0, 10   0, 0, 11   0, 12   0, 13   0, 14   0, 15   0, 16   0, 17   0, 18   0, 19   0, 20   Σ=97 wart. śr. ff = 4.85

18 Koło ruletki

19 Dystrybuanta rozkładu reprodukcji
Wylosowana liczba Wybrany – osobnik 9

20 rep - zmienna losowa wykorzystywana do określenia reprodukowanego osobnika
i - numer reprodukowanego osobnika g -jego genotyp ff - jego funkcja przystosowania (liczba "1" w ciągu kodowym) c - wartość zmiennej losowej okreslającej decyzję o krzyżowaniu k - pozycja rozcięcia gp - genotyp potomka ffp - funkcja przystosowania potomka wm - wektor decyzji o mutacji poszczególnych genów gpm - genotyp potomka po mutacji ffpm - funkcja przystosowania potomka po mutacji

21  rep  ff  c  k  gp ffp   wm  gpm 0.0267 1 8 9 0.0428 7 0.3426 3 2 0.6351 13 0.6975 14 4 5 0.8737 18 0.1706 6 0.6526

22 Operatory genetyczne (mutacja, krzyżowanie)
Reprodukcja średnia wartość ff w kolejnych pokoleniach wzrasta Maleje różnorodność populacji Operatory genetyczne (mutacja, krzyżowanie) Przywracają różnorodność Nie gwarantują poprawy średniego przystosowania

23 selekcja Reprodukcja (preselakcja) Sukcesja (postselekcja)
Powielanie osobników o lepszym przystosowaniu z większym prawdopodobieństwem niż osobników gorzej przystosowanych Nacisk selektywny Sukcesja (postselekcja) Utworzenie nowej populacji bazowej na podstawie populacji potomnej i starej populacji bazowej

24 Metody reprodukcji Reprodukcja proporcjonalna (ruletkowa)
Zmodyfikowana reprodukcja proporcjonalna Reprodukcja rangowa (rankingowa) Reprodukcja turniejowa Reprodukcja progowa

25 Metody reprodukcji Reprodukcja proporcjonalna (ruletkowa)
pr(X)=ff(X)/ΣY є P(t)f(Y) Jeśli ff różnią się o stałą – zmniejsza się intensywność nacisku selektywnego w kolejnych generacjach (coraz więcej osobników ma podobne wartości ff), co utrudnia zbieżność; Na początku – duże zróżnicowanie ff  tendencja do przedwczesnej zbieżności

26 Metody reprodukcji Zmodyfikowana reprodukcja proporcjonalna
Odjęcie najmniejszej wartości ff Reprodukcja rangowa (rankingowa) Prawdopodobieństwo reprodukcji każdego osobnika podane w sposób jawny – na podstawie rangi – liczby, określającej jakość Posortowanie osobników nierosnąco wg. wartości ff; ranga = numer osobnika w szeregu Funkcja prawdopodobieństwa: Liniowa: pr(X) = a + k (1 – r(X)/rmax) Lub potęgowa: pr(X) = a + k (rmax – r(X))b Niewrażliwa na zwiększenie ff o stałą

27 Metody reprodukcji Reprodukcja turniejowa Reprodukcja progowa
Dwustopniowa selekcja Wybór q osobników z P(t) – Q(t) Losowanie ze zwracaniem i bez zwracania turniej między osobnikami z Q – wygrywa najlepiej przystosowany q – rozmiar (liczność) turnieju q=2 Reprodukcja progowa pr(X)=1/(μρ) dla 0 <= r(X) < μρ pr(X)=0 w przeciwnym wypadku r – ranga μ – rozmiar populacji ρ - nacisk selektywny ρ= 1 – wszystkie elementy mogą reprodukować ρ=1/μ – tylko 1 element reprodukuje (najlepszy)

28 Metody sukcesji Z całkowitym zastępowaniem (trywialna) - nowa populacja bazowa powstaje wyłącznie z populacji potomnej Nie zawsze najlepsze rozwiązania z populacji P(t) znajdą się w P(t+1) Sukcesja z częściowym zastępowaniem Część osobników starej populacji zamieniona przez potomstwo Najgorzej przystosowani - sukcesja elitarna Najbardziej podobni do potomnych – metoda ze ściskiem Losowo wybrani Sukcesja elitarna P(t+1) powstaje z O(t) i η najlepszych osobników z P(t) η - elita

29 kodowanie Reprezentacja rzeczywistych wartości zmiennej x – chromosom – wektor binarny Długość wektora zależy od żądanej dokładności i dziedziny zmienności x Przykład: x Є < -1; 1 > 2 dokładność - 1 cyfra po przecinku Podział przedziału na 2 * 101 części 2 4 = 16 < 20 <25=32 Długość chromosomu – 5 bitów liczba= -1 + x * 2 / ( 25 – 1 ) // x – chromosom binarny zamieniony na liczbę (10) 11111  31 * 2 / (25 – 1) = 2 ; = 1 00000  -1

30 PRZYKŁAD d = -1 + x(10) * 2 / 31 d = 0.5  ???
10111  23  23 * 2 / 31= 46/31  =0.48  0.5 d=0.2 1.2 * 31/2 = 18.6  19  10011 10011  19  19 *2/31  38/31 =1.22  = 0.2

31 Kod Gray’a Problemy reprezentacji binarnej
100 zmiennych z zakresu <-500, 500>; dokładność – 6 cyfr po przecinku  długość binarnego wektora = 3000 2 punkty leżące blisko siebie w przestrzeni reprezentacji leżą blisko siebie w reprezentacji zadania ?? Odległość między reprezentacjami = liczba pozycji o różnych bitach  kod Grey’a

32 binarny Grey’a 0000 0001 0010 0011 0100 0110 0101 0111 1000 1100 1001 1101 1010 1111 1011 1110 procedure B-G begin g[1]=b[1]; for k=2 to m do g[k]=b[k-1] xor b[k] end procedure G-B begin v=g[1]; b[1]=v; for k=2 to m do if g[k]==1 then v=not v; b[k]=v; end

33 Kodowanie zmiennopozycyjne
Genotyp: s=<v1, v2, ….., vm> vi – pojedyncza zmienna; m – długość wektora rozwiązania Każdy element z zadanej dziedziny Możliwe duże dziedziny i nieznane dziedziny Operatory genetyczne zachowują ograniczenia związane z dziedziną Mutacja krzyżowanie

34 Kodowanie zmiennopozycyjne
Mutacja Losowa – zmiana jednej cyfry wybranej składowej liczby Równomierna – zastąpienie losowo wybranego vk nowym wygenerowanym z jego dziedziny s=<v1, v2, ….., vm>  <v1, ..v’k, ….., vm> Nierównomierna - zależna od numeru pokolenia Początkowo – większe zmiany; później lokalne przeszukiwanie Zmiana pojedynczego vi Zmiana całego wektora

35 Kodowanie zmiennopozycyjne
Krzyżowanie Proste Punkty krzyżowania pomiędzy wartościami vi Arytmetyczne Liniowa kombinacja wektorów rodzicielskich (całe wektory lub wybrane elementy) sta=<v1, v2, ….., vm> stb=<v1, v2, ….., vm> St+1a=c* sta + (1-c)* stb St+1b=c *stb + (1-c)* sta c – stała ( jednorodne krzyżowanie) zmienna (niejednorodne krzyżowanie)

36 Ocena algorytmu ewolucyjnego
Metoda niedeterministyczna - przy jednakowych parametrach i identycznych populacjach startowych – różne zachowanie algorytmu Rzetelna ocena – wymaga wielu uruchomień, analizy statystycznej Krzywa zbieżności – wykres zmian rozwiązania roboczego w czasie (wartości średnie ff, wartości maksymalne, wykres zmian przystosowania najlepszego osobnika); uśrednione lub dla pojedynczego przebiegu Koszt symulacji – liczba iteracji + liczność populacji Testy odporności algorytmu – zdolności opuszczania ekstremum lokalnego

37 Dopuszczalne jest pogorszenie populacji bazowej przez reprodukcję osobników słabo przystosowanych  wyjście z pułapki ewolucyjnej Pułapka ewolucyjna – niewielkie zmiany fenotypu prowadzą do pogorszenia rozwiązania

38 Operator selekcji, wielkość populacji oraz generacja populacji początkowej mają wpływ na różnorodność populacji Jest ona bardzo ważnym aspektem algorytmów genetycznych, gdyż decyduje o sposobie przeszukiwania dziedziny i od niej zależy możliwość znalezienia najlepszego rozwiązania Na początku algorytm sprawdza wiele różnych rozwiązań, a następnie dokładniej penetruje potencjalnie bardziej perspektywiczne obszary dziedziny funkcji. Jeśli początkowa populacja jest zróżnicowana, tj. zawiera dobrze spróbkowaną dziedzinę algorytmu to algorytm ma szansę na odnalezienie najlepszego rozwiązania. Źle przygotowana populacja startowa może spowodować, że pewne obszary dziedziny nie będą w ogóle badane. Algorytm genetyczny nie gwarantuje zbieżności do minimum globalnego, dlatego często stosuje się jego hybrydy.

39 PRSA połączenie AG z SA (parallel recombinative simulated annealing)
procedure PRSA;{ T=T0; ustal wysoką początkową temperaturę Inicjuj n-elementową populację ; repeat { do n/2 razy{ t=t+1; wybór 2 rodziców z populacji; generuj 2 potomków (mutacja, rekombinacja ) ; oceń potomków (Ei); przeprowadź zawody Boltzmanna; zastąp rodziców zwycięzcami zawodów;} T=T-T; } until warunek stopu;}

40 PRSA odpowiada równolegle działającym wielu kopiom SA, z wykorzystaniem operatorów genetycznych: mutacji i krzyżowania Zastosowanie schematu Metropolisa gwarantuje zbieżność metody do minimum globalnego Tradycyjny operator selekcji zastąpiono tzw. alternatywą Boltzmanna [Aarts i Korst, 1989], w której prawo rodziców do życia określone jest prawdopodobieństwem p, danym wzorem gdzie: Ei – „energia” rodzica, Ej – „energia” potomka.

41 Ważnym problemem algorytmów ewolucyjnych jest również właściwy wybór reprezentacji oraz rozmiaru populacji, będącej miarą ilości zawartej w niej informacji (ang. carrying capacity). Małe populacje mogą być wystarczające do rozwiązania prostych problemów, natomiast liczniejsze stosuje się do bardziej skomplikowanych zadań. Trudne problemy wymagają stosowania licznych populacji. Dlatego, aby zredukować czas potrzebny do uzyskania zadawalającego rozwiązania stosuje się algorytmy współbieżne, wykorzystujące inherentną równoległość metody

42 Grefenstette wyróżnił cztery typy równoległych algorytmów genetycznych:
synchroniczny scentralizowany - w którym proces nadrzędny realizuje operacje genetyczne i koordynuje procesy podrzędne, obliczające wartości funkcji przystosowania, półsynchroniczny scentralizowany - będący modyfikacją poprzedniego, polegającą na asynchronicznym działaniu procesów podrzędnych, asynchroniczny rozproszony - w którym współbieżne procesy realizują niezależnie wszystkie operacje, wykorzystując pamięć dzieloną, sieciowy - z autonomicznymi procesami realizującymi niezależne algorytmy genetyczne, komunikującymi się między sobą wymieniając najlepiej przystosowane osobniki.

43 Erick Cantu-Paz sformułował kilka kategorii technik zrównoleglających, stosowanych w algorytmach genetycznych: zrównoleglenie globalne (global parallelization), gruboziarniste równoległe GA (coarse grained parallel GA), drobnoziarniste równoległe GA (fine grained parallel GA), hybrydowe równoległe GA.

44 Algorytmy coarse grained
W GGA (Global Genetic Algorithm) każde dwa osobniki mogą być krzyżowane. podział populacji między dostępne procesory symultaniczna ewolucja subpopulacji impulsowy wzrost komunikacji między procesami Algorytmy coarse grained Subpopulacje izolowane są między sobą na wzór geograficznych kontynentów, genetyczne połączenie grup zapewnia migracja osobników - każda grupa w każdym kroku czasowym wysyła do innych swoich przedstawicieli W modelu „wyspa” (island) migracja może się odbywać do dowolnej subpopulacji, natomiast metoda „stepping stone” ogranicza ją do sąsiednich obszarów. Drobnoziarniste równoległe GA dzielą populację na wiele małych i realizowane są na masywnie równoległych komputerach Algorytmy hybrydowe stanowią połączenie tych trzech technik.

45 procedure LGA;{ inicjuj_populację P(t); oceń P(t); repeat { losowy wybór obszaru 3x3; wybór dwóch rodziców; krzyżowanie; mutacja; probabilistyczny wybór najlepszego spośród dwóch potomków i osobnika najgorszego w danym sąsiedztwie; dołącz zwycięzcę do nowej populacji;} until warunek stopu;}

46 Klasyczny GA Gdy krzyżowane są osobniki o wysokiej wartości ff, a niepodobnych ciągach kodowych może dojść do: rozrywania dobrze przystosowanych łańcuchów zuniformizowania populacji zaniku różnorodności populacji oddalenia od optimum globalnego

47 Przykład

48 GA, wykorzystujące ideę lokalności
Znaczenie geograficznego rozmieszczenie osobników krzyżowanie ma miejsce jedynie pomiędzy spokrewnionymi gatunkami - „dobór krewniaczy” dobrze przystosowane elementy populacji tworzą skupiska oddalone od siebie ciągi kodowe, cechujące się dużą wartością funkcji celu nie zostaną rozbite utrzymanie różnorodności populacji; możliwe jest zlokalizowanie większej ilości ekstremów


Pobierz ppt "Algorytmy ewolucyjne Termin EC (Evolutionary Computation) obliczenia ewolucyjne obejmuje wiele technik obliczeniowych kluczowym elementem jest model procesów."

Podobne prezentacje


Reklamy Google