Niszowanie jako jedna z technik zapobiegających zjawisku przedwczesnej zbieżności AE.

Download Report

Transcript Niszowanie jako jedna z technik zapobiegających zjawisku przedwczesnej zbieżności AE.

Niszowanie jako jedna z
technik zapobiegających
zjawisku przedwczesnej
zbieżności AE.
Marcin Pilarski
[email protected]
Agenda
• optymalizacja wielomodalna
• przedwczesna zbieżność i metody jej
zapobiegania
• niszowanie i modyfikacja funkcji
przystosowania
• niszowanie równoległe i sekwencyjne
• funkcje testowe i wyniki
Optymalizacja
wielomodalna
• Funkcja przystosowania może nie
oddawać wszystkich wymagań
stawianych w wymaganym rozwiązaniu
np. poprzez świadome uproszczenia ...
• Nie zerowe prawdopodobieństwo
istnienia maksimum lokalnego „lepszego”
od maksimum globalnego np. przy
rozwiązywaniu zadań inżynierskich
Optymalizacja
wielomodalna
• czasami warto jest prowadzić
poszukiwania rozwiązań optymalnych lub
suboptymalnych równocześnie w wielu
obszarach zbioru dopuszczalnego.
• sprowadza się do znalezienia jak
największej liczby jak najlepszych,
różnych maksimów lokalnych.
Przedwczesna
zbieżność
• występuje, kiedy algorytm ewolucyjny
traci zdolność przeszukiwania
przestrzeni chromosomów przed
osiągnięciem maksimum globalnego ...
• wynika bezpośrednio z nacisku
selektywnego, a więc nie można
całkowicie jej wyeliminować ...
Metody zapobiegania
przedwczesnej
zbieżności – techniki
• połączenie algorytmu ewolucyjnego i
przeszukiwań lokalnych
• techniki związane z czasem życia osobników.
• metody uzależniające nacisk selektywny od
genotypu (nie tylko od przystosowania
osobnika)
• metody deformujące funkcję
przystosowania
Przeszukiwanie
lokalne
• może występować jako
jeden z operatorów
genetycznych
• chromosom danego
osobnika jest
traktowany jako punkt
startowy, a wynikiem
jest modyfikacja
chromosomu.
Zalety:
• można wykorzystać
dodatkowe „dostępne”
informacje np. gradient
funkcji przystosowania
• optymalizacja lokalna
nie musi być dokładna
Czas życia
osobników
Limitowanie czasu życia
• ustalony maksymalny
czas życia osobników
• schemat sukcesji
 , ,  
