Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Algorytmy ewolucyjne Termin EC (Evolutionary Computation) obliczenia ewolucyjne obejmuje wiele technik obliczeniowych Termin EC (Evolutionary Computation)

Podobne prezentacje


Prezentacja na temat: "Algorytmy ewolucyjne Termin EC (Evolutionary Computation) obliczenia ewolucyjne obejmuje wiele technik obliczeniowych Termin EC (Evolutionary Computation)"— Zapis prezentacji:

1 Algorytmy ewolucyjne Termin EC (Evolutionary Computation) obliczenia ewolucyjne obejmuje wiele technik obliczeniowych Termin EC (Evolutionary Computation) obliczenia ewolucyjne obejmuje wiele technik obliczeniowych kluczowym elementem jest model procesów ewolucyjnych 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 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). Każdy element populacji oceniany jest za pomocą miary przystosowania do środowiska (fitness factor). Wśród algorytmów ewolucyjnych wyróżnia się Wśród algorytmów ewolucyjnych wyróżnia się programowanie ewolucyjne (EP) programowanie ewolucyjne (EP) strategie ewolucyjne (ES) strategie ewolucyjne (ES) algorytmy genetyczne (GA). 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); oceń P(t); sukcesja P(t);} until warunek stopu;}

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

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

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

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

7

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

9 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: 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 reprezentacji poszczególnych osobników populacji (tj. możliwych rozwiązań), sposobu oceny elementów populacji, sposobu oceny elementów populacji, operatorów genetycznych. operatorów genetycznych.

11 Łańcuchy zer i jedynek stosowane w algorytmach genetycznych są najprostszą reprezentacją, niezależną od problemu Ł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 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 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. 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) (0 lub 1)

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

14

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

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

17 chromosm ff p. reprodukcji dystrybuanta , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Σ= 97 wart. śr. ff = 4.85

18 Koło ruletki

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

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 repi g ff c k gp ffp wm gpm ff

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

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

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

