Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

1 Migracyjne ( Wyspowe ) Algorytmy Ewolucyjne. 2 O czym będziemy mówić: Algorytmy ewolucyjne problemy –czasochłonność –premature convergence Próby rozwiązania.

Podobne prezentacje


Prezentacja na temat: "1 Migracyjne ( Wyspowe ) Algorytmy Ewolucyjne. 2 O czym będziemy mówić: Algorytmy ewolucyjne problemy –czasochłonność –premature convergence Próby rozwiązania."— Zapis prezentacji:

1 1 Migracyjne ( Wyspowe ) Algorytmy Ewolucyjne

2 2 O czym będziemy mówić: Algorytmy ewolucyjne problemy –czasochłonność –premature convergence Próby rozwiązania problemów Crowding Fitness sharing Distributed Genetic Algorithm (DGA)

3 3 Szczegóły o DGA Jak działa DGA ( migration interval i migration rate ) Modele migracji stepping stones model random migration model hierarchical parallel model Metody wyboru osobników do migracji Competition and Cooperation Injection island GA (iiGA ) Hierarchical Fair Competition parallel model (HFC) DGA/rmr (random migration rate)

4 4 Algorytmy Ewolucyjne Typowe podejścia: ulepszanie jednego rozwiązania Evolutionary Algorithms EA: przetwarzanie całych populacji

5 5 Algorytmy Ewolucyjne Wspólne cechy EA reprezentacja rozwiązań jako osobników reprodukcja losowe zmiany współzawodnictwo osobników selekcja osobników

6 6 Algorytmy Ewolucyjne Algorytmy te opierają się głównie na reprodukcji genetycznej – poprzez zastosowanie algorytmów genetycznych Genetic Algorithms – GA krzyżowanie mutacja

7 7 Algorytmy Genetyczne Zalety: są są one w stanie znaleźć właściwe rozwiązanie (lub jego przybliżenie) także w przypadku funkcji o wielu minimach lokalnych Wady: są czasochłonne (bardzo liczne populacje) nie zawsze otrzymujemy minimum globalne (tylko jedno z lepszych minimów lokalnych)

8 8 Algorytmy Genetyczne – rozwiązania problemów przyspieszenie przez równoległe obliczenia DGA (Distributed Genetic Algorithm) PEA (Parallel Evolutionary Algorithms) unikanie przedwczesnej zbiezności (premature convergence) przez: Zatłoczenie Podział przystosowania Algorytmy wyspowe (PEA, DGA)

9 9 Premature convergence Przedwczesna zbieżność W środowisku, w którym zbyt mocno promujemy najlepsze jednostki może dojść do sytuacji w której jeden gatunek (typ rozwiązania) szybko wyeliminuje pozostałe, czego efektem będzie ugrzęźniecie w minimum lokalnym. Natomiast w przeciwnym przypadku, gdy stosujemy inne zasady doboru, mogą zachodzić zbyt chaotyczne zmiany prowadzące do utraty dobrych materiałów genetycznych. exploration and exploitation Należy zapewnić balans między szerokością eksploracji przestrzeni rozwiązań a dokładnością przeszukiwań (dopracowywaniem rozwiązań) ( exploration and exploitation ). W przypadku przedwczesnej zbieżności w miarę postępu ewolucji średnie przystosowanie populacji rośnie pozwalając przeżyć tylko podobnym osobnikom, usuwając wszystkie słabsze (o niskim przystosowaniu), które być może mogły by wyprowadzić populację z minimum lokalnego do którego zdąża.

10 10 Crowding Strategia wymiany potomstwa mająca za zadanie utrzymanie różnorodności. Polega na wymienieniu podobnych osobników zwykle zapobiegając zbieraniu się ich wokół jednego minimum, rozszerzając w ten sposób zakres poszukiwań. Często jednak nie spisuje się prowadząc do zbiegania się populacji do kilku minimów.

11 11 Fitness sharing Modyfikacja operatora selekcji bazującego na dostosowaniu – pozwalająca na formowanie stabilnych podpopulacji wokół rożnych minimów powodująca równoległe poszukiwania w okolicy wielu minimów obszaru poszukiwań. Jednak w przypadku bardzo wielu minimów lokalnych jest wielce prawdopodobne, że ograniczona populacja nie będzie w stanie sprawdzić ich wszystkich.

