35
Ewolucja różnicowa (DE) Ewolucja różnicowa Rainer Storn Kenneth Price

Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)

Ewolucja różnicowa

Rainer StornKenneth Price

Page 2: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)

Rzut oka na DE

Równoległa wersja DE przechowuje dwie tablice. W każdej z nichznajduje się populacja NP D-wymiarowych wektorów o wartościachrzeczywistych. W tablicy głównej (primary) znajduje się bieżącapopulacja, w tablicy dodatkowej (secondary) zaś gromadzi sięwektory przeznaczone do następnego pokolenia.

W każdym pokoleniu ma miejsce NP porównań, które służąokreśleniu składu następnej populacji: w i-tym porównaniuuczestniczy i-ty wektor populacji, nazywany tarczą (target) i wektorpróbny, dla którego tarcza jest jednym z rodziców. drugim rodzicemjest wektor losowo wybrany z populacji, do którego dodano równieżlosowy, ważony wektor różnicowy.Połączenie tego losowego (symulującego „szum”) wektora z tarcząkontrolowane jest przez niejednorodną operację krzyżowania, wktórej określa się, które parametry nowy wektor przejmuje odktórego z wektorów macierzystych. Jeżeli koszt wektora próbnego nieprzekroczy kosztu tarczy-rodzica, wektor próbny zastąpi tarczę napozycji i-tej w następnym pokoleniu.

Page 3: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)

Rzut oka na DE

Równoległa wersja DE przechowuje dwie tablice. W każdej z nichznajduje się populacja NP D-wymiarowych wektorów o wartościachrzeczywistych. W tablicy głównej (primary) znajduje się bieżącapopulacja, w tablicy dodatkowej (secondary) zaś gromadzi sięwektory przeznaczone do następnego pokolenia.W każdym pokoleniu ma miejsce NP porównań, które służąokreśleniu składu następnej populacji: w i-tym porównaniuuczestniczy i-ty wektor populacji, nazywany tarczą (target) i wektorpróbny, dla którego tarcza jest jednym z rodziców. drugim rodzicemjest wektor losowo wybrany z populacji, do którego dodano równieżlosowy, ważony wektor różnicowy.

Połączenie tego losowego (symulującego „szum”) wektora z tarcząkontrolowane jest przez niejednorodną operację krzyżowania, wktórej określa się, które parametry nowy wektor przejmuje odktórego z wektorów macierzystych. Jeżeli koszt wektora próbnego nieprzekroczy kosztu tarczy-rodzica, wektor próbny zastąpi tarczę napozycji i-tej w następnym pokoleniu.

Page 4: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)

Rzut oka na DE

Równoległa wersja DE przechowuje dwie tablice. W każdej z nichznajduje się populacja NP D-wymiarowych wektorów o wartościachrzeczywistych. W tablicy głównej (primary) znajduje się bieżącapopulacja, w tablicy dodatkowej (secondary) zaś gromadzi sięwektory przeznaczone do następnego pokolenia.W każdym pokoleniu ma miejsce NP porównań, które służąokreśleniu składu następnej populacji: w i-tym porównaniuuczestniczy i-ty wektor populacji, nazywany tarczą (target) i wektorpróbny, dla którego tarcza jest jednym z rodziców. drugim rodzicemjest wektor losowo wybrany z populacji, do którego dodano równieżlosowy, ważony wektor różnicowy.Połączenie tego losowego (symulującego „szum”) wektora z tarcząkontrolowane jest przez niejednorodną operację krzyżowania, wktórej określa się, które parametry nowy wektor przejmuje odktórego z wektorów macierzystych. Jeżeli koszt wektora próbnego nieprzekroczy kosztu tarczy-rodzica, wektor próbny zastąpi tarczę napozycji i-tej w następnym pokoleniu.

Page 5: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)

Mutacja w DE

Całą ewolucją w DE sterują 3 zjawiska:1 wielkość populacji NP,2 waga przyłożona do losowej różnicy F,3 stała operacji krzyżowania CR.

