ewolucja różnicowa differential evolutionwikizmsi.zut.edu.pl/uploads/7/75/ozwsi_i_s1_c8.pdf ·...
TRANSCRIPT
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ę