12 12 Distributed Genetic Algorithm - DGA równolegle Właściwie wszystkie operacje genetyczne poza selekcją mogą być wykonywane równolegle wrodzony paralelizm mówi się że algorytmy genetyczne posiadają wrodzony paralelizm. podpopulacje wyspami W DGA populacja podzielona jest na podpopulacje zwane wyspami (stosuje się też inne rozwiązania równoległości GA, np. modele lokalnego sąsiedztwa z procesem dyfuzji)

13 13 Distributed Genetic Algorithm populację dzielimy na podpopulacje migracja 1 wyspa / 1 komputer w każdej podpopulacji realizujemy alg. gen. najczęściej jednej podpopulacji odpowiada 1 komputer / procesor między populacjami zachodzi migracja osobników

14 14 Distributed Genetic Algorithm migration interval Po zdefiniowanej ilości pokoleń migration interval część osobników przenoszonych jest (lub kopiowanych) na inną wyspę. migration rate Ich ilość jest zdefiniowana przez migration rate.

15 15 Distributed Genetic Algorithm DGA mogą być wykonywane równolegle udowodniono, że potrafią dostarczać dobrych rozwiązań po mniejszej liczbie obliczeń niż zwykłe GA! Wielkość populacji na każdej z wysp jest mniejsza niż w przypadku GA i co za tym idzie lokalne rozwiązanie może zostać osiągnięte szybciej. Jednak dzięki istnieniu innych wysp i operacji migracji w DGA zachowana zostaje różnorodność rozwiązań.

16 16 Modele migracji w DGA stepping stones model stepping stones model docelowa wyspa na którą przenoszone są osobniki jest wcześniej określona.

17 17 Modele migracji w DGA random migration model random migration model cel migracji za każdym razem wybierany jest losowo.

18 18 Modele migracji w DGA hierarchical parallel model hierarchical parallel model docelowa wyspa na którą przenoszone są osobniki jest wcześniej określona tak jak w stepping stones model, z tym że wyspy ułożone są na różnych poziomach w hierarchię najczęściej określającą kierunek i warunki migracji

19 19 HFC

20 20 Hierarchical Fair Competition przystosowanie Losowa generacja rozwiązań

21 21 Por ó wnanie HFC z klasycznymi GA przystosowanie HFC bada nowe obszary Klasyczny GA

22 22 Metody wyboru osobników do migracji. Elitarne osobniki Metoda polega na przesyłaniu najlepszych osobników do następnej wyspy zastępując nimi najgorsze. Metoda ta niestety często prowadzi do przedwczesnej zbieżności. Turniejowo Osobniki wybierane są metodą turniejową, również często prowadzi do przedwczesnej zbieżności. Losowo wybierane osobniki W brew pozorom metoda ta daje dość dobre wyniki, gdyż prowadzi do zachowania różnorodności osobników na każdej wyspie.

23 23 Metody wyboru osobników do migracji. Maximum Gap Allowed (MGA) Maximum Gap Allowed (MGA) acceptance threshold Metoda ta próbuje zapobiec nie wyrównanej wymianie genotypów poprzez użycie progu akceptowalności ( acceptance threshold ) dla przychodzących łańcuchów. Unika ona wprowadzania zbyt dobrych osobników (elitarnych), które mogłyby zdominować populację, poprzez określenie maksymalnej akceptowalnej różnicy między miarami dopasowania najlepszego lokalnego osobnika i osobnika migrującego do danej populacji.

24 24 Metody wyboru osobników do migracji. Dynamic Arbiter Strategy (DAS) Dynamic Arbiter Strategy (DAS) Pozwala na niezależną ewolucję podpopulacji jednak podejmując działania w przypadku wykrycia stagnacji. W takim przypadku próbuje uniknąć wpadnięcia w lokalne minimum poprzez dodanie do populacji osobników znacznie różniących się od istniejących w celu przywrócenia różnorodności. Arbiter zbiera dane o średnim, najlepszym i najgorszym przystosowaniu osobników populacji i na ich podstawie określa które populacje zagrożone są stagnacją. Jeśli znajdzie takie populacje to dokonuje migracji: –IF najlepszy globalny osobnik nie rezyduje w źródłowej populacji THEN migruj najlepszego globalnego osobnika ELSE migruj najgorszego globalnego osobnika