Wygodnym źródłem odpowiednio przeskalowanego zaburzenia jestsama populacja. Dla każdej pary wektorów (Xa, Xb) możnazdefiniować różnicę: Xa i Xb. Kiedy Xa i Xb zostaną wybrane losowo,ich ważoną różnicę można wykorzystać zamiast gaussowskiegoszumu do zakłócenia wartości trzeciego wektora Xc .Xc ’= Xc + F(Xa – Xb)Czynnik skalujący F jest zadaną przez użytkownika stałą z zakresuod 0 do 1.2. Górna granica została wyznaczona empirycznie.Optymalna wartość F dla większości funkcji leży między 0.4 a 1.0.

Page 6: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)

Mutacja w DE

Całą ewolucją w DE sterują 3 zjawiska:1 wielkość populacji NP,2 waga przyłożona do losowej różnicy F,3 stała operacji krzyżowania CR.

Wygodnym źródłem odpowiednio przeskalowanego zaburzenia jestsama populacja. Dla każdej pary wektorów (Xa, Xb) możnazdefiniować różnicę: Xa i Xb. Kiedy Xa i Xb zostaną wybrane losowo,ich ważoną różnicę można wykorzystać zamiast gaussowskiegoszumu do zakłócenia wartości trzeciego wektora Xc .

Xc ’= Xc + F(Xa – Xb)Czynnik skalujący F jest zadaną przez użytkownika stałą z zakresuod 0 do 1.2. Górna granica została wyznaczona empirycznie.Optymalna wartość F dla większości funkcji leży między 0.4 a 1.0.

Page 7: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)

Mutacja w DE

Całą ewolucją w DE sterują 3 zjawiska:1 wielkość populacji NP,2 waga przyłożona do losowej różnicy F,3 stała operacji krzyżowania CR.

Wygodnym źródłem odpowiednio przeskalowanego zaburzenia jestsama populacja. Dla każdej pary wektorów (Xa, Xb) możnazdefiniować różnicę: Xa i Xb. Kiedy Xa i Xb zostaną wybrane losowo,ich ważoną różnicę można wykorzystać zamiast gaussowskiegoszumu do zakłócenia wartości trzeciego wektora Xc .Xc ’= Xc + F(Xa – Xb)

Czynnik skalujący F jest zadaną przez użytkownika stałą z zakresuod 0 do 1.2. Górna granica została wyznaczona empirycznie.Optymalna wartość F dla większości funkcji leży między 0.4 a 1.0.

Page 8: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)

Mutacja w DE

Całą ewolucją w DE sterują 3 zjawiska:1 wielkość populacji NP,2 waga przyłożona do losowej różnicy F,3 stała operacji krzyżowania CR.

Wygodnym źródłem odpowiednio przeskalowanego zaburzenia jestsama populacja. Dla każdej pary wektorów (Xa, Xb) możnazdefiniować różnicę: Xa i Xb. Kiedy Xa i Xb zostaną wybrane losowo,ich ważoną różnicę można wykorzystać zamiast gaussowskiegoszumu do zakłócenia wartości trzeciego wektora Xc .Xc ’= Xc + F(Xa – Xb)Czynnik skalujący F jest zadaną przez użytkownika stałą z zakresuod 0 do 1.2. Górna granica została wyznaczona empirycznie.Optymalna wartość F dla większości funkcji leży między 0.4 a 1.0.

Page 9: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)

Modyfikacje (zmiany) w DE

W celu zbudowania potomka wykorzystuje się jednego głównego ojcai 2 pomocniczych rodziców. W zasadzie ojciec jest zniekształcanyprzez różnicę między dwoma pomocniczymi rodzicami. Rezultatemtego procesu jest rozwiązanie zwane prototypem/ślademrozwiązania.

Prototyp jest następnie poddawany krzyżowaniu z innym wybranymwcześniej rozwiązaniem w celu wygenerowania potomka. Potomekjest dodawany do populacji jeśli przewyższa wcześniej wybranerozwiązanie. Używając wektorów różnicujących, DE bierze poduwagę informację o kierunku przeszukiwań.

Page 10: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)

Modyfikacje (zmiany) w DE

