OPTYMALIZACJA WIELOMODALNA
Transkrypt
OPTYMALIZACJA WIELOMODALNA
www.kwmimkm.polsl.pl OBLICZENIA EWOLUCYJNE FITNESS F. COMPUTATION OPTYMALIZACJA WIELOMODALNA START FITNESS F. COMPUTATION INITIAL SUBGenration SENDING CHROM. TO COMPUTERS AND RECEIVING FITNESS F. VALUE chromosome EVOLUTIONARY OPERATORS wykład 6 fitness f. value MIGRATION PHASE communication with other subGenrations FITNESS F. COMPUTATION www.kwmimkm.polsl.pl SELECTION YES TERMINATION CONDITION NO END 1 www.kwmimkm.polsl.pl Cel: Znalezienie pewnej liczbny k jak najlepszych ekstremów lokalnych funkcji wielomodalnych. 2 www.kwmimkm.polsl.pl Podstawowa technika: utrzymywanie różnorodności populacji bazowej. Przeszkoda: globalność selekcji (każdy osobnik konkuruje podczas reprodukcji i sukcesji z każdym innym). f(x) Zapobieganie: Dlaczego? • Dodanie czynnika losowego, niezależnego od stanu populacji (zwykle dodatkowy operator typu mutacji bądź losowe zaburzanie funkcji przystosowania), x Niekiedy dogodne jest znalezienie kilku różnych rozwiązań, by móc wybrać takie, które jest najlepsze z punktu widzenia kryteriów nie zawartych w funkcji celu (np. estetyka rozwiązania). Techniki wyłaniania nisz: osobników znajdujących się blisko siebie w przestrzeni genotypów – wyłanianie nisz). 3 4 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl • Metody polegające na wyróżnianiu podpopulacji na podstawie odległości genotypów; • Metody koewolucyjne (równoczesna ewolucja wielu autonomicznych populacji z częściową wymianą mat. genet.); • Metody dokonujące lokalnej deformacji funkcji przystosowania (np. dodawanie losowego szumu). f(x) • Zmniejszenie zasięgu selekcji (ograniczenie konkurencji do RÓWNOLEGŁOŚĆ W AE f(x) x x5 6 www.kwmimkm.polsl.pl 1. Równoległość na poziomie implementacji: (schemat algorytmu nie zmienia się się): www.kwmimkm.polsl.pl 2. Równoległość na poziomie koncepcji (algorytmy koewolucyjne): • Algorytm wyspowy • Równoległ wnoległe generowanie osobnikó osobników w populacji począ początkowej; – Podpopulacje ewoluują ewoluują (prawie) niezależ niezależnie, ze sporadyczną sporadyczną wymianą wymianą informacji. • Równoległ wnoległe obliczanie funkcji przystosowania; – Parametry ewolucji a nawet funkcja przystosowania mogą mogą być być różne w ró różnych podpopulacjach. podpopulacjach. • Algorytm komó komórkowy (masowo ró równoległ wnoległy, dyfuzyjny) • Równoległ wnoległe wykonywanie operatoró operatorów ewolucyjnych; – Każ Każdy procesor zajmuje się się ewolucją ewolucją jednego osobnika, dla któ którego wyznaczane jest pewne są sąsiedztwo w przestrzeni genotypó genotypów. • Sekwencyjne dokonywanie wyboru nowej populacji (selekcja). Rozproszony AE (W. Kuś) – Ewolucja odbywa się się z uwzglę uwzględnieniem są sąsiedztwa (krzyż (krzyżowanie z losowymi są sąsiadami). 7 8 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl ... START POŁĄCZENIE AE Z METODAMI LOKALNYMI FEM FEM FEM (F. CELU) POPULACJA POCZĄTKOWA chromosom f. celu OPERATORY EWOLUCYJNE PROCES ZARZĄDZAJĄCY MIGRACJA SELEKCJA N WARUNEK ZATRZYMANIA STOP T komunikacja z innymi podpopulacjami Max liczba procesorów: (l. podpopulacji)⋅(l. osobników) 9 10 www.kwmimkm.polsl.pl IDEA: Połączenie nieprecyzyjnego AE z nieodpornymi metodami lokalnymi. Prowadzi to często do uzyskania algorytmu hybrydowego o właściwościach lepszych od każdej z wchodzących w jego skład metod. Funkcja celu 0.25 PUNKT STARTOWY Warianty: • przeszukiwanie lokalne wykonywane podczas obliczania przystosowania osobnika. 0.2 ALGORYTM EWOLUCYJNY 1 • algorytmy, w których metoda lokalna służy do dokończenia obliczeń rozpoczętych przez AE; • wprowadzeniu dodatkowego operatora genetycznego (np. mutacji gradientowej), który sprowadzałby się do wykonania metody lokalnej; www.kwmimkm.polsl.pl Np. metody stosowane kolejno: ALGORYTM EWOLUCYJNY 0.15 ALGORYTM GRADIENTOWY 0.1 OPTIMUM 0.05 PUNKT STARTOWY ALGORYTM EWOLUCYJNY OPTIMUM ALGORYTM GRADIENTOWY ALGORYTM GRADIENTOWY (mutacja gradientowa) 11 0 0 200 400 600 800 1000 Pokolenie 12 www.kwmimkm.polsl.pl SZTUCZNE SIECI NEURONOWE: • Nie wymagają wymagają programoprogramowania (tylko uczenie); uczenie); AE + • Mają Mają zdolność zdolność uogó uogólniania; lniania; • Są wysoce odporne na szumy i zniekształ zniekształcenia sygnał sygnału; Sztuczne sieci neuronowe • Pomagają Pomagają wykrywać wykrywać istotne powią powiązania pomię pomiędzy danymi. Stosuje się się je gdy istnieje duż duża zł złożoność oność zagadnienia i trudno jest jednoznacznie okreś określić lić formalne kryteria, kryteria, dla stworzenia programu komputerowego. 13 2. Wspó Współdział działają ające (metody stosowane jednocześ jednocześnie). nie). • Zastosowanie: system hybrydowy do rozwią czeń ń rozwiązania problemu połą połącze drogowych: SSN – utworzenie populacji pocz. AE – procedura optymalizacyjna www.kwmimkm.polsl.pl AE do wspomagania SSN 1. Wspomagają Wspomagające (metody stosowane kolejno); kolejno); SSN do wspomagania AE (rzadziej). 14 www.kwmimkm.polsl.pl POŁĄ CZENIE AE I SSN: POŁĄCZENIE Ad. 1. (Połą czenia wspomagają (Połączenia wspomagające) www.kwmimkm.polsl.pl (częś ciej). częściej a) AE do przygotowania danych dla SSN; b) AE do wyboru reguł reguły uczenia lub parametró parametrów sterują sterujących uczeniem SSN; ZADANIE SSN DANE (np. populacja pocz.) c) AE do analizy SSN – budowa narzę narzędzi do wyjaś wyjaśnienia dział działania SSN. ZADANIE AE DANE (np. wagi początkowe) SSN ROZWIĄZANIE AE ROZWIĄZANIE Ad. 2. (Połą czenia wspó (Połączenia współdział działają ające) 15 16 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl AE do uczenia SSN • Optymalizacja wag w sieci o ustalonej topologii (przy problemach z liczeniem pochodnych). INNE AE AE do okreś określania topologii SSN • Optymalizacja architektury SSN – poszukiwanie archiarchitektury, któ która dział działa najlepiej dla danego zadania przy zadanym kryterium optymalnoś optymalności. Systemy łącz ące adaptacyjne strategie SSN i AE łączą 1. SSN do zadań zadań optymalizacji i jednocześ jednocześnie AE do ustawiania wag sieci 2. SSN realizuje operacje genetyczne. genetyczne. 17 18 www.kwmimkm.polsl.pl programy, któ które powstają powstają samoczynnie... www.kwmimkm.polsl.pl • Automatyczne generowanie tekstó tekstów programó programów, jeś jeśli znane są są kryteria oceny prawidł prawidłowoś owości dział działania. PROGRAMOWANIE GENETYCZNE • Język bazowy – LISP (program jest reprezentowany w idenidentyczny sposó sposób jak dane - w postaci drzewa). • Kodowanie binarne zastą zastąpiono drzewiastym. drzewiastym. • W wę węzłach mogą mogą znajdować znajdować się się: • symbole pewnego alfabetu; • wartoś wartości liczbowe - dyskretne i cią ciągłe; • stał stałe, zmienne lub funkcje. 19 www.kwmimkm.polsl.pl Operatory genetyczne: uwzglę uwzględnienie specyfiki metody kodowania i umoż umożliwienie modyfikacji: 20 Kodowanie drzewiaste: www.kwmimkm.polsl.pl • Chromosom jest kodowany jako drzewo, skł składają adające się się z węzłów i krawę krawędzi. dzi. • wartoś wartości w wę węzłach drzewa; • struktury drzewa. • Informacja jest zawarta w węzłach, ach, zaś zaś krawę krawędzie okreś określają lają wzajemne relacje pomię pomiędzy wę węzłami. Obecnie: „programowanie genetyczne ” - czę często do okreś określenia wszelkich algorytmó algorytmów wykorzystują wykorzystujących drzewiastą drzewiastą reprezentację reprezentację zadania i modyfikują modyfikujących strukturę strukturę tej reprezentacji, np: np: • Jeś węzła A do B, to A jest Jeśli krawę krawędź jest skierowana od wę nazywany nadrzę nadrzędnym, dnym, B - podrzę podrzędnym. dnym. • Węzły: • terminalne (nie posiadają posiadają węzłów podrzę podrzędnych); • zadanie syntezy drzewa decyzyjnego; • projektowanie ukł układó adów elektronicznych; • regresja symboliczna; • ... • poś pośrednie (nieterminalne). nieterminalne). 21 • Istnieje dokł dokładnie jeden wę węzeł zeł, nie posiadają posiadający nadrzę korzeń drzewa. drzewa. nadrzędnego – korzeń www.kwmimkm.polsl.pl Przykł Przykład 22 www.kwmimkm.polsl.pl Krzyż Krzyżowanie: Funkcja obliczają obliczająca pierwiastki rzeczywiste ró równania kwadratowego: y = ax + bx + c 2 (defun pierwiastki (a b c) ( (setq (setq (delta -( *(b b) *(4 * (a c))))) (if <(delta 0) (setq n 0) ) (if =(delta 0) ( (setq (setq n 1) (setq x1 ( /((/((-b)(* (2 a)))) ) (if >(delta 0) ( (setq (setq n 2) (setq x1 ( /((/((-( -b sqrt(delta) sqrt(delta) )(* (2 a)))))) (setq x2 ( /((+( -b sqrt(delta) sqrt(delta) )(* (2 a)))))) ) ) ) • Jest wykonywane dla pary osobnikó osobników rodzicielskich i prowadzi do powstania pary osobnikó osobników potomnych. setq delta • Z każ każdego z osobnikó osobników rodzicielskich wyodrę wyodrębniany jest losowo wybrany wę węzeł zeł – poś pośredni (wraz ze swoim poddrzewem) lub terminalny. - * b * b 4 * a • Chromosomy potomne powstają powstają w wyniku zamiany powstał powstałych poddrzew. c 23 24 www.kwmimkm.polsl.pl * x + sin y x - 32 sin y + * y x 12 * 2 y 11 • Zamiana wę węzła terminalnego na korzeń korzeń losowego wygenerowanego poddrzewa: / sin + x y / y • Zmiana zawartoś zawartości wę węzła terminalnego: * + www.kwmimkm.polsl.pl Mutacja - warianty: sin * x 12 y 32 + * 2 y y + x y + x 3 25 www.kwmimkm.polsl.pl Mutacja - warianty: - y * x - 4 sin 13 * • Zamiana poddrzewa na inne: 3 y + 12 x cos cos y y sin * 3 x - y www.kwmimkm.polsl.pl Mutacja - warianty: • Reorganizacja poddrzew: • Zamiana korzenia poddrzewa na wę węzeł zeł terminalny: y 26 sin x * 3 x 27 www.kwmimkm.polsl.pl 28 STRATEGIA EWOLUCYJNA (1+1) www.kwmimkm.polsl.pl • Przetwarzany jest tylko jeden chromosom X(t). STRATEGIE EWOLUCYJNE • W każ każdym kroku generowany jest nowy chromosom Y(t) poprzez mutację mutację X(t). • Wartoś Wartości funkcji przystosowania w obu chromosomach są poró porównywane. • Chromosomem X(t+1) staje się się ten, któ którego wartość wartość funkcji przystosowania jest wyż wyższa. 29 30 www.kwmimkm.polsl.pl procedure SE (1+1) begin t:=0 inicjalizacja X(t) ocena X(t) while (not warunek zakończenia) do begin Y(t) := mutacja X(t) ocena Y(t) if ( Y(t) > X(t) ) then X(t+1) := Y(t) else X(t+1) := X(t) t:=t+1 end end www.kwmimkm.polsl.pl • Chromosom Y(t) jest generowany poprzez dodanie losowej modyfikacji (z rozkł rozkładem normalnym) do każ każdego genu chromosomu X(t) : Yi ( t ) = X i ( t ) + σ ⋅ k N kN – zmienna losowa o rozkł rozkładzie normalnym [0,1]. 31 Reguł Reguła 1/5 sukcesó sukcesów: Mutacja w strategii (1+1): www.kwmimkm.polsl.pl 1. Jeś Jeśli przez kolejnych k generacji liczba mutacji zakoń zakończonych sukcesem przewyż przewyższa 1/5 ogó ogólnej liczby wykonanych mutacji, to należ należy zwię zwiększyć kszyć σ = c ⋅ σ . zasię ę g mutacji: zasi i • Wartość większa wartość wartość to Wartość σ okreś określa zasię zasięg mutacji (wię wię większe perturbacje chromosomu bazowego). • Algorytm doboru σ powinien uwzglę uwzględniać dniać wię większy zasię zasięg mutacji w począ początkowej fazie a mniejszy pod koniec dział działania SE. n.p. n.p. reguł reguła 1/5 sukcesó sukcesów... STRATEGIA EWOLUCYJNA (μ (μ+λ) 32 www.kwmimkm.polsl.pl • Jedna z najczęś ciej stosowanych. najczęściej • Bardziej odporna na minima lokalne. • Wprowadzenie mechanizmu samoczynnej adaptacji zasię zasięgu mutacji (zastę (zastępuje regułę regułę 1/5 sukcesó sukcesów). 2. Gdy dokł dokładnie 1/5 mutacji koń kończy się się sukcesem, σ nie wymaga modyfikacji. wartość ść warto • Wprowadzenie operatora krzyż krzyżowania. 3. W przeciwnym przypadku należ należy zawę zawęzić zić zasię zasięg mutacji wedł według wzoru σ = cd ⋅σ. • Wartość Wartość „1/5” został została zaproponowana na podstawie rozważ rozważań teoretycznych. • Wartoś Wartości ustalone eksperymentalnie: cd = 0.82, 0.82, ci = 1/0.82 33 www.kwmimkm.polsl.pl • Przetwarzana jest bazowa populacja P(t) zawierają zawierająca μ osobnikó osobników o specjalnej strukturze. • Nową Nową populację populację bazową bazową tworzy μ najlepszych osobnikó znajdujących się się w osobników wybranych spoś spośród μ+λ znajdują złączeniu łączeniu populacji P(t) i O(t). 34 Struktura osobnika: www.kwmimkm.polsl.pl Dwa chromosomy: procedure SE (μ+λ) begin t:=0 inicjalizacja P(t) ocena P(t) while (not warunek zakończenia) do begin T(t) := reprodukcja P(t) O(t) := krzyżowanie i mutacja T(t) ocena O(t) P(t+1) := μ najlepszych osobników z P(t)∪O(t) t:=t+1 end end 1. Wektor X wartoś wartości zmiennych niezależ niezależnych; 2. (Zwykle) wektor σ zawierają zawierający wartoś wartości standarstandardowych odchyleń odchyleń wykorzystywanych podczas mutacji. Mutacja: • Tró Trójetapowa, zwią związana z samoczynną samoczynną adaptacją adaptacją zasię zasięgu mutacji tak, by minimalizować minimalizować wartość wartość oczekiwaną oczekiwaną czasu dojś dojścia do optimum globalnego. Krzyż Krzyżowanie: 35 • Najczęś ciej uś Najczęściej uśrednianie lub wymiana wartoś wartości wektoró wektorów X i σ chromosomó chromosomów macierzystych – w wyniku powstają powstają 2 chromosomy potomne. 36 STRATEGIA EWOLUCYJNA (μ,λ) www.kwmimkm.polsl.pl • Strategia (μ (μ+λ) zawodzi w przypadku, gdy w populacji znajdzie się się osobnik o wyró wyróżniają niającej się się wartoś wartości f. przystosowania, lecz zbyt duż dużych lub zbyt mał małych wartoś wartościach standardowych odchyleń odchyleń. • Różnica: nica: nowa populacja bazowa jest tworzona wyłą cznie na podstawie osobnikó wyłącznie osobników potomnych z populacji O(t). www.kwmimkm.polsl.pl PROGRAMOWANIE EWOLUCYJNE 37 www.kwmimkm.polsl.pl Ewoluują Ewoluujące automaty, L. Fogel (1966) • Zadanie poszukiwania w przestrzeni automató automatów skoń skończonych o niewielkiej liczbie stanó stanów. 38 www.kwmimkm.polsl.pl Np.: C 1/γ • Automat skoń skończony (finite state machine, FSM) - abstrakcyjny, matematyczny, iteracyjny model zachowania systemu dynamicznego oparty o tablicę tablicę dyskretnych przejść przejść mię między jego kolejnymi stanami (diagram stanó stanów). 1/α 1/γ 0/γ A 0/β B 0/β Jeś Jeśli automat znajduje się się w stanie A, to: • Waż Ważne narzę narzędzie teoretyczne m. in. w tworzeniu i testowaniu oprogramowania. oprogramowania. - podanie na wejś wejście „1” powoduje wypisanie na wyjś wyjściu α i pozostanie w stanie A; • Maszyna Turinga jest generalizacją generalizacją automatu skoń skończonego operują operującą na nieskoń nieskończonej pamię pamięci. - podanie na wejś wejście „0” powoduje wypisanie na wyjś wyjściu β i przejś przejście do stanu B; 39 www.kwmimkm.polsl.pl Laurence Fogel (1966), David Fogel (1980’ (1980’) 40 Dział Działanie algorytmu: www.kwmimkm.polsl.pl • Osobnik (D. Fogel) Fogel) ma 2 chromosomy, chromosomy, drugi zawiera wektor odchyleń odchyleń stand. stand. dla zmiennych niezależ niezależnych; • Odkrywana był była gramatyka nieznanego ję języka, zyka, gdy znany był był zestaw symboli ję języka i przykł przykłady wyraż wyrażeń syntaktycznie poprawnych; • Każ Każdy osobnik tworzy potomka, któ który jest mutowany; • Mutacja: 3 warianty: • Gramatyka modelowana za pomocą pomocą automatu skoń skończonego; czonego; 1) dodanie do genu wartoś wartości zm. losowej o rozkł rozkładzie normalnym; 2) adaptacja zależ zależna od wartoś wartości f. przystosowania; • Poszukiwany zbió zbiór stanó stanów, funkcja przejść przejść i funkcja wyjść wyjść.. 3) samoczynna adaptacja zasię zasięgu (jak w SE); • Selekcja: wybó wybór osobnikó osobników o najwyż najwyższej randze. • Funkcja przystosowania obliczana na podstawie liczby poprawnych syntaktycznie wyraż wyrażeń poznawanego języka. • Ranga osobnika ró równa l. osobnikó osobników o niż niższym przystosowaniu. 41 42 procedure Programowanie Ewolucyjne begin t:=0 inicjalizacja P(t) ocena P(t) while (not warunek zakończenia) do begin O(t) := 0 foreach (X∈P(t)) do begin Y:= mutacja X O(t) := O(t)∪{Y} end ocena O(t) foreach (X∈ P(t)∪O(t)) do begin wyznacz ranga(X) end P(t+1) := wybór najwyższych rangą z P(t)∪O(t) t:=t+1 end end www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl SYSTEMY (ALGORYTMY) MRÓWKOWE 43 44 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl • Mró Mrówki są są praktycznie ślepe, lecz potrafią potrafią znaleźć znaleźć najkró najkrótszą tszą drogę drogę do poż pożywienia i z powrotem. • Ich obserwacja był była inspiracją inspiracją do powstania (Dorigo, Dorigo, 1996) nowego typu algorytmó algorytmów zwanych mró algorithms, ant systems) mrówkowymi (ant algorithms, Zastosowania - zad. optymalizacji kombinatorycznej: • problem komiwojaż komiwojażera; • harmonogramowanie • wyznaczanie tras w sieciach telekomunikacyjnych; • wyznaczanie optymalnych tras w ruchu miejskim. F – food source N - nest 45 46 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl F • Systemy bazują bazujące na inteligencji masowej – populacja mró mrówek (podobnie jak w AE). • Czas (t) jest dyskretny; 1 • Każ Każda mró mrówka w populacji poszukuje rozwią rozwiązania (najkró (najkrótszej drogi). 1 D 0.5 E • Pozostawianie feromonu na trasie. C 1 • Wybó Wybór trasy na podstawie iloś ilości feromonu 0.5 B 1 • Wielokrotne powtarzanie: trasa optymalna. optymalna. 47 • W każdej jednostce czasu każda mrówka przemieszcza się o d = 1 pozostawiając 1 jednostkę feromonu. A • W chwili t = 0 brak feromonu na wszystkich krawędziach. • Znaleźć najkrótszą drogę między A i F... www.kwmimkm.polsl.pl F F 16 z F do A 16 1 1 t=0 1 D t=1 0.5 E 1 C 1 0.5 B D 16 8 0.5 1 C 1 0.5 B 16 1 t=2 E D 8 0.5 0.5 8 8 D 1 16 8 16 16 C 1 B 16 1 16 1 16 1 z A do F 16 A A A A • Proste podąż anie ścież podążanie cieżką z najwię największą kszą iloś ilością cią ferofero-monu – szybkie utknię utknięcie w optimum lokalnym. lokalnym. 0.5 8 1 www.kwmimkm.polsl.pl 8 E C B www.kwmimkm.polsl.pl 16 1 t=2 E 1 16 F F 0.5 8 www.kwmimkm.polsl.pl http://iridia.ulb.ac.be /~mdorigo mdorigo/ACO/ /ACO/ACO.html ACO.html http://iridia.ulb.ac.be/~ • Potrzebna jest eksploracja ścież cieżek – mró mrówki wybierają wybierają ścież cieżki z prawdopodobień prawdopodobieństwem proporcjonalnym do intensywnoś intensywności śladu feromonowego na niej. • To, że mró mrówka wybierze daną daną ścież cieżkę zależ zależy zaró zarówno od intensywnoś intensywności feromonu jak ró również wnież np. np. odległ odległości od nastę następnego miasta (TSP). • W celu zapewnienia braku nieograniczonego wzrostu iloś ilości feromonu – parowanie feromonu. feromonu. 51 52