Ewolucja Różnicowa Differential Evolutionwikizmsi.zut.edu.pl/uploads/7/75/OzWSI_I_S1_c8.pdf ·...

Post on 31-Aug-2021

2 views 0 download

Transcript of Ewolucja Różnicowa Differential Evolutionwikizmsi.zut.edu.pl/uploads/7/75/OzWSI_I_S1_c8.pdf ·...

Arkadiusz KalinowskiSzczecin, 2016

1 / 22

Ewolucja RóżnicowaDifferential Evolution

Obliczenia z wykorzystaniem metod sztucznej inteligencji

Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

2 / 22

Plan

WstępHistoria

Okoliczności powstaniaKrótko o twórcach

ZastosowaniaAlgorytm

KrokiRodzajeZmiennePrzykład

Porównanie z innymi metodami

3 / 22

Wstęp

Differential Evolution

(Źr. 4)

4 / 22

Historia – Okoliczności powstania

Ewolucja różnicowa jest efektem prób rozwiązania przez Kena Price'a problemu wielomianów Czebyszewa podsuniętego przez Rainera Storna, gdy Ken Price wymyślił sposób na zaburzanie populacji wektora wykorzystując do tego różnice wektorowe.

5 / 22

Historia – Okoliczności powstania

Algorytm został oficjalnie opublikowany w 1997 roku wraz z publikacją:

Price, K. and Storn, R. "Differential Evolution." Dr. Dobb's J., Issue 264, 18-24 and 78, Apr. 1997.

jednak społeczność fanów ewolucji różnicowej istniała już

od lat 1994.

6 / 22

Historia – Krótko o twórcach

Rainer Storn

Instytucja:Uniwersytet Berkeley

Kalifornia

Dziedziny:Algorytmy I Teoria

Elektronika I inżynieria elek.Sztuczna Inteligencja

Kenneth V. Price

Instytucja:?

Dziedziny:Sztuczna Inteligencja

Algorytmy I TeoriaInżynieria Chemiczna

7 / 22

Zastosowania

Optymizacja designu mechanicznego.

Chemia

Źr. https://i.ytimg.com/vi/VpXjNerEVTQ/maxresdefault.jpg

Źr. https://en.wikipedia.org/wiki/Chemistry

8 / 22

Zastosowania

Planowanie

Optymalizacja Funkcyjna

Źr. https://upload.wikimedia.org/wikipedia/commons/9/98/Shenzhen_Metro_Map-2030.png

Źr. https://upload.wikimedia.org/wikipedia/commons/e/ea/Visualizat

ion_of_two_dimensions_of_a_NK_fitness_landscape.png

9 / 22

Zastosowania

Design Filtrów, modulatorów

Design Sieci Radiowych

Źr. https://en.wikipedia.org/wiki/Weighting_filter

Źr. http://www.freefoto.com/preview/04-02-84/Television-Transmitter-Tower--Shotleyfield--County-Durham

10 / 22

Zastosowania

Synteza multiprocesorowa

Nauka sieci neuronowych

Źr. http://retis.sssup.it/waters2010/waters2010.pdf

Źr. https://commons.wikimedia.org/wiki/File:Competitive_neural_ne

twork_architecture.png

11 / 22

Algorytm – Kroki

Przebieg pojedyńczej iteracji algorytmu ewolucji różnicowej (DE) (Źr. 3)

12 / 22

Algorytm – Rodzaje

DE/x/y z, gdzie:x – Metoda generacji wagowego wektora różnicowego : Rand – Na podstawie wektora różnicowego dwóch losowo-unikatowych

wektorów obecnej populacji, dodanego do trzeciego losowo- unikatowego wektora obecnej populacji.

Local-to-best – Na podstawie wektora różnicowego dwóch losowo-u nikatowych wektorów obecnej populacji, dodanego do wektora różnicowego najlepszego wektora poprzedniej populacji i wektora poprzedniej populacji, dodanego do wektora poprzedniej populacji.