W celu zbudowania potomka wykorzystuje się jednego głównego ojcai 2 pomocniczych rodziców. W zasadzie ojciec jest zniekształcanyprzez różnicę między dwoma pomocniczymi rodzicami. Rezultatemtego procesu jest rozwiązanie zwane prototypem/ślademrozwiązania.Prototyp jest następnie poddawany krzyżowaniu z innym wybranymwcześniej rozwiązaniem w celu wygenerowania potomka. Potomekjest dodawany do populacji jeśli przewyższa wcześniej wybranerozwiązanie. Używając wektorów różnicujących, DE bierze poduwagę informację o kierunku przeszukiwań.

Page 11: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)Podstawowy mechanizm w DE

Page 12: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)Schemat mutacji w DE

Page 13: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)

Techniki ewolucyjne a DE

W DE stosuje się krzyżowanie niejednorodne, czyli takie, gdzieprzejęcie parametrów od jednego z rodziców następuje wyraźnieczęściej. Konstruując wektory próbne w oparciu o istniejącychczłonków populacji, rekombinacja sprawia, że informacje onajbardziej udanych połączeniach rozprzestrzeniają się w populacji,co pozwala ograniczyć poszukiwania optimum do najbardziejobiecujących okolic.

Strategia akceptacyjna stosowana w DE przypomina nieco metodęturniejową, z tą jednak różnicą, że za każdym razem dziecko spotykasię z jednym ze swoich rodziców, a nie z przypadkowym – lepiejprzystosowanym przeciwnikiem – lepiej dopasowany z takiej parywektorów zostaje przekazany do następnego pokolenia.

Page 14: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)

Techniki ewolucyjne a DE

W DE stosuje się krzyżowanie niejednorodne, czyli takie, gdzieprzejęcie parametrów od jednego z rodziców następuje wyraźnieczęściej. Konstruując wektory próbne w oparciu o istniejącychczłonków populacji, rekombinacja sprawia, że informacje onajbardziej udanych połączeniach rozprzestrzeniają się w populacji,co pozwala ograniczyć poszukiwania optimum do najbardziejobiecujących okolic.Strategia akceptacyjna stosowana w DE przypomina nieco metodęturniejową, z tą jednak różnicą, że za każdym razem dziecko spotykasię z jednym ze swoich rodziców, a nie z przypadkowym – lepiejprzystosowanym przeciwnikiem – lepiej dopasowany z takiej parywektorów zostaje przekazany do następnego pokolenia.

Page 15: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)

Rekombinacja w DE

Każdy wektor z tablicy głównej Xi , dla i=0, 1 jest rekombinowany zwektorem Xc ’, w wyniku czego powstaje wektor próbny Xi ’. Wektorpróbny jest potomkiem dwojga rodziców : losowego wektorazaszumienia i wektora tarczy, z którym zostanie później porównany.

Poczynając od losowo ustalonego parametru źródło każdego zparametrów wektora próbnego ustala się porównując CR z wartościąlosową z [0, 1]. jeśli liczba ta jest większa od CR, wektor próbnyzawdzięcza ten parametr tarczy, Xi ’, w przeciwnym wypadkuźródłem parametru będzie wektor szumu Xc ’. Gdy CR =1 toparametry wektora próbnego pochodzą z Xc ’, gdy zaś CR=0 to tylkojeden parametr pochodzi z Xc ’. Zawsze jest to ostatni parametr.

Page 16: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)

Rekombinacja w DE

Każdy wektor z tablicy głównej Xi , dla i=0, 1 jest rekombinowany zwektorem Xc ’, w wyniku czego powstaje wektor próbny Xi ’. Wektorpróbny jest potomkiem dwojga rodziców : losowego wektorazaszumienia i wektora tarczy, z którym zostanie później porównany.Poczynając od losowo ustalonego parametru źródło każdego zparametrów wektora próbnego ustala się porównując CR z wartościąlosową z [0, 1]. jeśli liczba ta jest większa od CR, wektor próbnyzawdzięcza ten parametr tarczy, Xi ’, w przeciwnym wypadkuźródłem parametru będzie wektor szumu Xc ’. Gdy CR =1 toparametry wektora próbnego pochodzą z Xc ’, gdy zaś CR=0 to tylkojeden parametr pochodzi z Xc ’. Zawsze jest to ostatni parametr.