25 Metody reprodukcji Reprodukcja proporcjonalna (ruletkowa) Reprodukcja proporcjonalna (ruletkowa) p r (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ść; 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 Na początku – duże zróżnicowanie ff tendencja do przedwczesnej zbieżności

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

27 Metody reprodukcji Reprodukcja turniejowa Reprodukcja turniejowa Dwustopniowa selekcja Dwustopniowa selekcja 1. Wybór q osobników z P(t) – Q(t) Losowanie ze zwracaniem i bez zwracania Losowanie ze zwracaniem i bez zwracania 2. turniej między osobnikami z Q – wygrywa najlepiej przystosowany q – rozmiar (liczność) turnieju q=2 Reprodukcja progowa Reprodukcja progowa p r (X)=1/(μρ) dla 0 <= r(X) < μρ p r (X)=1/(μρ) dla 0 <= r(X) < μρ p r (X)=0 w przeciwnym wypadku p r (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 1. 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) Nie zawsze najlepsze rozwiązania z populacji P(t) znajdą się w P(t+1) 2. Sukcesja z częściowym zastępowaniem Część osobników starej populacji zamieniona przez potomstwo Część osobników starej populacji zamieniona przez potomstwo Najgorzej przystosowani - sukcesja elitarna Najgorzej przystosowani - sukcesja elitarna Najbardziej podobni do potomnych – metoda ze ściskiem Najbardziej podobni do potomnych – metoda ze ściskiem Losowo wybrani Losowo wybrani Sukcesja elitarna P(t+1) powstaje z O(t) i η najlepszych osobników z P(t) 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 Reprezentacja rzeczywistych wartości zmiennej x – chromosom – wektor binarny Długość wektora zależy od żądanej dokładności i dziedziny zmienności x Długość wektora zależy od żądanej dokładności i dziedziny zmienności x Przykład: Przykład: x Є 2 x Є 2 dokładność - 1 cyfra po przecinku dokładność - 1 cyfra po przecinku Podział przedziału na 2 * 10 1 części Podział przedziału na 2 * 10 1 części 2 4 = 16 < 20 <2 5 = = 16 < 20 <2 5 =32 Długość chromosomu – 5 bitów Długość chromosomu – 5 bitów liczba= -1 + x * 2 / ( 2 5 – 1 ) // x – chromosom binarny zamieniony na liczbę (10) liczba= -1 + x * 2 / ( 2 5 – 1 ) // x – chromosom binarny zamieniony na liczbę (10) * 2 / (2 5 – 1) = 2 ; = * 2 / (2 5 – 1) = 2 ; =

30 PRZYKŁAD d = -1 + x (10) * 2 / 31 d = 0.5 ??? d = 0.5 ??? x (10) = (d+1) * 31 / 2 = 1.5 *31 / 2 = >23 =10111 (2) x (10) = (d+1) * 31 / 2 = 1.5 *31 / 2 = >23 =10111 (2) * 2 / 31= 46/ = * 2 / 31= 46/ = d=0.2 d= * 31/2 = * 31/2 = *2/31 38/31 = = *2/31 38/31 = = 0.2

31 Kod Graya Problemy reprezentacji binarnej Problemy reprezentacji binarnej 100 zmiennych z zakresu ; dokładność – 6 cyfr po przecinku długość binarnego wektora = zmiennych z zakresu ; dokładność – 6 cyfr po przecinku długość binarnego wektora = punkty leżące blisko siebie w przestrzeni reprezentacji leżą blisko siebie w reprezentacji zadania ?? 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 Odległość między reprezentacjami = liczba pozycji o różnych bitach kod Greya kod Greya

32 binarnyGreya 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= Genotyp: s= v i – pojedyncza zmienna; m – długość wektora rozwiązania v i – pojedyncza zmienna; m – długość wektora rozwiązania Każdy element z zadanej dziedziny Każdy element z zadanej dziedziny Możliwe duże dziedziny i nieznane dziedziny Możliwe duże dziedziny i nieznane dziedziny Operatory genetyczne zachowują ograniczenia związane z dziedziną Operatory genetyczne zachowują ograniczenia związane z dziedziną Mutacja Mutacja krzyżowanie krzyżowanie

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

35 Krzyżowanie Krzyżowanie Proste Proste Punkty krzyżowania pomiędzy wartościami v i Punkty krzyżowania pomiędzy wartościami v i Arytmetyczne Arytmetyczne Liniowa kombinacja wektorów rodzicielskich (całe wektory lub wybrane elementy) Liniowa kombinacja wektorów rodzicielskich (całe wektory lub wybrane elementy) s t a = s t a = s t b = s t b = S t+1 a =c* s t a + (1-c)* s t b S t+1 b =c *s t b + (1-c)* s t a c – stała ( jednorodne krzyżowanie) zmienna (niejednorodne krzyżowanie) Kodowanie zmiennopozycyjne

36 Ocena algorytmu ewolucyjnego Metoda niedeterministyczna - przy jednakowych parametrach i identycznych populacjach startowych – różne zachowanie algorytmu Metoda niedeterministyczna - przy jednakowych parametrach i identycznych populacjach startowych – różne zachowanie algorytmu Rzetelna ocena – wymaga wielu uruchomień, analizy statystycznej 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 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 Koszt symulacji – liczba iteracji + liczność populacji Testy odporności algorytmu – zdolności opuszczania ekstremum lokalnego 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 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 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 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 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. 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. 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. 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=T 0 ; 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 (E i ); 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 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 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 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 wzoremgdzie: 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 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: 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, 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, 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ą, 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. 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: Erick Cantu-Paz sformułował kilka kategorii technik zrównoleglających, stosowanych w algorytmach genetycznych: zrównoleglenie globalne (global parallelization), zrównoleglenie globalne (global parallelization), gruboziarniste równoległe GA (coarse grained parallel GA), gruboziarniste równoległe GA (coarse grained parallel GA), drobnoziarniste równoległe GA (fine grained parallel GA), drobnoziarniste równoległe GA (fine grained parallel GA), hybrydowe równoległe GA. hybrydowe równoległe GA.

44 W GGA (Global Genetic Algorithm) każde dwa osobniki mogą być krzyżowane. W GGA (Global Genetic Algorithm) każde dwa osobniki mogą być krzyżowane. podział populacji między dostępne procesory podział populacji między dostępne procesory symultaniczna ewolucja subpopulacji symultaniczna ewolucja subpopulacji impulsowy wzrost komunikacji między procesami impulsowy wzrost komunikacji między procesami Algorytmy coarse grained Algorytmy coarse grained Subpopulacje izolowane są między sobą na wzór geograficznych kontynentów, 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 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. 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 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. 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 rozrywania dobrze przystosowanych łańcuchów zuniformizowania populacji zuniformizowania populacji zaniku różnorodności populacji zaniku różnorodności populacji oddalenia od optimum globalnego oddalenia od optimum globalnego

47 Przykład

48 GA, wykorzystujące ideę lokalności Znaczenie geograficznego rozmieszczenie osobników Znaczenie geograficznego rozmieszczenie osobników krzyżowanie ma miejsce jedynie pomiędzy spokrewnionymi gatunkami - dobór krewniaczy krzyżowanie ma miejsce jedynie pomiędzy spokrewnionymi gatunkami - dobór krewniaczy dobrze przystosowane elementy populacji tworzą skupiska dobrze przystosowane elementy populacji tworzą skupiska oddalone od siebie ciągi kodowe, cechujące się dużą wartością funkcji celu nie zostaną rozbite 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 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 Termin EC (Evolutionary Computation)"

Podobne prezentacje


Reklamy Google