Best – Na podstawie wektora różnicowego dwóch losowo-unikatowych wektorów obecnej populacji, dodanego do wektora najlepszego poprzedniej populacji.

13 / 22

Algorytm – Rodzaje

DE/x/y z, gdzie:y – Liczba par stosowanych w obliczeniach wektoru różnicowego.

Dowolna liczba całkowita większa od 0.

z – Metoda wspierająca algorytm, używana w celu rozwiązania problemu stagnacji.Jitter – Losowy szum wpływający na wektor różnicowy.Dither – Losowy, równoległy do otrzymanego wektora różnicowego

szum wpływający na ten wektor.Either-or Algorithm – Losowanie metody zaburzenia po każdej

iteracji spośród mutacji I rekombinacji.

14 / 22

Algorytm – Rodzaje

Popularne rodzaje algorytmu:

DE/rand/1

DE/local-to-best/1

DE/best/1 with jitter

DE/rand/1 with per-vector-dither

DE/rand/1 with per-generation-dither

DE/rand/1 either-or-algorithm

15 / 22

Algorytm – Zmienne

Najważniejsze zmienne:

I_D – numer parametrów funkcji celu. Przykładowo dla funkcji f(x,y) I_D = 2.

I_NP – liczba członków populacji. Zalecana liczba to 10*I_D!

I_itermax – maksymalna liczba generacji.

F_weight – waga wektora różnicy. Zalecana liczba w przedziale [0.5 1].

I_strategy – stosowana metoda/rodzaj algorytmu. FVr_minbound / Fvr_maxbound – wartości minimalne / maksymalne

populacji startowej. Zalecane takie, które obejmują obszar gdzie znajduje się nasze wyszukiwane minimum.

F_CR – prawdopodobieństwo zajścia krzyżowania. Liczba w przedziale [0 1].

Fvr_bestmem – Obecna najlepsza populacja. F_VTR – wartość wystarczająca. Algorytm kończy pracę gdy zostanie ona

przekroczona.

16 / 22

Algorytm – Przykład

Źr. https://commons.wikimedia.org/wiki/File:Matlab_Logo.png

Demonstracja w matlabie

17 / 22

Porównanie z innymi metodami

Ewolucja różnicowa vs algorytm genetycznyProblem komiwojażera

Porównanie algorytmu ewolucji różnicowej (DE) i algorytmu genetycznego (GA) dla problemu komiwojażera (Źr. 1 str. 11)

18 / 22

Porównanie z innymi metodami

Ewolucja różnicowa vs algorytm genetycznyProblem n-hetmanów

Porównanie algorytmu ewolucji różnicowej (DE) i algorytmu genetycznego (GA) dla problemu n-hetmanów (Źr. 1 str. 12)

19 / 22

Porównanie z innymi metodami

Plusy DE nad GA:

Dokładniejsze wyniki.

Brak problemu z lokalnymi optymami.

Szybszy i wydajniejszy od GA dla dużych problemów.

Lepsze wyniki dla problemów kombinatorycznych,

dyskretnych.

Minusy DE nad GA:Skończenie 1 generacji DE trwa 4-krotnie dłużej.Wolniejszy od GA dla małych problemów.

20 / 22

Źródła

1. Brian Hegerty, Chih-Cheng Hung, and Kristen Kasprak, A Comparative Study on Differential Evolution and Genetic Algorithms for Some Combinatorial Problems, http://www.micai.org/2009/proceedings/complementary/cd/ws-imso/88/paper88.micai09.pdf, 7.03.2016.

2. Uday K. Chakraborty, Advances in Differential Evolution, Springer 2008

3. http://www1.icsi.berkeley.edu/~storn/code.html, 7.03.2016

4. http://chemweb.bham.ac.uk/~tremaynm/resint.htm, 7.03.2016

Pytania?

21 / 22

Dziękuję