Algorytmy ewolucyjne (2) zajecia.jakubw.pl/nai/ ALGORYTM GEETYCZY Cel: znaleźć makimum unkcji. Założenie: unkcja ta jet dodatnia. 1. Tworzymy oobników loowych. 2. Stoujemy operacje mutacji i krzyżowania 3. Liczymy wartości unkcji celu. mutacje Oobnik: ciąg zerojedynkowy krzyżowanie 4. Dokonujemy elekcji. 5. Powtarzamy od punktu 2. 1
STRATEGIE EWOLUCYJE Inna - obok algorytmów genetycznych - popularna metoda ewolucyjna. Główny obzar zatoowań: optymalizacja unkcji rzeczywitych wielowymiarowych. Zadanie: znaleźć makimum unkcji : R n R na danym przedziale [a 1, b 1 ] [a n, b n ]. Rozwiązanie: przez x=(x 1, x n ) oznaczmy przykładowe rozwiązanie (punkt z przetrzeni tanów, x i [a i, b i ]). Każdemu wektorowi x przyporządkujmy pomocniczy wektor wartości rzeczywitych dodatnich: σ=(σ 1, σ n ). Para (x,σ) będzie tanowiła kod genetyczny oobnika. Genotyp oobnika (x,σ) x Fenotyp oobnika SCHEMAT DZIAŁAIA 1. Tworzymy loową populację złożoną z oobników potaci (x,σ). 2. Dopiujemy do niej M oobników potomnych, tworzonych na podtawie loowo wybranych oobników z poprzedniego pokolenia za pomocą mutacji i krzyżowania. 3. Dla każdego oobnika w populacji pośredniej liczymy wartość optymalizowanej unkcji. 4. Spośród +M oobników wybieramy najlepzych względem. Te oobniki przeżyją i utworzą natępne pokolenie. 5. Powtarzamy od punktu 2. z aktualną populacją -oobnikową. Poprzednie pokolenie bez zmian mutacje, krzyżowanie M wybór najlepzych atępne pokolenie 2
OPERATORY Mutacji podlegają zwykle wzytkie oobniki dodawane do populacji pośredniej. Mutacja polega na zmianie parametrów (x,σ) zgodnie ze wzorami: σ = σ e i i x = x + ( 0, ) gdzie (0,σ) oznacza liczbę loową wygenerowaną zgodnie z rozkładem normalnym o wart. oczekiwanej 0 i 0, σ odchyleniu tandardowym σ. i i i Krzyżowaniu podlega część (np. 25%) oobników dodawanych do populacji pośredniej. Oobnik potomny kładany jet z genów dwóch loowo wybranych oobników rodzicielkich. (x 1, x 2, x 3, x 4, x 5, σ 1, σ 2, σ 3, σ 4, σ 5 ) (x 1, y 2, y 3, x 4, y 5, σ 1, τ 2, τ 3, σ 4, τ 5 ) (y 1, y 2, y 3, y 4, y 5, τ 1, τ 2, τ 3, τ 4, τ 5 ) Uwaga: wartości x i ą dziedziczone zawze razem z odpowiadającymi im wartościami pomocniczymi σ ι. SAMOADAPTACJA Samoadaptacja - przyczyna wyokiej prawności algorytmu Daleko od makimum: duże zmiany bardziej opłacalne. Okolice makimum: duże zmiany mniej opłacalne. 3
TEORIA KLASYCZE GA Schematy: ciągi typu 100**1*1** (gwiazdka oznacza cokolwiek ) Twierdzenie o chematach: jeśli chemat odpowiada oobnikom średnio lepzym niż inne, to jego reprezentanci ą coraz licznieji (wzrot wykładniczy) w miarę trwania ewolucji Ukryta równoległość: w jednym kroku badamy niewiele oobników, jednak każdy z nich odpowiada wykładniczo wielu różnym chematom Hipoteza o cegiełkach: jeśli rozwiązanie zadania może być kontruowane z ilnych, krótkich chematów, wówcza algorytm genetyczny ma zanę łatwo je znaleźć TWIERDZEIE O SCHEMATACH Schemat - ragment chromoomu (niekoniecznie pójny) o utalonych wartościach. p: ***10*01** - chemat z czterema utalonymi pozycjami (gwiazdka oznacza dowolną wartość). Załóżmy, że pewne chematy mają średnio więkze wartości unkcji celu, niż inne (uśredniamy po wzytkich możliwych wartościach na pozycjach nieutalonych). Oznaczmy: H - chemat, o(h) - liczba miejc utalonych, d(h) - odległość między krajnymi miejcami utalonymi, l - długość chromoomu, p m - prawd. mutacji bitu, p c - prawd. krzyżowania. Wtedy: p( H) 1 p d H o( H) c p l 1 m - tanowi prawdopodobieńtwo, że dany chemat pozotanie nienaruzony w wyniku mutacji i krzyżowania. 4
TWIERDZEIE O SCHEMATACH - C.D. Jeżeli przez m(h,t) oznaczymy liczbę (procent) oobników w populacji, które w chwili t paują do chematu H, to średnia liczba takich oobników w natępnym kroku może być ozacowana jako: ( (, + 1) ) m( H, t) E m H t H p H gdzie (H) oznacza średnią wartość unkcji celu oobników paujących do danego chematu, oznacza średnią wartość unkcji celu w populacji. Wnioek: jeśli chematy ą krótkie i zwarte (czyli mają duże p(h)), oraz jeśli mają średnią wartość unkcji celu wyżzą, niż przeciętna, to ich reprezentacja w populacji będzie roła wykładniczo. HIPOTEZA CEGIEŁEK Algorytmy genetyczne działają najkuteczniej wtedy, gdy poób zakodowania problemu i kztałt unkcji celu pozwalają na itnienie cegiełek : niewielkich i zwartych chematów o ponadprzeciętnej wartości unkcji. Jeśli z takich chematów da ię zbudować rozwiązanie optymalne, algorytm genetyczny łatwo je znajdzie. ********10 0101100010 010******* ***1*00*** Skuteczność algorytmów genetycznych opiera ię na ukrytym równoległym przetwarzaniu wielkiej liczby chematów. Wnioek praktyczny: jeśli kilka bitów koduje pojedynczą cechę, powinny one leżeć bliko iebie. 5
SKALOWAIE FUKCJI CELU Prawdopodobieńtwo wyloowania oobnika w algorytmie koła ruletki jet proporcjonalne do wartości unkcji celu. Jeśli jednak różnice wartości ą niewielkie, preja elekcyjna może ię okazać zbyt mała. Aby temu zaradzić, można przed użyciem algorytmu koła ruletki przekalować liniowo wartości unkcji: ( x) = a ( x) + b gdzie: c a = max b = c a max max 0 max 0 Tak dobrane przekztałcenie gwarantuje, że: a) średnia wartość po przekalowaniu nie zmieni ię, b) wartość makymalna będzie c razy więkza, niż średnia. BARIERY REPRODUKCYJE W niektórych zatoowaniach kuteczne okazuje ię wprowadzenie barier reprodukcyjnych: dodatkowych ograniczeń, jakie muzą pełniać oobniki, by ię mogły krzyżować. Metoda 1: krzyżujemy oobniki podobne (np. różniące ię na najwyżej k bitach). Metoda 2: do każdego oobnika doklejamy wzorzec kojarzeniowy, czyli ciąg ymboli {0,1,*}, oraz identyikator, czyli dodatkowy ciąg binarny. Krzyżowanie jet dozwolone jeśli wzorzec kojarzeniowy jednego z rodziców pauje do identyikatora drugiego. Identyikator i wzorzec kojarzeniowy podlegają mutacji i krzyżowaniu w zwykły opób. kod genetyczny 011100.10 10** 0110 identyikator wzorzec kojarzeniowy Umożliwia to wykztałcenie ię gatunków, z których każdy zaiedli inną nizę ekologiczną (makimum lokalne). Wyniki ą więc bardziej zróżnicowane. 6