25 25 Metody wyboru osobników do migracji. Combined MGA-DAS Strategy (CMGA-DAS) Combined MGA-DAS Strategy (CMGA-DAS) Połączenie metod MGA i DAS powstaje przez proste dodanie kryterium akceptowalności metody DAS w momencie wyboru osobników do migracji.

26 26 Competition and Cooperation W standartowym PEA (Parallel Evolutionary Algorithm) wszystkie podpopulacje używają tych samych parametrów. Model współzawodniczących populacji określa dla każdej podpopulacji inną strategię (inne parametry np. krzyżowania i mutacji) przestrzeń rozwiązań przeszukiwana jest za pomocą różnych strategii. ranking podpopulacji na podstawie najlepszego dostosowania średniego dostosowania podpopulacji. Współzawodniczenie populacji osiąga się przez dostarczanie większej ilości zasobów lepszym populacjom, dobre populacje otrzymują również osobników z nieudanych populacji.

27 27 Competition and Cooperation Wprowadzenie współzawodniczenia owocuje w pewnym sensie automatycznym wybieraniem lepszych strategii metod wartości parametrów we właściwym czasie.

28 28 Competition and Cooperation Przykład: 3 podpopulacje używające różnych strategii: –podpopulacja 1: brutalne szukanie (duże kroki mutacji) –podpopulacja 3: gładkie szukanie (małe kroki mutacji) funkcja RASTRIGINa nr 6, n = 20, < x < 500

29 29 Injection island GA - iiGA Hierarchiczny model równoległy podpopulacje zorganizowane są w hierarchię różne reprezentacje na każdym z poziomów przykład modelu z rywalizacją. posiada wadę: dla każdej podpopulacji (a w szczególności dla podpopulacji o najwyższym poziomie) wciąż istnieje ryzyko wpadnięcia w lokalne minimum. próbuje rozwiązać problem przedwczesnej zbieżności głównie poprzez użycie kilku podpopulacji na każdym poziomie oraz przez użycie mechanizmów takich jak crowding, zamiast bezpośrednio za pomocą hierarchii jak to robi HFC.

30 30 Hierarchical Fair Competition parallel model HFC

31 31 Hierarchical Fair Competition powody przedwczesnej zbieżności selection pressure (napór selekcyjny) promowanie najlepiej dopasowanych eliminacja młodych osobników, które mogą być obiecujące dyskryminacja nie fair dobrego kodu genetycznego.

32 32 Hierarchical Fair Competition poziomy na podobieństwo szkolnictwa:

33 33 Hierarchical Fair Competition młode osobniki nie rywalizują z dorosłymi podobieństwo do natury usuwane są osobniki bez perspektyw admission threshold bardzo dobre wyniki szeroka eksploracja przestrzeni poszukiwań

34 34 DGA/rmr DGA with random migration rate losowo wybierane jest: –osobniki do migracji –ich liczba –wyspa docelowa

35 35 DGA/rmr Losowa liczba osobników migruje zmienna liczność podpopulacji marnowanie czasu na synchronizację popdpopulacji Zaletą DGA/rmr jest adaptacyjne dobieranie migration rate. Testy wykazują, że losowość tego parametru jest dobrym rozwiązaniem i daje całkiem dobre wyniki.

36 36 DGA/rmr - właściwości Gdy wielkość populacji jest wystarczająco duża rozwiązania są niezależne od migration rate i migration interval. Gdy natomiast wielkość populacji jest zbyt mała rozwiązania zależą od tych parametrów dość ciężko jest znaleźć optymalne ich wartości Osiąga dobre wyniki dla różnych wartości migration interval zarówno dla funkcji Rastrigina jak i Rosenbrocka. Sugeruje to, że wartości tych parametrów nie muszą być zdefiniowane żeby znaleźć dobre rozwiązania. Wada: strata czasu na synchronizację.