Page 17: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)Przykład rekombinacji w DE

Page 18: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)

Przykład rekombinacji w DE

W przeciwieństwie do wielu algorytmów genetycznych w DE niestosuje się selekcji proporcjonalnej, czy szeregowania. Tutajporównujemy koszt wektora próbnego z kosztem jego macierzystejtarczy – ten, który ma niższy koszt, zostaje nagrodzonyprzeniesieniem do tablicy pomocniczej, ponadto jeśli zwycięzcą okażesię wektor próbny, jego koszt zostaje zapisany w tablicy cost[i] .

Kiedy mutacja, rekombinacja i selekcja dotknie już wszystkichwektorów z głównej tablicy, zamieniamy wskaźniki do tablic, przezco tablice główna i pomocnicza zamieniają się rolami: teraz wektoryz tablicy pomocniczej zostaną poddane transformacji, zaśpoprzednia tablica główna oczekuje na zwycięzców konkursu znastępnego pokolenia.

Page 19: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)

Przykład rekombinacji w DE

W przeciwieństwie do wielu algorytmów genetycznych w DE niestosuje się selekcji proporcjonalnej, czy szeregowania. Tutajporównujemy koszt wektora próbnego z kosztem jego macierzystejtarczy – ten, który ma niższy koszt, zostaje nagrodzonyprzeniesieniem do tablicy pomocniczej, ponadto jeśli zwycięzcą okażesię wektor próbny, jego koszt zostaje zapisany w tablicy cost[i] .Kiedy mutacja, rekombinacja i selekcja dotknie już wszystkichwektorów z głównej tablicy, zamieniamy wskaźniki do tablic, przezco tablice główna i pomocnicza zamieniają się rolami: teraz wektoryz tablicy pomocniczej zostaną poddane transformacji, zaśpoprzednia tablica główna oczekuje na zwycięzców konkursu znastępnego pokolenia.

Page 20: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)

Badanie funkcji f(x) = 11+p1x+p2x2

Page 21: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)

Rady praktyczne

NP powinno być 5 do 10 razy większe od liczby parametrówtworzących wektor.

F powinno przyjmować wartości od 0.5 , a następnie stopniowopowinno się zwiększać F i/lub NP, jeśli populacja nazbyt szybkoprzestanie się rozwijać. wartości F ¡ 0.4 i F ¿ 1 rzadko okazują sięużyteczne.CR na początku powinno mieć wartość 0.1, następnie 0.9 do 1.0,żeby przekonać się, czy szybko znajdziemy rozwiązanieJak widać istnieje duże pole manewru, pod warunkiem wybraniadobrej kombinacji stałych kontrolujących działanie DE.

Page 22: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)

Rady praktyczne

NP powinno być 5 do 10 razy większe od liczby parametrówtworzących wektor.F powinno przyjmować wartości od 0.5 , a następnie stopniowopowinno się zwiększać F i/lub NP, jeśli populacja nazbyt szybkoprzestanie się rozwijać. wartości F ¡ 0.4 i F ¿ 1 rzadko okazują sięużyteczne.

CR na początku powinno mieć wartość 0.1, następnie 0.9 do 1.0,żeby przekonać się, czy szybko znajdziemy rozwiązanieJak widać istnieje duże pole manewru, pod warunkiem wybraniadobrej kombinacji stałych kontrolujących działanie DE.

Page 23: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)

Rady praktyczne

NP powinno być 5 do 10 razy większe od liczby parametrówtworzących wektor.F powinno przyjmować wartości od 0.5 , a następnie stopniowopowinno się zwiększać F i/lub NP, jeśli populacja nazbyt szybkoprzestanie się rozwijać. wartości F ¡ 0.4 i F ¿ 1 rzadko okazują sięużyteczne.CR na początku powinno mieć wartość 0.1, następnie 0.9 do 1.0,żeby przekonać się, czy szybko znajdziemy rozwiązanie

