Niszowanie jako jedna z technik zapobiegających zjawisku przedwczesnej zbieżności AE.
Download ReportTranscript 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ę