Algorytmy memetyczne i ich zastosowania Maciej Świechowski Promotor: prof. Jacek Mańdziuk
CZYM jest memetyka?
Memetyka Teoria ewolucji kulturowej zakładająca istnienie jednostki informacji kulturowej zwanej memem. (np. idei, przekonania, wzorca zachowania) Analogia: gen - jednostka doboru w ewolucji Darwinowskiej. mem – jednostka doboru w ewolucji kulturowej
Memetyka Teoria ewolucji kulturowej zakładająca istnienie jednostki informacji kulturowej zwanej memem. (np. idei, przekonania, wzorca zachowania) Mem zwany jest również jednostką imitacji.
Motywacja, uzasadnienie? Założenie, że proces ewolucji nie jest zarezerwowany wyłącznie dla biologii.
Różnica ewolucji Geny: Dziedziczowe przez potomków od rodziców Zmiany pojawiają się w kolejnych populacjach Memy: Przechodzą z mózgu do mózgu Do wymiany informacji wystarczy „spotkanie” – zmiany również w obrębie życia osobniczego Szybsze tempo ewolucji!
Memetyka 1976 – R. Dawkins „The Selfish Gene” Pojawia się pojęcie „mem” „What lies at the heart of every living thing is not a fire, not a warm breath, not a ‚spark of life’. It is information, words, instructions.”
Memetyka Stosunkowo młoda i prężnie rozwijająca się dziedzina. 1989 – P. Moscato – pierwsza wzmianka nazwy Memetic Algorithm 1997 – powstaje Journal of Memetics 2012 – 50 700 wyników memetic algorithm* w wyszukiwarce IEEE Stosunkowo młoda i prężnie rozwijająca się dziedzina.
Algorytm memetyczny... ...można widzieć jako: Metodę Inteligencji Obliczeniowej nadaje się do problemów słabo algorytmizowalnych nadaje się do problemów NP nie „twardy” algorytm, a w idei uniwersalny dla wielu zagadnień Algorytm ewolucyjny Algorytm optymalizacyjny bazujący na populacji
Można spotkać w literaturze jako: Memetic Algorithms (MA) Hybrid Evolutionary Algorithms Cultural Algorithms (CA) (Baldwinian, Lamarckian) Evolutionary Algorithms
TRADYCYJNY ALGORYTM GENETYCZNY
Algorytm genetyczny N T Inicjalizacja populacji początkowej (zwykle poprzez losowanie) Ocena każdego osobnika populacji dzięki funkcji przystosowania (selekcja) Rodzi się nowe pokolenie Zastosowanie operatorów ewolucyjnych (mutacja i krzyżowanie) N T Warunek stopu?
Zadania projektowe Wybór metody selekcji Określenie sposobu kodowania parametrów rozwiązania w postaci chromosomu Zaprojektowanie funkcji przystosowania (oceny) [ang. fitness function] Wybór metody selekcji metoda ma za zadanie wybrać osobniki do dalszych faz ewolucji Określenie operatorów mutacji i krzyżowania
Kodowanie chromosomów Kodujemy parametry problemu w chromosomach, aby metoda ‚działała sama’ i przeszukiwała potencjalną przestrzeń rozwiązań. operatory ewolucyjne modyfikują parametry osobników
Kodowanie chromosomów Problem trudny, od którego istotnie zależy jakość przeszukiwania, w szczególności osiągalność potencjalnych rozwiązań. Często spotykane reprezentacje: wektor lub macierz bitów (np. zestaw liczb zapisanych binarnie) drzewa genetyczne, gdzie operatory przepinają węzły w drzewie
Funkcja przystosowania Miara rozwiązania problemu np. wartość minimalizowanej funkcji... odległość od pewnego punktu... koszt wytworzenia pewnego urządzenia... długość drogi w grafie... ściśle zależy od typu zadania.
Selekcja Wiele strategii, np. metoda ruletkowa metoda turniejowa (stochastyczne jednorodne próbkowanie) metoda turniejowa metoda k-najlepszych (odcięciowa) metoda losowa metody hybrydowe np. k-najlepszych + m-losowych np. tylko na część mają prawo działać operatory ewolucyjne
Podstawowe operatory ewolucyjne Krzyżowanie (rekombinacja) wymiana informacji pomiędzy genotypami osobników bez dodawania nowych cech z zewnątrz osobniki reprezentują pewne zestawy cech i chcemy przeszukiwać ich nowe k Mutacja wprowadzanie drobnych losowych zmian w zakodowanych genach celem szersza eksploracja przestrzeni oraz zapobieganie przedwczesnej zbieżności
Wady algorytmów genetycznych Częstym problemem jest przedwczesna zbieżność i stagnacja populacji W szerokiej gamie zagadnień, metoda ma tendencję do zbiegania tylko do lokalnych ekstremów Lokalizacja otoczenia ekstremów owszem, ale algorytmowi niezwykle ciężko jest znaleźć dokładne rozwiązanie (nie taka jest idea GA) Słaba skalowalność wraz ze wzrostem złożoności modelu i kodowania chromosomów. - zwłaszcza jeśli mutacja ma duży zasięg
Wady algorytmów genetycznych Rozległe (zbyt wielowymiarowe) kodowanie osobników oraz obliczanie funkcji oceny dla każdego osobnika – często sprawia, że algorytmy genetyczne są za wolne w wielu zastosowaniach (np. gry real-time) Problem omijania przeszkód w przestrzeni rozwiązań, czyli pewnych zabronionych obszarów. Niska efektywność w problemach, gdzie funkcja oceny jest tylko decyzją TAK/NIE. Brakuje wskazówki jak się zbliżać do rozwiązania.
ALGORYTMy MEMETYCZNE
Różnica ewolucji Idea: hybrydyzacja Geny: Dziedziczowe przez potomków od rodziców Zmiany pojawiają się w kolejnych populacjach Memy: Przechodzą z mózgu do mózgu Do wymiany informacji wystarczy „spotkanie” – zmiany również w obrębie życia osobniczego Szybsze tempo ewolucji! Idea: hybrydyzacja
Hybrydyzacja Wprowadzenie lokalnej optymalizacji: klasyczna część genetyczna: eksploracja lokalna część memetyczna: eksploitacja Wprowadzenie algorytmów wykorzystujących wiedzę o problemie do poprawy osobników pomiędzy generowaniem nowych populacji (tutaj idea memetyki)
Kilka generacji algorytmów memetycznych Algorytmy memetyczne nie mają jednej, ścisłej postaci - to pewna klasa algorytmów bazująca na przedstawionej wcześniej idei. [Moscato P. 1989] – pierwsza generacja MA – dodanie do cyklu ewolucji metody lokalnego poprawiania [Smith J.E. 2007] – złożone strategie memetyczne realizujące koncepcję uniwersalnej ewolucji.
Algorytm hybrydowy N T MA - 0 Inicjalizacja populacji początkowej (zwykle poprzez losowanie) Ocena każdego osobnika populacji dzięki funkcji przystosowania (selekcja) MA - 1 Rodzi się nowe pokolenie Zastosowanie operatorów ewolucyjnych (mutacja i krzyżowanie) MA - 2 N T Warunek stopu? MA - 4 Lokalne przeszukiwanie
Lokalne przeszukiwanie Zależy od problemu, które rozwiązuje Może być umieszczone: na początku w celu wygenerowania potencjalnie lepszej populacji wejściowej (before) w fazie oceny przystosowania, tuż przed selekcją (interleaved) po mutacji i krzyżowaniu korzystając z nowego punktu startowego do przeszukiwania (interleaved) po zakończeniu fazy ewolucyjnej do ostatecznego poprawienia rozwiązania (after)
Początkowa populacja Przykładowe strategie: wylosuj N osobników zgodnie z jednorodnym rozkładem i popraw każdego metodą lokalnego przeszukiwania Wylosuj N osobników, popraw lokalnym przeszukiwaniem, wybierz K << N najlepszych, a pozostałe N – K sklonuj z operatorem mutacji przemieszaj losową populacje z rozwiązaniami heurystycznymi (niekoniecznie bardzo dobrze rozwiązującymi problem)
Lokalne przeszukiwanie Przeszukiwanie umieszczone wewnątrz (typu interleaved) musi: Operować na kodowaniu chromosomów lub Rozkodować chromosom, operować we własnej przestrzeni i zakodować nowy wynik z powrotem jako chromosom
Lokalne przeszukiwanie Podejmowane z pewnym prawdopodobieństwem ∈[0,1] Warunkiem końca może być m.in.: stała ilość iteracji lokalnego przeszukiwania spadek funkcji przystosowania poniżej ustalonego progu zbyt duży spadek lub zbyt mały wzrost funkcji przystosowania heurystyka historyczna
Lokalne przeszukiwanie Przeszukiwanie umieszczone wewnątrz może ingerować w operatory krzyżowania i mutacji: mutacja/krzyżowanie w określonym kierunku. [Krasnogor, 2002] – optymalizacja lokalna umieszczona przed selekcją powinna się różnić od tej, która wpływa na operatory: Bardziej efektywne przeszukiwanie przestrzeni Oddzielenie roli mutacji i krzyżowania od lokalnej poprawy
NAJNOWSZE TRENDY
Założenia uniwersalnej ewolucji Zmienność: Różnorodność Dziedziczenie
Założenia uniwersalnej ewolucji Zmienność: jako ciągły proces wynikająca z doboru naturalnego – zmiany ku lepszemu przystosowaniu Różnorodność genetyczna Dziedziczenie w szczególności wszystkie osobniki są ze sobą spokrewnione dzięki wspólnemu przodkowi
Założenia uniwersalnej ewolucji Zmienność: jako ciągły proces wynikająca z doboru naturalnego – zmiany ku lepszemu przystosowaniu Różnorodność genetyczna implikuje zdolność do nabywania nowych cech wynika z różnych potrzeb przystosowania Dziedziczenie w szczególności wszystkie osobniki są ze sobą spokrewnione dzięki wspólnemu przodkowi
Najnowsze trendy Materiał memetyczny jest zakodowany i umieszczenie w części genotypu Lokalna procedura poprawy implikowana jest przez zakodowany mem. Mem jest oceniany (nagradzany lub karany) jeśli procedura, którą generuje zwiększa przystosowanie osobnika. Część genotypu zawierająca mem niezależnie podlegają dziedziczeniu oraz (opcjonalnie) operatorom ewolucji.
Najnowsze trendy 1 generacja: 2 generacja: 3 generacja: Statyczna, znana a priori metoda lokalnej poprawy. 2 generacja: Ewoluująca, znana a priori metoda lokalnej poprawy. 3 generacja: Ewoluująca i samoucząca się metoda lokalnej poprawy. (w ten sposób spełnienie warunków uniwersalnej ewolucji)
Dwa modele dziedziczenia Lamarkianizm Osobniki bezpośrednio przekazują swoje chechy memetyczne potomstwu. Baldwinizm Cześć genotypu związana z memami nie jest przekazywana. Zamiast tego ocena przystosowania potomka jest wynikiem lokalnej optymalizacji rodzica.
Co z tego wynika? Lamarkianizm Procedura lokalnej poprawy uczy się dla każdej linii osobników. Baldwinizm Procedura lokalnej poprawy nadaje kierunek ewolucji (w klasycznym sensie).
ZASTOSOWANIA ALGORYTMÓW MEMETYCZNYCH
Zastosowania algorytmów memetycznych Klasyczne problemy kombinatoryczne, w szczególności problemy z klasy NP między innymi: podziały grafowe problem plecakowy (oraz decyzyjny problem plecakowy) problem komiwojażera marszrutyzacja znajdowanie pokrycia zbioru znajdowanie największego zbioru niezależnego kolorowanie grafów ...
Zastosowania algorytmów memetycznych Optymalizacja wielokryterialna Znajdowanie drogi (np. trasy robotów mobilnych) Optymalizacja kształtu w projektowaniu (np. częsci samolotów, kalibracja silników) Projektowanie obwodów elektrycznych, redukcja złożoności i kosztu
Zastosowania algorytmów memetycznych Harmonogrowanie zadań (scheduling) Optymalne systemy sterujące Opracowywanie struktur atomowych i molekularnych Uczenie maszynowe, uczenie sieci neuronowych
Zastosowania algorytmów memetycznych [H. Ishibuchi, T. Yoshida, and T. Murata: “Balance between genetic search and local search in memetic algorithms for multiobjective permutation flowshop scheduling” ‖ IEEE Transaction on Evolutionary Computation, vol. 7, no. 2, pp. 204-223, 2003.] [T. Ke, M. Yi, and Y. Xin: “Memetic Algorithm With Extended Neighborhood Search for Capacitated Arc Routing Problems”, ‖ IEEE Transactions on Evolutionary Computation, vol. 13, no. 5, pp. 1151-1166, 2009.]
Zastosowania algorytmów memetycznych [A. Caponio, G. L. Cascella, F. Neri, N. Salvatore, and M. Sumner: “A Fast Adaptive Memetic Algorithm for Online and Offline Control Design of PMSM Drives”, IEEE Transactions on Systems, Man, and Cybernetics, Part B: Cybernetics, vol. 37, no. 1, pp. 28-41, 2007] [A. S. S. M. B. Ullah, R. Sarker, D. Cornforth, and C. Lokan, "An agent-based memetic algorithm (AMA) for solving constrained optimization problems," In IEEE Congress on Evolutionary Computation, 2007, pp. 999–1006.]
Przykład “Wielokryterialna optymalizacja pracy systemu wytwarzania o strukturze przepływowej” [Żelazny D., Politechnika Wrocławska] Problem: Zbiór m maszyn M = {1,2,…,m} Zbiór n niepodzielnych zadań J = {1,2,..,n) Zbiór operacji O = { (i,j): I ∈ M, j ∈𝑱 Każda operacja wykonuje się w pewnym niezerowym czasie.
Przykład Cel: Takie uszeregowanie zadań aby minimalizować dwie funkcje kryterialne – średni 𝑪 𝒂𝒗𝒈 oraz maksymalny 𝑪 𝒎𝒂𝒙 czasu przepływu. Algorytm genetyczny: PMX: operator krzyżowania Random swap: mutacja
Lokalne przeszukiwanie Po wygenerowaniu nowego potomstwa włączenie algorytmu zwanego (LS NSGA-II) Local Search Elitist Non-dominated Sorting Genetic Algorithm.
PRZYK
Uniwersalne metody lokalnego przeszukiwania Metody gradientowe LS NSGA-II BFGS (Broyden–Fletcher–Goldfarb–Shanno) - metoda quasi-Newtonowska Hill-Climbing HCS (Hill-Climbing with Sidestep) CMA-ES (Covariance Matrix Adaptaion Evolution Strategy)
Uniwersalne metody lokalnego przeszukiwania Omijanie przeszkód i obszarów zabronionych (w dziedzinie danego problemu) Małe losowe, lokalne zmiany w strukturze grafów w przypadku problemów grafowych np. usuwanie wierzchołków np. badanie ustalonego sąsiedztwa w celu znalezienia ‘lepszych’ krawędzi cokolwiek w danym zagadnieniu to znaczy
DZIĘKUJĘ ZA UWAGĘ