Jak widać istnieje duże pole manewru, pod warunkiem wybraniadobrej kombinacji stałych kontrolujących działanie DE.

Page 24: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)

Rady praktyczne

NP powinno być 5 do 10 razy większe od liczby parametrówtworzących wektor.F powinno przyjmować wartości od 0.5 , a następnie stopniowopowinno się zwiększać F i/lub NP, jeśli populacja nazbyt szybkoprzestanie się rozwijać. wartości F ¡ 0.4 i F ¿ 1 rzadko okazują sięużyteczne.CR na początku powinno mieć wartość 0.1, następnie 0.9 do 1.0,żeby przekonać się, czy szybko znajdziemy rozwiązanieJak widać istnieje duże pole manewru, pod warunkiem wybraniadobrej kombinacji stałych kontrolujących działanie DE.

Page 25: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)

Zastosowania DE

Niedawno algorytm DE wziął udział w międzynarodowym konkursiedla programów optymalizujących, w którym zastosowano zestaw owiele bardziej złożonych funkcji testowych. DE okazał się byćnajszybszym ze zgłoszonych „zawodników” w kategorii algorytmówewolucyjnych.

DE wykorzystano już w kilku przypadkach do stworzenia złożonychfiltrów cyfrowych, z których największy wymagał dostrojenia 60parametrów.www.ICSI.Berkeley.edu/∼storn/code.html

Page 26: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)

Zastosowania DE

Niedawno algorytm DE wziął udział w międzynarodowym konkursiedla programów optymalizujących, w którym zastosowano zestaw owiele bardziej złożonych funkcji testowych. DE okazał się byćnajszybszym ze zgłoszonych „zawodników” w kategorii algorytmówewolucyjnych.DE wykorzystano już w kilku przypadkach do stworzenia złożonychfiltrów cyfrowych, z których największy wymagał dostrojenia 60parametrów.

www.ICSI.Berkeley.edu/∼storn/code.html

Page 27: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)

Zastosowania DE

Niedawno algorytm DE wziął udział w międzynarodowym konkursiedla programów optymalizujących, w którym zastosowano zestaw owiele bardziej złożonych funkcji testowych. DE okazał się byćnajszybszym ze zgłoszonych „zawodników” w kategorii algorytmówewolucyjnych.DE wykorzystano już w kilku przypadkach do stworzenia złożonychfiltrów cyfrowych, z których największy wymagał dostrojenia 60parametrów.www.ICSI.Berkeley.edu/∼storn/code.html

Page 28: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)

ALGOTYTM DE

DE/rand/I {wariant DE}we: populacja P, par. krzyżowania CR, war. rzecz. Fewoluuj P:

Dla index = 1 do rozmiaru pop.begin

wybierz losowo 3 różne wartości i1, i2, i3,index 6= i1 6=i2 6=i3Dla każdej zmiennej jif Random CRX = P[i][j] + F(P[i2][j] – P[i3][j])else X = P[index][j]if X jest lepszy od P[index], zamień P[index] przez X

endwy: nowa populacja P

Page 29: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)Modyfikacje DE (Shan, Qi, Abbass)

Nową propozycją jest generowanie długości kroku w sposób losowy izapamiętywanie kierunku w populacji, która zmienia się w czasie. Wcelu zapamiętania kierunku kolejny algorytm składa się z dwupopulacji; jedną jest populacja rozwiązań a drugą jest populacjakierunków. Kierunek jest wyznaczany jako różnica między 2rodzicami przedstawiona w pop. algorytmie. Jednakże I rodzic jestwybierany z najlepszej części bieżącej populacji, podczas gdy drugi znich jest wybrany z pozostałej reszty. Rozmiar najlepszej części jestparametrem definiowanym przez użytkownika. To w pewien sposóbzabezpiecza różnorodność w populacji kierunków, przyrównoczesnym skupianiu się na elitaryzmie.