• brak jasnych wskazówek
dotyczących doboru K
Selekcja sterowana
czasem życia
• liczność populacji
zmienna tak aby
„pomieścić” wszystkie
żywe osobniki.
• funkcja „odliczania
czasu” :
– liniowa
– biliniowa
Niszowanie –
„stary” pomysł
• Mahfound Samir: A comparision of parallel
and sequential niching methods, Proceedings
1st International Conference on Genetic
Algorithms ICGA ’95 str. 144-150
• Nowsze podejście – niszowanie koewolucyjne
(dwie populacje z innymi funkcjami
przystosowania wymieniające się osobnikami)
- pierwsze publikacje ‘97
Niszowanie - idea
działania
• wykorzystuje metodę deformacji funkcji
przystosowania.
• idea deformacji polega na uruchamianiu
lokalnej metody optymalizacji w otoczeniu
ekstremów lokalnych
• po osiągnięciu maksimum lokalnego
deformujemy funkcję przystosowania tak aby
uniemożliwić ponowne dojście do tego punktu
Modyfikacja funkcji
przystosowania
występuje w dwóch rodzajach:
• poprzez dodanie funkcji deformującej
• poprzez wymnożenie dotychczasowej
funkcji przystosowania
Wynik niszowania
Parametry:
• Parametry niszowania:
– stromość funkcji deformującej
– zasięg deformacji
• Istotne znaczenie ma właściwy dobór zasięgu
deformacji.
– Zbyt mały promień zasięgu powoduje powstanie
dodatkowych maksimów funkcji przystosowania.
– Zbyt duży może powodować przesunięcie położeń
lub zanik maksimów lokalnych.
Niszowanie
równoległe
• znajdowanie rozwiązań winno odbywać
się w trakcie każdego uruchomienia
algorytmu ewolucyjnego
• tj. wszyscy/większość osobników winno
się znajdować w obszarach przyciągania
różnych maksimów globalnych (lub
lokalnych)
Algorytm niszowania
równoległego
Niszowanie
sekwencyjne
• znajdowanie maksimów globalnych po
kolei.
• najpierw zostaje znalezione maksimum
globalne, następnie AE przenosi
populację w obszary gdzie mogą
potencjalnie znajdować się inne
maksima globalne.
Algorytm niszowania
sekwencyjnego
Funkcja Ackley’a
• jedno minimum
globalne
• wiele minimów
lokalnych z
wartościami coraz
większymi im
bardziej oddalonymi
od centrum
Funkcja Shubert’a
• wiele równorzędnych
maksimów i minimów
globalnych
• dla funkcji 2
wymiarowej na
przestrzeni <-32;32>
18 sztuk
minimów/maksimów
globalnych
•
•
•
•
•
Przykładowe
parametry algorytmu
ewolucyjnego
Liczność populacji = 50
Sukcesja  prosta
Reprodukcja  Turniejowa ze zwracaniem
Wielkość turnieju = 10
Warunek Stopu  Przekroczenie max liczby
generacji = 400
• ograniczenia kostkowe 2D <-10 10>
• Krzyżowanie jednopunktowe
Funkcja Ackley’a
równoległe
• wraz ze wzrostem
promienia niszowania
następuje
rozproszenie
populacji tak, że nie
jest ona w stanie
znaleźć rozwiązania
globalnego
Funkcja Ackley’a
równoległe cd ...
• promień niszy można
dobierać na
podstawie zerowania
się gradientu funkcji
przystosowania
Funkcja Ackley’a
sekwencyjnie
• kolor czerwony
„czysty” algorytm
ewolucyjny
• kolor zielony
niszowanie dla
promienia niszy 0.5
• kolor niebieski
niszowanie dla
promienia 5
Funkcja Shubert’a
sekwencyjnie
• kolor czerwony
„czysty” algorytm
ewolucyjny
• kolor zielony
niszowanie dla
promienia niszy 0.1
• kolor niebieski
niszowanie dla
promienia 0.3
Wnioski niszowanie
równoległe
• Zwiększa zróżnicowanie populacji, ale
średnie odchylenie jest niewiele
większe niż dla podstawowego AE.
• Nawet najlepsze maksima globalne
osiągnięte dla niszowania równoległego
są gorsze niż dla zwykłego algorytmu
ewolucyjnego.
• Ilość wywołań funkcji celu jest większa.
Wnioski niszowanie
sekwencyjne
• Zwiększa zróżnicowanie populacji.
• Więcej osiągniętych maksimów
globalnych dla funkcji Shubert’a niż w
standartowym AE.
• Duża czasochłonność tego typu
niszowania. (Długi czas potrzebny do
zlokalizowania wielu maksimów
globalnych)
Bibliografia
• Jarosław Arabas : „Wykłady z algorytmów ewolucyjnych” –
Warszawa WNT 2001
• Jarosław Arabas : „Algorytmy ewolucyjne ze zmienną licznością
populacji i zmiennym zasięgiem krzyżowania” Rozprawa
doktorska Warszawa, PW 1995
• Jacek Stefan Leśniewski : „Porównanie Algorytmów
ewolucyjnych do optymalizacji wielomodalnej” Praca inżynierska,
Warszawa PW 2000
• Michalewicz Zbigniew : „Algorytmy ewolucyjne + struktury
danych = programy ewolucyjne” Warszawa WNT 1995
• Jarosław Arabas: oprogramowanie gabi –
http://elektron.elka.pw.edu.pl/~jarabas/
Dziękuję za
uwagę