37 37 Podsumowanie Migracyjne algorytmy ewolucyjne okazują się rozwiązaniem bardzo dobrym, dającym lepsze wyniki niż tradycyjne EA, na dodatek w krótszym czasie. Metody te mają ponadto zdolność do unikania przedwczesnej zbieżności co owocuje lepszym przeszukaniem przestrzeni rozwiązań i niejednokrotnie znalezieniem minimum globalnego, gdy tradycyjne EA znajdują jedynie minima lokalne zbliżone do globalnego. Niewątpliwą zaletą PEA jest również możliwość ich równoległego wykonywania co dodatkowo radykalnie zwiększa szybkość obliczeń. Za pomocą PEA istnieje także możliwość stworzenia współzawodnictwa różnych metod, co prowadzi do automatycznego wybrania tych lepszych wraz z odpowiednimi wartościami parametrów we właściwym czasie. Wśród metody tych należy wyróżnić model Hierarchical Fair Competition HFC jako najciekawszy i dający najlepsze rezultaty algorytm opierający się w całości na analogii z naturą i systemami szkolnictwa. Wyraźnie dobre wyniki osiągane są również za pomocą algorytmu DGA/rmr.

38 38 Obliczenia testowe

39 39 Algorytm wyspowy Optymalizacja funkcji dwóch zmiennych Użytkownik ma możliwość podania następujących parametrów: funkcji: wzór funkcji przedziały dla każdej zmiennej na którym ma być znalezione minimum algorytmu wyspowego rozmiar populacji i liczba wysp współczynnik migracji czas migracji liczba pokoleń prawdopodobieństwo krzyżowania i mutacji dokładność z jaka ma być liczone minimum

40 40 Schemat blokowy algorytmu wyspowego

41 41 Schemat blokowy algorytmu genetycznego (jedno pokolenie)

42 42 Schemat blokowy migracji (jeden poziom hierarchii)

43 43 Instrukcja obsługi Po rozpoczęciu programu użytkownik ma możliwość wykonania jednej z dwóch czynności: Rozpoczęcie liczenia minimum funkcji – przycisk Znajdź min Zakończenie programu – przycisk Koniec. Aby rozpocząć liczenie minimum należy wypełnić wszystkie pola w oknie programu. Po naciśnięciu przycisku Znajdź min, wszystkie pola i przyciski zostają wyłączone. Następnie wyświetla się pole wykresu i algorytm zaczyna liczyć minimum zadanej funkcji, cały czas pokazując użytkownikowi aktualne dane (numer pokolenia, wartość najlepszego osobnika z 3 poziomów hierarchii: najniższego, środkowego i najwyższego). Po zakończeniu liczenia użytkownik dostaje trzy nowe opcje: Może wyświetlić średniego dopasowania poszczególnych pokoleń – przycisk Wykres dopasowania (wyświetla średnie dopasowanie z każdego pokolenia, oraz najlepszego osobnika z ostatniego pokolenia dla 3 poziomów hierarchii: najniższego, środkowego i najwyższego) Może wyświetlić ponownie ostatni widok wykresu funkcji – przycisk Wykres funkcji Może ponownie rozpocząć obliczenia – przycisk Nowa funkcja (jego naciśnięcie ponownie włącza wszystkie wyłączone elementy okna przez przycisk Znajdź min).

44 44 Algorytm migracyjny algorytm_wyspowy – funkcja odpowiadająca za działanie algorytmu migracyjnego migracja – funkcja odpowiadająca za migrację między poziomami hierarchii oblicz_progi – funkcja licząca progi akceptacji po każdej migracji (próg to średnie dopasowanie na danej wyspie) podaj_naj – funkcja podająca najlepszego osobnika z danej wyspy podaj_srednie – funkcja podaje średnie dopasowanie osobników danej wyspy w danym pokoleniu podziel_na_wyspy – funkcja odpowiada na podzielenie początkowej, losowej populacji na liczbę wysp zadaną przez użytkownika selekcja_do_migracji – funkcja selekcjonująca osobniki, które spełniają warunek do migracji, z danej wyspy selekcja_elitarna – funkcja selekcjonująca metodą elitarną osobników wśród osobników danej wyspy i migrantów (wynikiem jest podpopulacja rozmiarów danej wyspy) stworz_populacje – funkcja odpowiadająca za utworzenie losowe populacji początkowej

