Strategie ewolucyjne (ang. evolution strategies)

Podobne dokumenty
Dobór parametrów algorytmu ewolucyjnego

Algorytmy ewolucyjne `

Strategie ewolucyjne. Gnypowicz Damian Staniszczak Łukasz Woźniak Marek

Metody Rozmyte i Algorytmy Ewolucyjne

WAE Jarosław Arabas Adaptacja i samoczynna adaptacja parametrów AE Algorytm CMA-ES

Algorytmy ewolucyjne NAZEWNICTWO

Modyfikacje i ulepszenia standardowego algorytmu genetycznego

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

Algorytmy ewolucyjne

METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne

SZTUCZNA INTELIGENCJA

Algorytmy genetyczne

Algorytm genetyczny (genetic algorithm)-

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego

ALGORYTMY GENETYCZNE ćwiczenia

Równoważność algorytmów optymalizacji

Algorytmy ewolucyjne 1

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych

CMAES. Zapis algorytmu. Generacja populacji oraz selekcja Populacja q i (t) w kroku t generowana jest w następujący sposób:

Algorytmy genetyczne. Dariusz Banasiak. Katedra Informatyki Technicznej Wydział Elektroniki

Problemy z ograniczeniami

Standardowy algorytm genetyczny

Algorytmy ewolucyjne. Łukasz Przybyłek Studenckie Koło Naukowe BRAINS

LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania i mutacji na skuteczność poszukiwań AE

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA OPERATOR KRZYŻOWANIA ETAPY KRZYŻOWANIA

6. Klasyczny algorytm genetyczny. 1

ALHE Z11 Jarosław Arabas wykład 11

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Optymalizacja ciągła

Algorytmy genetyczne

Algorytmy ewolucji różnicowej (ang. differential evolution -DE) oraz roju cząstek (ang. particle swarm optimization -PSO)

Algorytmy genetyczne w optymalizacji

Teoria algorytmów ewolucyjnych

Techniki optymalizacji

LABORATORIUM 3: Wpływ operatorów krzyżowania na skuteczność poszukiwań AE

KADD Minimalizacja funkcji

Obliczenia ewolucyjne - plan wykładu

Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009

Własności eksploatacyjne i eksploracyjne algorytmów ewolucyjnych z mutacja. α stabilna. Andrzej Obuchowicz i Przemysław Prętki

Algorytmy genetyczne

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

b) Niech: - wśród trzech wylosowanych opakowań jest co najwyżej jedno o dawce 15 mg. Wówczas:

STATYSTYKA MATEMATYCZNA WYKŁAD 4. WERYFIKACJA HIPOTEZ PARAMETRYCZNYCH X - cecha populacji, θ parametr rozkładu cechy X.

ALGORYTMY EWOLUCYJNE W ZASTOSOWANIU DO ROZWIĄZYWANIA WYBRANYCH ZADAŃ OPTYMALIZACJI1

Wykład 12 Testowanie hipotez dla współczynnika korelacji

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

ALHE Jarosław Arabas Metaheurystyki w Rn Ewolucja różnicowa EDA CMAES Rój cząstek

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Generowanie i optymalizacja harmonogramu za pomoca

ALGORYTMY EWOLUCYJNE. INTELIGENTNE TECHNIKI KOMPUTEROWE wykład 011. Napór selekcyjny (selektywny nacisk. Superosobniki: SELEKCJA

Wykład 12 Testowanie hipotez dla współczynnika korelacji

Algorytmy ewolucyjne. wprowadzenie

METODY HEURYSTYCZNE wykład 3

Algorytmy ewolucyjne

Obliczenia z wykorzystaniem sztucznej inteligencji

ROZWÓJ ALGORYTMU EWOLUCJI RÓŻNICOWEJ. Konrad Wypchło

KADD Minimalizacja funkcji

zadania z rachunku prawdopodobieństwa zapożyczone z egzaminów aktuarialnych

METODY HEURYSTYCZNE wykład 3

Statystyka i opracowanie danych Podstawy wnioskowania statystycznego. Prawo wielkich liczb. Centralne twierdzenie graniczne. Estymacja i estymatory

Algorytmy genetyczne

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski

Algorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba

Wstęp do Sztucznej Inteligencji

Rozkłady wielu zmiennych

SZTUCZNA INTELIGENCJA

Ważne rozkłady i twierdzenia

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

Ważne rozkłady i twierdzenia c.d.

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

LABORATORIUM 5: Wpływ reprodukcji na skuteczność poszukiwań AE. opracował: dr inż. Witold Beluch

STATYSTYKA MATEMATYCZNA

Strefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

Przegląd metod optymalizacji wielowymiarowej. Funkcja testowa. Funkcja testowa. Notes. Notes. Notes. Notes. Tomasz M. Gwizdałła

Centralne twierdzenie graniczne

Na A (n) rozważamy rozkład P (n) , który na zbiorach postaci A 1... A n określa się jako P (n) (X n, A (n), P (n)

Spacery losowe generowanie realizacji procesu losowego

Obliczenia Naturalne - Strategie ewolucyjne

Algorytmy genetyczne (AG)

Metody probabilistyczne

Testy De Jonga. Problemy. 1 Optymalizacja dyskretna i ciągła

Algorytmy genetyczne i memetyczne Strategie ewolucyjne

Hipotezy statystyczne

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA HISTORIA NA CZYM BAZUJĄ AG

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Wykład 6 Centralne Twierdzenie Graniczne. Rozkłady wielowymiarowe

12DRAP - parametry rozkładów wielowymiarowych

Wykład 4. Plan: 1. Aproksymacja rozkładu dwumianowego rozkładem normalnym. 2. Rozkłady próbkowe. 3. Centralne twierdzenie graniczne

Optymalizacja ciągła

Statystyka matematyczna dla leśników

Rozkłady zmiennych losowych

Wydział Matematyki. Testy zgodności. Wykład 03

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

), którą będziemy uważać za prawdziwą jeżeli okaże się, że hipoteza H 0

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Metody przeszukiwania

Uczenie sieci typu MLP

Transkrypt:

Strategie ewolucyjne (ang. evolution strategies) 1

2 Szybki przegląd Rozwijane w Niemczech w latach 60-70. Wcześni badacze: I. Rechenberg, H.-P. Schwefel (student Rechenberga). Typowe zastosowanie: Optymalizacja numeryczna. Cechy (tak przynajmniej twierdzą ich zwolennicy). Szybkie. Dobry optymalizator dla funkcji zmiennych rzeczywistych. Dużo teorii :( Cecha specjalna: Samo-adaptacja parametrów mutacji jest standardem.

3 Pierwszy przykład: (1+1)-ES Celem jest minimalizacja funkcji f: R L R. Algorytm używa: wektorów z przestrzeni R L jako chromosomów. (fenotyp identyczny z genotypem). populacji o rozmiarze 1. wyłącznie mutacji generującej jednego potomka. zachłannej selekcji (lepszy osobnik z tymczasowej populacji obejmującej 1 rodzica i 1 potomka przeżywa).

(1+1) ES: pseudokod t=0; initialize(x 0 ); while(!termination_condition(x t )) { z=rand_norm(); y t =x t +z; to jest mutacja if (f(y t )<f(x t )) x t+1 =y t ; else x t+1 =x t ; t=t+1; } Funkcja rand_norm generuje losowo wektor L elementowy z, przy czym każdy element z i (i=1,2,...,l) tego wektora jest otrzymywany jako: z i = N i (0,σ ) gdzie N i (0,σ) jest liczbą losową z rozkładu normalnego o wartości oczekiwanej 0 i odchyleniu standardowym σ, przy czym losowanie jest wykonywane niezależnie dla każdej wartości i (na co wskazuje indeks przy N). 4

Rozkład normalny funkcja gęstości prawdopodobieństwa 5 Odchylenie standardowe σ jest nazywane krokiem mutacji. Większy krok mutacji większe prawdopodobieństwo dużych odchyleń od zera. Około 68.3% wylosowanych liczb w przedziale (-σ,σ). Około 95.5% wylosowanych liczb w przedziale (-2σ,2σ). Około 99.7% wylosowanych liczb w przedziale (-3σ,3σ) (reguła 3 sigm). Jak dobierać wartość σ?

Reguła 1/5 sukcesu (Rechenberg, 1973) Jeżeli przez k kolejnych generacji więcej niż 1/5 mutacji kończy się sukcesem, to zwiększ krok mutacji, w przeciwnym wypadku zmniejsz ją. Za mutację zakończoną sukcesem uważamy mutację, w wyniku której potomek ma lepsze dopasowanie niż rodzic. Reguła jest stosowana co k pokoleń. Niech φ(k) jest częstością mutacji zakończonych sukcesem w ostatnich k generacjach algorytmu, Rechenberg zaproponował aby: σ t+ 1 ={c d σ t jeżeli ϕ(k)< 1 /5 c e σ t jeżeli ϕ(k)> 1/5 σ t jeżeli ϕ(k)=1/5 gdzie c e >1 reguluje szybkość wzrostu, a c d <1 szybkość malenia kroku mutacji. Schwefel (1981) w swoich eksperymentach użył: c d =0.82, c e =1.22. 6

7 Algorytm (μ+1)-es (1+1)- E S to algorytm typu random hill-climbing, wrażliwy na minima lokalne optymalizowanej funkcji. Reguła 1/5 sukcesu może prowadzić do przedwczesnej zbieżności. Rozszerzenie (μ+1) ES Utrzymuj populację μ osobników. Wybierz losowo jednego osobnika i poddaj go mutacji tworząc potomka. Potomek wraz z pozostałymi osobnikami tworzą tymczasową populację o rozmiarze (μ+1). Z tej populacji μ najlepszych osobników przechodzi do nowej generacji (co jest równoważne odrzuceniu najgorszego). Cechy charakterystyczne schematu zarządzania populacją Selekcja rodzica czysto losowa, bez naporu selekcyjnego. Sukcesja deterministyczna z naporem selekcyjnym. Powyższe cechy są typowe dla strategii ewolucyjnych.

8 Algorytm (μ+λ)-es Jest to uogólnienie (μ+1) ES Utrzymuj populację μ osobników. Wybierz losowo, ze zwracaniem λ osobników. Poddaj każdego z λ osobników mutacji mutacji tworząc λ potomków. λ potomków oraz μ oryginalnych osobników tworzy tymczasową populację o rozmiarze (μ+λ). (stąd nazwa algorytmu) Z tej tymczasowej populacji μ najlepszych osobników przechodzi do nowej generacji (co jest równoważne odrzuceniu λ najgorszych). Czy to jest sukcesja elitarystyczna? Typowe wartości μ=20, λ=7*μ. Pozostaje pytanie jak wybierać krok mutacji σ? W strategiach ewolucyjnych zastosowano rewolucyjny (na owe czasy) pomysł: Parametr algorytmu (w naszym przykładzie krok mutacji) jest częścią osobnika i podlega ewolucji wraz z nim.

Samoadaptacja kroku mutacji σ (1) Duży krok mutacji jest pożyteczny w początkowej fazie algorytmu (lokalizacja obiecujących obszarów przestrzeni rozwiązań). Mały krok mutacji pożyteczny w końcowej fazie algorytmu (dokładne dostrajanie lokalne). Ale możliwa jest również sytuacja w której algorytm potrzebuje najpierw dużego kroku mutacji, następnie małego następnie dużego Idea adaptacji kroku mutacji: Pozwól algorytmowi samemu optymalizacji dobierać krok mutacji. Na podstawie obserwacji zachowania algorytmu (reguła 1/5 sukcesów). Poddając parametr algorytmu (w naszym wypadku krok mutacji) ewolucji (selekcja, mutacja, sukcesja) wraz ze zmiennymi x 1,x 2,...,x L. (samoadaptacja). A zatem, przy wykorzystaniu samoadaptacji osobnik w populacji ma postać wektora: y=[ x 1, x 2,, x L, σ ] 9

Samoadaptacja kroku mutacji σ (2) L pierwszych elementów wektora y reprezentuje wektor x, a dopasowanie: f ( y)= f (x)= f ([ x 1, x 2,, x L ]) (a zatem wiemy jak przeprowadzić selekcję i sukcesję). Mutacja osobnika y=[x 1,x 2,...,x L,σ] daje nowego osobnika y'=[x' 1,x' 2,...,x' L,σ'] i jest wykonywana jest w sposób następujący: Najpierw obliczany jest nowy krok mutacji σ'. σ ' =σ exp(τ 0 N (0,1)) gdzie N(0,1) jest liczbą losową z rozkładu normalnego o wartości oczekiwanej 0 i odchyleniu standardowym 1, τ 0 jest (niestety) parametrem. Sprawdzamy, czy krok mutacji nie jest zbyt mały: Jeżeli σ'<ε 0 to σ'=ε 0. następnie nowo obliczona wartość kroku σ' jest wykorzystywana do mutacji elementów wektora x: x i ' =x i + N i (0, σ ' ) przy czym liczba losowa z rozkładu normalnego jest losowana niezależnie dla każdego i (i=1,2,...,l). 10

11 Samoadaptacja kroku mutacji σ (3) Parametr τ 0 jest nazywany szybkością uczenia. duże wartości adaptacja kroku σ szybka, ale mało precyzyjna. małe wartości adaptacja wolna, ale bardziej precyzyjna. Schwefel (1995) zaproponował, aby: τ 0 1 L Czy jeden krok mutacji jest właściwy dla wszystkich zmiennych x 1,x 2,...,x L? Co jeżeli -1000<x 1 <1000, a 0.001<x 2 <0.001?

Wspólny krok mutacji dla wszystkich zmiennych (rys.-eiben & Smith) Funkcja dwóch zmiennych. Czarna kropka to osobnik. Osobniki na okręgu wokół kropki mają takie same prawdopodobieństwo utworzenia w wyniku mutacji. Prawdopodobieństwo kroku wzdłuż osi x (duża zmiana dopasowania) takie same jak wzdłuż osi y (duża zmiana dopasowania). Ale przy jednym parametrze mutacji nie ma możliwości sterowania krokiem mutacji dla poszczególnych zmiennych. 12

L indywidualnych kroków mutacji Osobnik y w populacji ma postać: y=[ x 1, x 2,, x L, σ 1, σ 2,,σ L ] Wynikiem mutacji jest osobnik y' =[ x' 1, x' 2,, x ' L, σ ' 1, σ ' 2,,σ ' L ] Operator mutacji najpierw dokonuje zmian w krokach mutacji: gdzie N(0,1) jest losowane raz dla osobnika y, a N i (0,1) niezależnie dla każdego i. Parametry τ 0 1 2L σ ' i =σ i exp(τ 0 N (0,1)+ τ 1 N i (0,1)) Następnie sprawdzamy, czy krok mutacji nie jest zbyt mały: Jeżeli σ'<ε 0 to σ'=ε 0. τ 1 1 2 L Po czym stosujemy indywidualny krok mutacji σ' i do wygenerowania x' i (dla i=1,2,...,l): x i ' =x i + N i (0, σ i ' ) 13

Indywidualne kroki mutacji dla poszczególnych zmiennych (rys.-eiben & Smith) 14 Funkcja dwóch zmiennych. Czarna kropka to osobnik. Osobniki na elipsie wokół kropki mają takie same prawdopodobieństwo utworzenia w wyniku mutacji. Prawdopodobieństwo kroku wzdłuż osi x (duża zmiana dopasowania) większe jak wzdłuż osi y.

Mutacje skorelowane (rys. Eiben & Smith) Funkcja dwóch zmiennych. Czarna kropka to osobnik. Osobniki na elipsie wokół kropki mają takie same prawdopodobieństwo utworzenia w wyniku mutacji. Optymalny krok mutacji, po trajektorii największego spadku. Wymaga perturbacji wektora x o wektor generowany z rozkładu N(0,Σ). Jest to wielowymiarowy rozkład normalny z niediagonalną macierzą kowariancji Σ. Wymaga samoadaptacji współczynników kowariancji. Taki algorytm istnieje (CMA-ES) (ang. covariance matrix adaptation - ES) 15

16 Problem z metodą sukcesji (μ+λ) i algorytm (μ,λ)-es W algorytmie sukcesji (μ+λ) osobnik pozostaje w populacji tak długo, jak zostanie zastąpiony przez lepszego potomka. Osobnik może pozostawać w populacji dowolnie długo, a jeżeli jego krok(i) mutacji stanie się bardzo mały nie będzie w stanie generować ulepszonych potomków. Prowadzi to do przedwczesnej zbieżności do minimum lokalnego. Dlatego algorytm sukcesji (μ,λ) jest preferowany W tym algorytmie do nowej generacji przechodzi wyłącznie μ najlepszych spośród λ potomków. A zatem musi być spełniony warunek μ<λ. W strategiach ewolucyjnych typowo λ 7*μ. (Np. μ=30, λ=200). Wszyscy rodzice giną po jednej generacji. (μ,λ) nie jest selekcją elitarną (dlaczego?) ale w eksperymentach numerycznych daje na ogół (dla funkcji wielomodalnych) lepsze wyniki niż (μ+λ).

Strategie ewolucyjne z rekombinacją (odpowiednikiem krzyżowania) 17 Osobnik który jest poddawany mutacji powstaje w wyniku operatora rekombinacji. Procedura generowania λ potomków wygląda następująco: 1. Wybierz bez zwracania ρ>1 osobników (z populacji o rozmiarze μ). 2. Utwórz potomka z ρ osobników stosując operator rekombinacji (o tym na następnym slajdzie) 3. Poddaj go mutacji. 4. Dodaj potomka do populacji tymczasowej i zwróć ρ osobników do populacji rodziców. 5. Powtarzaj krok 1-4 λ razy. Liczba rodziców ρ może (ale nie musi) być równa 2 jak w algorytmach genetycznych. Algorytmy z rekombinacją oznaczane są jako (μ/ρ+λ) ES oraz (μ/ρ,λ) ES.

18 Operator rekombinacji (Beyer & Schwefel, 2002) Oznaczmy ρ osobników wybranych z populacji o rozmiarze μ jako y 1,y 2,...,y ρ. Niech y i (i=1,2,...,ρ) przyjmuje postać: y i i i i i i i =[ x 1, x 2,, x L,σ 1, σ 2,,σ L ] Oznaczmy potomka otrzymanego w wyniku rekombinacji jako y'.niech Operator rekombinacji dla zmiennych j-ty (j=1,2,...,l, L jest liczbą zmiennych) element potomka losuje spośród j-tych elementów jego rodziców: gdzie r j jest liczbą losową ze zbioru {1,2,...,ρ} losowaną niezależnie (od nowa) dla każdego j=1,2,...,l. y' =[ x' 1, x' 2,, x ' L, σ ' 1, σ ' 2,,σ ' L ] r x ' j =x j j Operator rekombinacji dla kroków mutacji oblicza j-ty krok mutacji jako średnią arytmetyczną kroków mutacji wszystkich ρ rodziców. σ ' j = 1 ρ ρ i=1 i σ j

19 Literatura (oprócz podanej na pierwszym wykładzie) 1. A. E. Eiben, J. E. Smith, Introduction to Evolutionary Computing, Springer, 2003. 2. T. Bäck, F. Hoffmeister, H.-P. Schwefel, A survey of evolution strategies, Proceedings of the Fourth International Conference on Genetic Algorithms, Morgan Kaufmann, s. 2-9, 1991. 3. T. Bäck, G. Rudolph, H.-P. Schwefel, Evolutionary programming and evolution strategies: similarities and differences, Proceedings of the Second Annual Conference on Evolutionary Programming, Evolutionary Programming Society, s. 11-22, 1993. 4. H.-G. Beyer and H.-P. Schwefel, Evolution strategies A comprehensive introduction, Natural Computing, 1(1), s.3-52, 2002. 5. T. Bäck, Evolutionary Algorithms in Theory and Practice: Evolution strategies, Evolutionary Programming, Genetic Algorithms, Oxford University Press, 1996

20 Podsumowanie W Państwa projekcie chcę widzieć: Porównanie metod sukcesji (μ+λ) oraz (μ,λ). Adaptację kroku mutacji indywidualnie dla każdej ze zmiennych. Implementację operatorów rekombinacji i porównanie: wersji działającej bez tych operatorów. wersji z ρ=2. wersji z ρ=μ. Następny wykład: Algorytmy ewolucyjne dla problemu komiwojażera.