W celu wygenerowania kolejnej populacji, populacja chwilowa jestwykorzystywana do zapamiętania zmodyfikowanych osobników najlepszejczęści bieżącej populacji. Każdy osobnik jest modyfikowany poprzezdodanie do niego losowo wybranych kierunków. To podejścieukierunkowane na elitaryzm, ułatwia nam zachowanie najlepszychosobników bez utraty różnorodności. Populacja chwilowa jest połączona zbieżącą w celu utworzenia następnej populacji poprzez mechanizmwspółdzielenia przystosowania.

Page 30: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)Modyfikacje DE (Shan, Qi, Abbass)

Nową propozycją jest generowanie długości kroku w sposób losowy izapamiętywanie kierunku w populacji, która zmienia się w czasie. Wcelu zapamiętania kierunku kolejny algorytm składa się z dwupopulacji; jedną jest populacja rozwiązań a drugą jest populacjakierunków. Kierunek jest wyznaczany jako różnica między 2rodzicami przedstawiona w pop. algorytmie. Jednakże I rodzic jestwybierany z najlepszej części bieżącej populacji, podczas gdy drugi znich jest wybrany z pozostałej reszty. Rozmiar najlepszej części jestparametrem definiowanym przez użytkownika. To w pewien sposóbzabezpiecza różnorodność w populacji kierunków, przyrównoczesnym skupianiu się na elitaryzmie.W celu wygenerowania kolejnej populacji, populacja chwilowa jestwykorzystywana do zapamiętania zmodyfikowanych osobników najlepszejczęści bieżącej populacji. Każdy osobnik jest modyfikowany poprzezdodanie do niego losowo wybranych kierunków. To podejścieukierunkowane na elitaryzm, ułatwia nam zachowanie najlepszychosobników bez utraty różnorodności. Populacja chwilowa jest połączona zbieżącą w celu utworzenia następnej populacji poprzez mechanizmwspółdzielenia przystosowania.

Page 31: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)

ALGOTYTM II

Inicjalizacja.Ewaluacja wszystkich indywiduów z P1 i posortowanie ich wkolejności malejącej dla wartości przystosowania.Generowanie populacji kierunków w kolejnych krokach:

wybór osobników spośród 20wybór osobników z pozostałych 80wygeneruj kierunek d: d= i +U(0, 1)(i - j), w którym U(0,1) jestzmienną pseudolosową z przedz. (0,1)zmień każdą wart. kierunku d z prawdopodob. CRdodaj tę nowo utworzoną wart. kierunku do populacji kierunków

Zbuduj kolejną populację rozwiązań P2 z tym samym rozmiarem, coP1 poprzez proces wyboru osobnika z 20% najlepszych osobników zP1 i dodania do nich losowo wybranych kierunków z populacjikierunków.

Page 32: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)

ALGOTYTM II (cd)

Oceń wszystkie osobniki w P2, jak również w populacji kierunków.Wartość przystosowania każdego wybranego kierunku jest określonapoprzez wartość przystosowania po użyciu jego w odpowiadającemumu potomku. Jeśli ten kierunek pogarsza f. przystosowania , lub niejest wybrany, przypisuje mu się wartość zero.Połącz P1 z P2 w celu utworzenia nowej populacji P3 tego samegorozmiaru jak P1, poprzez wybór najlepszych z P1+P2. Najlepsi sąokreślani poprzez współdzielenie przystosowania i użycie alpha1 jakowspółczynnika.Zamień P1 z P3.Posortuj P1.Zamień najgorsze 50% kierunków w populacji kierunków z nowowygenerowanymi jak następuje:

Połowa z nich jest generowana losowo z już istniejących kierunkówPozostałość generowana jest jak w kroku 1

idź do punktu 2 aż do spełnienia warunków końcowych.

Page 33: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)Przykład działań DE

Page 34: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)DE - Mathematica

Page 35: Ewolucja różnicowa (DE)155.158.112.25/~algorytmyewolucyjne/materialy/ewolucja... · 2014. 10. 14. · Ewolucja różnicowa (DE) Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska:

Ewolucja różnicowa (DE)

Przykład - SOMA (Ivan Zelinka)