OPTYMALIZACJA WIELOMODALNA OBLICZENIA EWOLUCYJNE FITNESS F. START COMPUTATION FITNESS F. COMPUTATION INITIAL SUBPOPULATION SENDING CHROM. TO COMPUTERS chromosome AND RECEIVING FITNESS F. EVOLUTIONARY OPERATORS VALUE fitness f. value wkład 5 FITNESS F. communication COMPUTATION with other subpopulations MIGRATION PHASE SELECTION YES TERMINATION CONDITION NO END 1 Cel: Znalezienie pewnej liczbn k jak najlepszch ekstremów lokalnch funkcji wielomodalnch. Dlaczego? f(x Niekied dogodne jest znalezienie kilku różnch rozwiązań, b móc wbrać takie, które jest najlepsze z punktu widzenia krteriów nie zawartch w funkcji celu (np. estetka rozwiązania. x 2 Podstawowa technika: utrzmwanie różnorodności populacji bazowej. Przeszkoda: globalność selekcji (każd osobnik konkuruje podczas reprodukcji i sukcesji z każdm innm. Zapobieganie: Dodanie cznnika losowego, niezależnego od stanu populacji (zwkle dodatkow operator tpu mutacji bądź losowe zaburzanie funkcji przstosowania, Zmniejszenie zasięgu selekcji (ograniczenie konkurencji do osobników znajdującch się blisko siebie w przestrzeni genotpów włanianie nisz. 3 Techniki właniania nisz: Metod polegające na wróżnianiu podpopulacji na podstawie odległości genotpów; Metod koewolucjne (równoczesna ewolucja wielu autonomicznch populacji z częściową wmianą mat. genet.; Metod dokonujące lokalnej deformacji funkcji przstosowania (np. dodawanie losowego szumu. Efekt: f(x x f(x x 4 RÓWNOLEGŁOŚĆ W AE 1. Równoległość na poziomie implementacji: (schemat algortmu nie zmienia się: Równoległe generowanie osobników w populacji początkowej; Równoległe obliczanie funkcji przstosowania; Równoległe wkonwanie operatorów ewolucjnch; Sekwencjne dokonwanie wboru nowej populacji (selekcja. 2. Równoległość na poziomie koncepcji (algortm koewolucjne: Algortm wspow Podpopulacje ewoluują (prawie niezależnie, ze sporadczną wmianą informacji. Parametr ewolucji a nawet funkcja przstosowania mogą bć różne w różnch podpopulacjach. Algortm komórkow (masowo równoległ, dfuzjn Każd procesor zajmuje się ewolucją jednego osobnika, dla którego wznaczane jest pewne sąsiedztwo w przestrzeni genotpów. Ewolucja odbwa się z uwzględnieniem sąsiedztwa (krzżowanie z losowmi sąsiadami. 1
2. Równoległość na poziomie koncepcji (algortm koewolucjne: Algortm wspow Podpopulacje ewoluują (prawie niezależnie, ze sporadczną wmianą informacji. Parametr ewolucji a nawet funkcja przstosowania mogą bć różne w różnch podpopulacjach. Algortm komórkow (masowo równoległ, dfuzjn Każd procesor zajmuje się ewolucją jednego osobnika, dla którego wznaczane jest pewne sąsiedztwo w przestrzeni genotpów. Ewolucja odbwa się z uwzględnieniem sąsiedztwa (krzżowanie z losowmi sąsiadami. Rozproszon AE (W. Kuś N START POPULACJA POCZĄTKOWA OPERATORY EWOLUCYJNE MIGRACJA SELEKCJA WARUNEK ZATRZYMANIA STOP T FEM FEM (F. CELU FEM chromosom PROCES f. celu ZARZĄDZAJĄCY komunikacja z innmi podpopulacjami... Max liczba procesorów: (l. podpopulacji (l. osobników 8 8 POŁĄCZENIE AE Z METODAMI LOKALNYMI: Połączenie niepreczjnego AE z nieodpornmi metodami lokalnmi. Prowadzi to często do uzskania algortmu hbrdowego o właściwościach lepszch od każdej PUNKT z wchodzącch w jego skład metod. STARTOWY Wariant: algortm, w którch metoda lokalna służ do dokończenia obliczeń rozpoczętch przez AE; wprowadzeniu dodatkowego operatora genetcznego (np. mutacji gradientowej, któr sprowadzałb się do wkonania metod lokalnej; przeszukiwanie lokalne wkonwane podczas obliczania przstosowania osobnika. PUNKT STARTOWY EWOLUCYJNY OPTIMUM EWOLUCYJNY GRADIENTOWY OPTIMUM GRADIENTOWY (mutacja gradientowa 9 9 Np. metod stosowane kolejno: Funkcja celu 0.25 0.2 0.15 0.1 0.05 0 EWOLUCYJNY GRADIENTOWY 0 200 400 600 800 1000 Pokolenie 10 PROGRAMOWANIE GENETYCZNE program, które powstają samocznnie... Automatczne generowanie tekstów programów, jeśli znane są krteria ocen prawidłowości działania. INNE AE 11 Jęzk bazow LISP (program jest reprezentowan w identczn sposób jak dane w postaci drzewa. Kodowanie w postaci łańcucha binarnego zastąpiono drzewiastm. W węzłach mogą znajdować się: smbole pewnego alfabetu; wartości liczbowe dskretne i ciągłe; stałe, zmienne lub funkcje. 12 2
Operator genetczne: uwzględnienie specfiki metod kodowania i umożliwienie modfikacji: wartości w węzłach drzewa; struktur drzewa. Obecnie: programowanie genetczne często do określenia wszelkich algortmów wkorzstującch drzewiastą reprezentację zadania i modfikującch strukturę tej reprezentacji, np: zadanie sntez drzewa deczjnego; projektowanie układów elektronicznch; regresja smboliczna;... 13 Kodowanie drzewiaste: Chromosom jest kodowan jako drzewo, składające się z węzłów i krawędzi. Informacja jest zawarta w węzłach, zaś krawędzie określają wzajemne relacje pomiędz węzłami. Jeśli krawędź jest skierowana od węzła A do B, to A jest nazwan nadrzędnm, B podrzędnm. Węzł: terminalne (nie posiadają węzłów podrzędnch; pośrednie (nieterminalne. Istnieje dokładnie jeden węzeł, nie posiadając nadrzędnego korzeń drzewa. 14 Przkład Funkcja obliczająca pierwiastki rzeczwiste równania kwadratowego: (defun pierwiastki (a b c ( (setq (delta ( (b b (4 (a c (if <(delta 0 (setq n 0 (if =(delta 0 ( (setq n 1 (setq x1 ( /((b( (2 a (if >(delta 0 ( (setq n 2 (setq x1 ( /((( b sqrt(delta ( (2 a (setq x2 ( /((+( b sqrt(delta ( (2 a setq delta b b 4 a c Krzżowanie: Jest wkonwane dla par osobników rodzicielskich i prowadzi do powstania par osobników potomnch. Z każdego z osobników rodzicielskich wodrębnian jest losowo wbran węzeł pośredni (wraz ze swoim poddrzewem lub terminaln. Chromosom potomne powstają w wniku zamian powstałch poddrzew. 15 16 Mutacja wariant: + x 32 + x 12 x Zmiana zawartości węzła terminalnego: + + x 11 2 / 12 x / 32 2 Zamiana węzła terminalnego na korzeń losowego wgenerowanego poddrzewa: + x + + x 3 17 17 18 18 3
Mutacja wariant: Mutacja wariant: Zamiana korzenia poddrzewa na węzeł terminaln: Reorganizacja poddrzew: 4 x 13 cos cos Zamiana poddrzewa na inne: 3 x 3 x + 12 x 3 x 19 19 20 20 STRATEGIE EWOLUCYJNE STRATEGIA EWOLUCYJNA (1+1 Przetwarzan jest tlko jeden chromosom X(t. W każdm kroku generowan jest now chromosom Y(t poprzez mutację X(t. Wartości funkcji przstosowania w obu chromosomach są porównwane. 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 thenx(t+1 :=Y(t else X(t+1 := X(t t:=t+1 end end Chromosomem X(t+1 staje się ten, którego wartość funkcji przstosowania jest wższa. 21 22 Mutacja w strategii (1+1: Chromosom Y(t jest generowan poprzez dodanie losowej modfikacji (z rozkładem normalnm do każdego genu chromosomu X(t : k N zmienna losowa o rozkładzie normalnm [0,1]. Wartość σ określa zasięg mutacji (większa wartość to większe perturbacje chromosomu bazowego. Algortm doboru σ powinien uwzględniać większ zasięg mutacji w początkowej fazie a mniejsz pod koniec działania SE. n.p. reguła 1/5 sukcesów... 23 Reguła 1 / 5 sukcesów: 1. Jeśli przez kolejnch k generacji liczba mutacji zakończonch sukcesem przewższa 1 / 5 ogólnej liczb wkonanch mutacji, to należ zwiększć zasięg mutacji: σ = c i σ. 2. Gd dokładnie 1 / 5 mutacji kończ się sukcesem, wartość σ nie wmaga modfikacji. 3. W przeciwnm przpadku należ zawęzić zasięg mutacji według wzoru σ = c d σ. Wartość 1 / 5 została zaproponowana na podstawie rozważań teoretcznch. Wartości ustalone ekspermentalnie: c d = 0.82, c i = 1/0.82 24 4
STRATEGIA EWOLUCYJNA (µ+λ Jedna z najczęściej stosowanch. Bardziej odporna na minima lokalne. Wprowadzenie mechanizmu samocznnej adaptacji zasięgu mutacji (zastępuje regułę 1/5 sukcesów. Wprowadzenie operatora krzżowania. Przetwarzana jest bazowa populacja P(t zawierająca µ osobników o specjalnej strukturze. Nową populację bazową tworz µ najlepszch osobników wbranch spośród µ+λ znajdującch się w złączeniu populacji P(t i O(t. 25 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 := krzżowanie i mutacja T(t ocena O(t P(t+1 := µ najlepszch osobników z P(t O(t t:=t+1 end end 26 Struktura osobnika: Dwa chromosom: 1. Wektor X wartości zmiennch niezależnch; 2. (Zwkle wektor σ zawierając wartości standardowch odchleń wkorzstwanch podczas mutacji. Mutacja: Trójetapowa, związana z samocznną adaptacją zasięgu mutacji tak, b minimalizować wartość oczekiwaną czasu dojścia do optimum globalnego. Krzżowanie: Najczęściej uśrednianie lub wmiana wartości wektorów X i σ chromosomów macierzstch w wniku powstają 2 chromosom potomne. 27 STRATEGIA EWOLUCYJNA (µ,λ Strategia (µ+λ zawodzi w przpadku, gd w populacji znajdzie się osobnik o wróżniającej się wartości f. przstosowania, lecz zbt dużch lub zbt małch wartościach standardowch odchleń. Różnica: nowa populacja bazowa jest tworzona włącznie na podstawie osobników potomnch z populacji O(t. 28 PRZYKŁADY ZASTOSOWAŃ AE 29 UKŁADANIE PLANU LEKCJI Jest problemem należącm do klas NPtrudnch. Wiele nietrwialnch ograniczeń. Zadanie opisuje się poprzez: listę nauczcieli n; listę grup g; listę terminów t; listę sal s. Zadanie polega na wgenerowaniu pewnej czteroargumentowej relacji określonej na zbiorze nauczcieli, grup, sal i godzin zajęciowch, do której należą wszstkie takie i tlko takie czwórki n,g,s,t, że nauczciel n prowadzi zajęcia z grupą g w sali s i w terminie t. 30 5
Ograniczenia: Ograniczenia: 1. Twarde: Zadana jest liczba godzin dla każdego nauczciela i każdej grup; W każdej sali i terminie jest tlko jeden nauczciel; Nauczciel nie może uczć dwu grup naraz; W każdej sali z zaplanowanmi zajęciami znajduje się nauczciel. 2. Miękkie: Cele ddaktczne (rozłożenie przedmiotów w tgodniu; Cele personalne (pozostawienie wolnch niektórch terminów dla niektórch nauczcieli; Cele organizacjne (dodatkow nauczciel na każd termin na zastępstwo. Zadanie układania planu lekcji rozwiązane z użciem AE zostało pomślnie przetestowane np. dla danch z dużej szkoł w Mediolanie (1991... 31 32 Program wspomagające układanie planu, np: PROGRAMOWANIE DROGI W ŚRODO WISKU RUCHOMEGO ROBOTA 33 Cel: Znalezienie się robota w punkcie docelowm bez zagubienia się i kolizji z jakimkolwiek obiektem. Rozwiązania: Droga planowana jest na wstępie (skuteczne jednie prz założeniu, że środowisko poruszania się robota jest dokładnie znane i nie zmienia się. Wiedza o otoczeniu jest czerpana na bieżąco poprzez badanie otoczenia lokalnego (pozwala to na ominięcie nieznanch jak i ruchomch przeszkód. 34 Nawigator ewolucjn (Michalewicz połączenie planowań: zawczasu i bieżącego drogi robota: Początkowo: (planowanie zawczasu poszukiwanie najlepszej drogi (rozwiązanie optmalne: Planowanie bieżące rozwiązuje problem związane z nowmi obiektami na wcześniej zaplanowanej trasie. a d b a d e b a b a d e b f 35 36 6
UNIKANIE KOLIZJI NA MORZU A. Stała prędkość statku własnego: v = 8.6w Obiekt ruchom (np. statek może bć niebezpieczn dla obiektu własnego jeśli: Wszedł w zakres obserwacji (58 mil morskich przed dziobem i 24 mile za rufą; Może przeciąć kurs zadan w niebezpiecznej odległości (jej wartość zależ od pogod, rejonu płwania i prędkości statku; Funkcja przstosowania uwzględnić powinna zarówno warunki bezpieczeństwa żeglugi jak i warunki ekonomiczne. 37 38 B. Stała prędkość statku własnego: v = 5.6w C. Zmienna prędkość (mutacja prędkości v = {3.6; 8.6; 13.6}w 39 40 Gra: AE W GRACH (OTHELLO Rwalizacja prowadzona przez uczestników zgodnie z ustalonmi regułami, b osiągnąć założon cel. Podział: Losowe (ruletka; Takie, w którch element losow wpłwa na rozgrwkę (brdż; Deterministczne (szach. 41 Gra: Gracze wkonują kolejne ruch (podejmują deczje ze zbioru ruchów dopuszczalnch aż do osiągnięcia stanu końcowego. Rozgrwka jest poszukiwaniem takich ruchów gracza, które zapewnią mu zwcięstwo. Proces poszukiwań można opisać za pomocą drzewa rozwiązań (korzeń stan początkow, węzł kolejne stan, jakie będą możliwe po wkonaniu danego ruchu. Liście takiego drzewa oznaczają stan końcowe gr: wgrane, remisowe lub przegrane dla gracza. 42 7
Drzewo reprezentuje wszstkie możliwe rozwiązania, np.: warcab: 10 40 węzłów; szach: 10 120 węzłów. Cel gr: znalezienie strategii wgrwającej (niezależnie od posunięć przeciwnika. Othello (reversi: rozgrwka jest skomplikowana; brak dobrego programu grającego; W ogólnm przpadku wmaga to zbudowania i przeszukania całego drzewa zwkle niemożliwe. W efekcie: zwkle bada się tlko część drzewa (możliwie jak najgłębiej. 43 44 3 znane strategie gr: 1. Maksmalnej liczb punktów prowadzi zwkle do blokad ruchów gracza. 2. Pól ważonch (cel: przejęcie pól strategicznch. 3. Mnimalnej liczb pionków (minimalizacja liczb własnch pionów, b zwiększć możliwości ruchu stosowana ślepo prowadzi do przegranej. Zast. AE do tworzenia programów grającch: 1. AE jako narzędzie wspomagające proces szukania dobrej strategii gr. Program grając nie wkorzstuje podczas gr AE, lecz ma wbudowaną strategię (znalezioną wcześniej za pomocą AE. 2. Zastosowanie AE jako wbudowanego modułu grającego. AE na każdm etapie gr odpowiada za znalezienie optmalnego posunięcia przez program grając. 45 46 8