1 / 48

Algorytmy ewolucyjne

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

bruno
Download Presentation

Algorytmy ewolucyjne

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

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

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

  5. GA • Funkcja przystosowania • 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

  6. GAReprodukcja  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

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

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

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

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

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

  12. mutacja Wykonywana dla każdego genu z prawdopodobieństwem pm 0101000111 0100001111

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

  14. wart. śr. ff = 4.85

  15. Koło ruletki

  16. Dystrybuanta rozkładu reprodukcji Wylosowana liczba Wybrany – osobnik 9

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

  18. selekcja • Reprodukcja (preselakcja) • 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

  19. Metody reprodukcji • Reprodukcja proporcjonalna (ruletkowa) • Zmodyfikowana reprodukcja proporcjonalna • Reprodukcja rangowa (rankingowa) • Reprodukcja turniejowa • Reprodukcja progowa

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

  21. 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łą

  22. Metody reprodukcji • Reprodukcja turniejowa • 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)

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

  24. 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 * 101częś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 +2 = 1 • 00000  -1

  25. PRZYKŁAD d = -1 + x(10) * 2 / 31 • d = 0.5  ??? • x(10) = (d+1) * 31 / 2 = 1.5 *31 / 2 = 23.25 ->23 =10111(2) • 10111  23  23 * 2 / 31= 46/31  -1 +1.48=0.48  0.5 • d=0.2 • 1.2 * 31/2 = 18.6  19  10011 • 10011  19  19 *2/31  38/31 =1.22  -1 + 1.2 = 0.2

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

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

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

  29. 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 s=<v1, v2, ….., vm>  <v1, ..v’k, ….., vm> Początkowo – większe zmiany; później lokalne przeszukiwanie • Zmiana pojedynczego vi • Zmiana całego wektora

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

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

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

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

  34. PRSA połączenie AG z SA (parallel recombinative simulated annealing)

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

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

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

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

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

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

  41. Przykład

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

More Related