45 45 Lokalny SGA algorytm_genetyczny – funkcja odpowiadająca za działanie algorytmu genetycznego dla jednego pokolenia na danej podpopulacji (wyspie) dekoduj – funkcja odczytuje wartość zakodowaną binarnie w chromosomie jaka_dlugosc – funkcja licząca długość chromosomu, w zależności od podanych przedziałów i precyzji krzyzowanie – funkcja realizująca operator krzyżowania (zwracanych jest 2 najlepszych z rodziców i potomków) mutacja – funkcja realizująca operator mutacji ocena – funkcja licząca dopasowanie osobników w populacji selekcja_turniej – funkcja realizująca selekcje metodą turniejową (maksymalna wielkość turnieju to liczba równa połowie osobników w danej podpopulacji)

46 46

47 47

48 48

49 49

50 50

51 51

52 52

53 53

54 54

55 55

56 56

57 57

58 58

59 59

60 60 Wnioski W programie liczymy minimum funkcji dwóch zmiennych. Zmienną x i y umieszczamy w tym samym chromosomie. Przy precyzji 5 i długości przedziału około 2 długość zakodowanej danej wynosi 15. Ponieważ kodujemy 2 zmienne naraz długość ta wynosi już 30. Przy większych przedziałach długość ta zwiększa się znacznie, co powoduje dużą ilość obliczeń. Do macierzy, w której przechowywane są osobniki, dołożyliśmy 3 kolumny. W pierwszej z nich znajduje się odkodowana wartość zmiennej x, w drugiej wartość zmiennej y, a w trzecie wartość funkcji dopasowania. Obliczenia nowego dopasowania są wykonywane w momencie krzyżowania i tylko dla potomków oraz jeśli zajdzie mutacja co najmniej jednej pozycji chromosomu. Dzięki ograniczeniu ilości obliczeń zmniejszyliśmy koszt obliczeniowy programu

61 61 Wnioski Ponieważ metoda HFC korzysta z prostego algorytmu genetycznego wykonywanego na każdej wyspie, istotny jest odpowiedni dobór prawdopodobieństwa krzyżowania i mutacji. Bardzo dobre wyniki otrzymywaliśmy dla pk=90% i pm=5% (wykres 1). Sprawdziliśmy także inne warianty (wykresy 2, 3, 4): pk=5% i pm=90% - w tym przypadku dopasowanie poszczególnych podpopulacji znacznie spadło, a wahanie dopasowania miedzy kolejnymi pokoleniami są znaczne; dopasowania miedzy poziomami znacznie się różniły (najlepszy osobnik z poziomu 1 był lepszy niż z poziomu 3) pk=5% i pm=5% - w tym przypadku dopasowanie populacji również spadło, ale nie dużo i nie wystąpiły wielkie wahania między pokoleniami, wyniki nie były tak złe pk=90% i pm=90% - w tym przypadku dopasowanie poszczególnych podpopulacji również spadło znacznie, a między pokoleniami są znaczne wahania w dopasowaniu; również i w tym przypadku najlepszy osobnik z poziomu 1 był lepszy niż z poziomu 3

62 62 Wnioski Ponieważ model HFC jest algorytmem wyspowym, to istotnym parametrem dla niego jest liczba wysp. Sprawdziliśmy to dla 3 różnych wartości (rozmiar populacji wynosił 100): 1 wyspa – zwykły algorytm genetyczny (wykresy 5, 6) – otrzymane wyniki są bardzo dobre, jednak średnie dopasowanie populacji odbiega od najlepszego osobnika o około 10 5 wysp - model gruboziarnisty (wykresy 7, 8) – otrzymane wyniki są bardzo dobre zarówno dla najniższego poziomu jak i najwyższego; średnie dopasowanie najwyższego poziomu hierarchii jest bliższe najlepszemu osobnikowi, niż było to w przypadku 1 wyspy 20 wysp - model drobnoziarnisty (wykresy 9, 10) – otrzymane wyniki końcowe nie są zadawalające, są zdecydowanie gorsze od otrzymanych mniejszej ilości wysp; średnie dopasowanie bardzo oscyluje, niższe poziomy otrzymują znacznie lepsze wyniki niż wyższe.

63 63 Wnioski Z powyższych wyników można wywnioskować, że zdecydowanie najlepsze rezultaty otrzymuje się stosując algorytm genetyczny lub algorytm wyspowy typu gruboziarnistego. Spowodowane jest to tym, że poszukiwania odbywają się równolegle na kilku podpopulacjach, jednak ilość osobników na każdej z nich umożliwia przeszukiwanie sporego obszaru rozwiązań. Ich liczba umożliwia duży napór selekcyjny z zachowaniem różnorodności genetycznej. W momencie, gdy mamy dużą liczbę wysp, ale o małej liczebności, napór selekcyjny mamy również duży, ale różnorodność genetyczna jest zbyt mała. Dodatkowo jedna przypadkowa mutacja może spowodować, że osobnik będzie miał bardzo duże przystosowanie lub bardzo małe, a wyniku podobne dopasowanie będzie na całej wyspie. Osobniki migrujące nie będą się od siebie znacznie różniły. Dodatkowo mogą wprowadzać znaczne oscylacje w dopasowaniu poszczególnych poziomów hierarchii, co w efekcie końcowym da słabe wyniki, co widać na wykresach 9 i 10.

64 64 Wnioski Ważnym elementem w algorytmach wyspowych jest migracja. Podczas przejścia na wyższy poziom hierarchii osobnik musi mieć dopasowanie wyższe niż próg akceptacji (średnie dopasowanie danej podpopulacji). Zastosowano dynamiczną zmianę progu akceptacji Jest on liczony po stworzeniu wysp oraz po każdej migracji. Dzięki temu dopasowuje się on do aktualnie panujących warunków i umożliwia przejście tylko najlepszym osobnikom. Zbadano także jak zachowuje się model HFC typu grubo i drobnoziarnistego w zależności od wielkości współczynnika migracji (0.3, 0.6, 0.9): model gruboziarnisty (wykresy 11, 8, 13) model drobnoziarnisty (wykresy 12, 10, 14) W obu przypadkach zdecydowanie lepsze wyniki zostały uzyskane dla współczynników migracji równych 0.6 i 0.9 niż dla 0.3. Można stwierdzić, że zbyt niski współczynnik migracji zdecydowanie pogarsza efektywność modelu HFC. Już 0.6 powoduje bardzo dobre wyniki. Podniesienie o kolejne 0.3 powoduje również polepszenie efektywności algorytmu. W przypadku modelu drobnoziarnistego jest ona bardziej widoczna niż w modelu gruboziarnistym.

65 65 Literatura 1.Tomoyuki HIROYASU, Mitsunori MIKI and Masami NEGAMI Distributed Genetic Algorithms with Randomized Migration Rate 2.Jian Jun. Hu, Erik D. Goodman The Hierarchical Fair Competition (HFC) Model for Parallel Evolutionary Algorithms 3.Gallard R.H., Esquivel S. C. Enhancing Evolutionary Algorithms Through Recombination and Parallelism 4.Hartmut Pohlheim (DaimlerChrysler AG, Research & Technology) Competition and Cooperation in Extended Evolutionary Algorithms

66 66 Literatura dodatkowa 5.D.E.Goldberg Algorytmy genetyczne i ich zastosowania 6.Jeffrey Horn The Nature of Niching: Genetic Algorithms and The Evolution of Optimal, Cooperative Population 7.J.Arabas "Wykłady z algorytmów ewolucyjnych" 8.J. Nang and K. Matsuo, A Survey on the Parallel Genetic Algorithms, 9.V. S. Gordon and D. Whitley, Serial and Parallel Genetic Algorithms as Function Optimizers 10.Bäck T. Evolutionary algorithms in theory and practice 11.Belding T.C. The Distributed Genetic Algorithm Revisited 12.Ochoa C., Gallard R. Strategies for Migration Overseeing in Asynchronous Schemes of Parallel Genetic Algorithms 13.Tanese R. Distributed Genetic Algorithms

67 67 Internet Freeware and Shareware Tools for Evolutionary Computation: Source Code Collection for GA programs:


Pobierz ppt "1 Migracyjne ( Wyspowe ) Algorytmy Ewolucyjne. 2 O czym będziemy mówić: Algorytmy ewolucyjne problemy –czasochłonność –premature convergence Próby rozwiązania."

Podobne prezentacje


Reklamy Google