Obliczenia Naturalne - Algorytmy genetyczne
Transkrypt
Obliczenia Naturalne - Algorytmy genetyczne
Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Literatura Wstęp Obliczenia Naturalne - Algorytmy genetyczne Paweł Paduch Politechnika Świętokrzyska 20 marca 2014 Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 1 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Literatura Wstęp Plan wykładu 1 Wstęp Literatura Wstęp 2 Algorytmy Genetyczne Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny Przykład 3 Schematy Definicje Wpływ reprodukcji Wpływ krzyżowania i mutacji Przykład 4 Przekształcenia funkcji celu Odwrócenie i przesunięcie Skalowanie Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 2 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Literatura Wstęp Literatura Mariusz Flasiński - Wstęp do sztucznej inteligencji, PWN, 2011 Jarosław Arabas - Wykłady z algorytmów ewolucyjnych, WNT, 2001 David Edward Goldberg - Algorytmy genetyczne i ich zastosowania, WNT, 2009 Zbigniew Michalewicz - Algorytmy genetyczne+struktury danych=programy ewolucyjne, WNT, 2003 T. D. Gwiazda - Algorytmy Genetyczne - kompendium, Tom 1 i 2, PWN, 2007 Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 3 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Literatura Wstęp Obliczenia ewolucyjne Obliczenia ewolucyjne należą do grupy metod o największym znaczeniu wśród modeli inspirowanych biologią. Są one oparte na symulowaniu procesów ewolucji takich jak: zapis genetyczny poszczególnych cech osobników, krzyżowanie materiału genetycznego wybranych osobników, rozwój kolejnych pokoleń, ocena przystosowania, dobór naturalny, mutacje. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 4 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Literatura Wstęp Obliczenia ewolucyjne Podział z uszeregowaniem poziomu abstrakcji reprezentacji wykorzystywanej do modelowania problemu: Algorytmy genetyczne Strategie ewolucyjne Programowanie ewolucyjne Programowanie genetyczne Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 5 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Literatura Wstęp Zastosowanie obliczeń ewolucyjnych Głównym zadaniem obliczeń ewolucyjnych jest osiągnięcie pewnego celu np. minimum lub maksimum w zadanej przestrzeni poszukiwań. Obliczenia ewolucyjne znalazły zastosowanie między innymi: w grach, w Rozpoznawanie obrazu, w optymalizacji funkcji, w symulowaniu rozwoju organizmów żywych, w algorytmach grupowania, w szeregowaniach zadań, w kolorowaniu grafu, w optymalizacji pracy rurociągów, w rozwiązywaniu problemów NP-trudnych i w wielu innych... Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 6 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny Przykład Historia Pierwsze wzmianki na temat algorytmów genetycznych zostały odnotowane przez Alexa Frasera w 1957 roku w artykule „Simulation of genetic systems by automatic digital computers”. Jednak do spopularyzowania tego modelu obliczeń przyczynił się John Holland dzięki monografii „Adaptation in Natural and Artificial Systems” z 1975 roku. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 7 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny Przykład Algorytmy Genetyczne Ulepszenie heurystycznych metod szukania optymalnego rozwiązania problemu. Przestrzeń rozwiązań przeszukujemy za pomocą nie jednego a wielu punktów (osobników), dzięki czamu zmniejszamy ryzyko utknięcia w obszarach plateau lub lokalnych ekstremach. Każdego osobnika można traktować jako reprezentanta rozwiązania problemu. Zbiór takich osobników nazywamy populacją. Następujące po sobie populacje nazywamy pokoleniami. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 8 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny Przykład Przestrzeń poszukiwań Załóżmy, że mamy znaleźć maksimum w przykładowej przestrzeni poszukiwań. Współrzędne każdego osobnika to jego genotyp sin(y ) + cos (x ) − 0.7 ∗ (x 2 + y 2 ) + 5 Zakładamy, że genotyp składa się z jednego chromosomu. 4 5 f (x ) Współrzędne X i Y musimy skwantyfikować. Powinny to być liczby całkowite o skończonym zbiorze. 6 5 0 −5 Dzięki temu można będzie każdą współrzędną zakodować binarnie. Paweł Paduch 2 0 0 x 5 −5 Obliczenia Naturalne - Algorytmy genetyczne y 9 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny Przykład Kodowanie Przykładowy rozważany problem ma przestrzeń poszukiwań zarówno dla X jak i dla Y h−2π, +2πi Jeżeli przyjmiemy, że każdą współrzędną podzielimy na 32 wartości, to genotyp będzie można zakodować w sumie na 10-cio bitowych ciągach (po 5 na współrzędną) Ciągi binarne używając nomenklatury biologicznej nazwiemy chromosomami natomiast poszczególne bity genami. Przy tak przyjętym kodowaniu ciąg 0000000000 oznacza osobnika (−2π, −2π), 8π 0000100010 to (−2π + 4π 32 , −2π + 32 ) a 0111101111 (0, 0). To jaką wartość (zbiór wartości) da nam osobnik nazywamy fenotypem. Fenotyp jest podstawą do oceny osobników za pomocą funkcji przystosowania - nieujemne kryterium jakości. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 10 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny Przykład Podsumowanie nazewnictwa Chromosom - ciąg kodowy, składa się z genów Gen - cecha, znak detektor (np. bity) Allel - wariant cechy (np. jeżeli nie bity tylko znaki) Locus - pozycja, położenie genu. Genotyp - struktura opisująca osobnika Fenotyp - rozwiązanie jakie daje osobnik na podstawie genotypu Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 11 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny Przykład Podstawowy algorytm genetyczny Podstawowy algorytm genetyczny zaproponowany przez Hollanda. Algorytm 1 Podstawowy AG Pt - populacja bazowa Ot - populacja potomna Tt - populacja tymczasowa Paweł Paduch 1: t ← 0 2: inicjalizacja Pt 3: ocena Pt 4: while (warunek stopu niespełniony) do 5: Tt ← reprodukcja Pt 6: Ot ← krzyżowanie i mutacja Tt 7: ocena Ot 8: Pt+1 ← Ot 9: t ←t +1 10: end while Obliczenia Naturalne - Algorytmy genetyczne 12 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny Przykład Podstawowy algorytm genetyczny populacja P0 jest inicjalizowana losowo. ocena polega na obliczeniu funkcji przystosowania, rozwój osobników. warunek stopu (gdy uzyskaliśmy satysfakcjonującą ocenę lub numer pokolenia) reprodukcja polega na losowaniu osobników ze zwracaniem, z tym, że największe szanse mają najlepiej przystosowane osobniki. Operatory genetyczne krzyżowania i mutacji działają na informacje zawarte w chromosomach Nowa populacja jest rozwijana i oceniana, teraz staje się populacją rodzicielską. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 13 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny Przykład Przykład Prześledźmy przykład znalezienia maksimum funkcji w zadanym przedziale liczb całkowitych. 1,000 f (x ) = x 2 800 funkcja f (x) = x 2 600 zakres x ∈ h0, 31i kodowanie binarne 5 bitów. 400 liczebność osobników 4 200 x 10 Paweł Paduch 20 Obliczenia Naturalne - Algorytmy genetyczne 30 14 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny Przykład Przykład Pierwszy krok to wylosowanie populacji początkowej 1 01101 wartość x=13 2 11000 wartość x=24 3 01000 wartość x=8 4 10011 wartość x=19 Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 15 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny Przykład Przykład Drugi krok to ocena populacji czyli wyliczenie f (x) 1 f (x) = 169 2 f (x) = 576 3 f (x) = 64 4 f (x) = 361 Suma 1170, średnia 293, maksimum 576 Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 16 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny Przykład Przykład Trzeci krok to reprodukcja. Nowe pokolenie stworzone będzie przez 4 krotne losowanie. Symulacja doboru naturalnego będzie zrealizowana na zasadzie koła ruletki. Prawdopodobieństwo wylosowania będzie uzależnione od osiągniętej funkcji oceny, im wyższa tym większa szansa na wylosowanie. Całe koło ruletki odpowiada sumie wartości przystosowania wszystkich osobników. Pojedynczy osobnik zajmuje proporcjonalną część koła w zależności od jego funkcji przystosowania Φ(X ) = f (x) Prawdopodobieństwo wylosowania osobnika X z jego wartością przystosowania ΦX określa się wzorem Φ(X ) Y ∈P t Φ(Y ) pr (X ) = P Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 17 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny Przykład Przykład Wyliczone prawdopodobieństwo dla poszczególnych osobników wynosi odpowiednio: Procentowa zajętość koła ruletki 1 px = 0, 14 2 px = 0, 49 3 px = 0, 06 14% 31% 4 px = 0, 31 Oczekiwana liczba kopii wynosi: 49% 6% 1 0, 58 2 1, 92 pierwszy osobnik drugi osobnik trzeci osobnik czwarty osobnik 3 0, 22 4 1, 23 Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 18 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny Przykład Przykład Załóżmy, że nowa populacja T t zosatła wylosowana w następujący sposób: Pierwszy osobnik 1 raz Drugi osobnik 2 razy Trzeci osobnik nie został wylosowany Czwarty osobnik 1 raz. Nowe pokolenie wyglądało by następująco: 1 01101 2 11000 3 11000 4 10011 Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 19 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny Przykład Przykład Wśród populacji T t losujemy pary, które będziemy krzyżować. Załóżmy, że będą to osobniki 1 z 2 oraz 3 z 4. Losowo wybieramy punkt krzyżowania w danej parze, np. 4 i 2. 1 0110|1 2 1100|0 3 11|000 0 1 0 1 1 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 0 1 1 0 4 10|011 Powstaje nam nowe pokolenie O t : 1 0110|0 x1 = 12 f (x1 ) = 144 2 1100|1 x2 = 25 f (x2 ) = 625 3 11|011 x3 = 27 f (x3 ) = 729 4 10|000 x4 = 16 f (x4 ) = 256 Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 20 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny Przykład Przykład Dodatkowo można wprowadzić operator mutacji, który zmienia dowolne wybrane losowo bity na przeciwne. Nowe pokolenie ma następujące osiągi: Suma 1754 Średnia 439 Maksimum 729 W przedstawionym przykładzie nowe pokolenie jest lepsze od poprzedniego. Jak to się dzieje, że pewne fragmenty „cegiełki” kodu mają pozytywny wpływ na ukierunkowanie AG a inne nie? Trzeba zbadać te fragmenty. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 21 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Definicje Wpływ reprodukcji Wpływ krzyżowania i mutacji Przykład Definicje Pojęcie schematu (wzorca podobieństwa) wprowadzone zostało w celu umożliwienia ściślejszej oceny wydajności algorytmów genetycznych. Jest to słowo w rozszerzonym alfabecie (dla kodowania binarnego) V + = 0, 1, ∗ gdzie ∗ zastępuje każdy symbol alfabetu. Schemat H to wzorzec opisujący podzbiór ciągów podobnych ze względu na ustalone pozycje. Dla alfabetu złożonego z k symboli istnieje (k + 1)l schematów gdzie l to długość ciągu czyli dla dwójkowego 3l Populacja złożona z n elementów może reprezentować od 2l do co najwyżej n ∗ 2l schematów Do każdego schematu pasuje dokładnie 2r ciągów binarnych, gdzie r jest liczbą symboli uniwersalnych ∗ w szablonie schematu. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 22 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Definicje Wpływ reprodukcji Wpływ krzyżowania i mutacji Przykład Definicje Schematy różnią się stopniem szczegółowości oraz „szerokości” aby wyrazić liczbowo te dwie dane wprowadzono dwa pojęcia. Rząd schematu H oznaczany przez o(H) jest to liczba ustalonych pozycji, dla alfabetu dwójkowego po prostu liczba zer i jedynek. np. o(1 ∗ ∗0 ∗ ∗1) = 3, o(∗00 ∗ ∗∗) = 2. Rozpiętość schematu H, δ(H) to największa odległość pomiędzy dwoma pozycjami ustalonymi. W przypadku gdy istnieje tylko jedna pozycja ustalona rozpiętość wynosi 0. np. δ(∗1 ∗ ∗ ∗ ∗∗) = 0, δ(∗1 ∗ ∗0 ∗ 1 ∗ ∗) = 5, δ(10 ∗ ∗ ∗ ∗∗) = 1, Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 23 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Definicje Wpływ reprodukcji Wpływ krzyżowania i mutacji Przykład Wpływ reprodukcji Jaki wpływ ma reprodukcja na oczekiwaną liczbę reprezentantów określonego schematu? Załóżmy, że w chwili t w populacji P t znajduje się m = m(H, t) reprezentantów danego schematu H Prawdopodobieństwo replikacji ciągu podczas reprodukcji jest zależne od funkcji przystosowania pi = Pfi f j Po wylosowaniu nowej populacji składającej się z n ciągów P(H) możemy oczekiwać E [m(H, t + 1)] = m(H, t) · n·f f j reprezentantów schematu H. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 24 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Definicje Wpływ reprodukcji Wpływ krzyżowania i mutacji Przykład Wpływ reprodukcji Jeżeli f (H) określa średnie przystosowanie ciągów będących reprezentantami schematu H w chwili t, a średnie przystosowanie P fi całej populacji zapiszemy jako f¯ = n to poprzedni wzór można zapisać jako: f (H) m(H, t + 1) = m(H, t) ¯ f W następnym pokoleniu liczba reprezentantów danego schematu zmienia się proporcjonalnie do stosunku średniego przystosowania schematu i średniego przystosowania całej populacji. Czyli schematy o przystosowaniu wyższym od średniej mają szanse na zwiększenie liczebności reprezentantów w kolejnym pokoleniu a te o niższym od średniej mają szanse mniejsze. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 25 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Definicje Wpływ reprodukcji Wpływ krzyżowania i mutacji Przykład Wpływ reprodukcji - ocena ilościowa Załóżmy, że pewien schemat H przewyższa średnią o wielkość c f¯, gdzie c to stała. Wtedy poprzednie równanie można zapisać w postaci: m(H, t + 1) = m(H, t) f¯ + c f¯ = (1 + c) · m(H, t) f¯ Zaczynając obliczenia od chwili t = 0 i zakładając, że c nie zmienia się w czasie, otrzymujemy zależność na liczebność w dowolnej chwili t m(H, t) = m(H, 0) · (1 + c)t Jest to wzór identyczny z tym do obliczeń procentów składanych. Schematy lepsze od przeciętnej są wybierane częściej a liczba ta rośnie wykładniczo w czasie. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 26 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Definicje Wpływ reprodukcji Wpływ krzyżowania i mutacji Przykład Wpływ krzyżowania Operacja krzyżowania wymienia informację pomiędzy dwoma ciągami kodowymi w sposób uporządkowany choć z dozą losowości. Przy tej operacji schemat może zostać uszkodzony, gdy cięcie wypadnie pomiędzy ustalonymi pozycjami. Prawdopodobieństwo jest tym wyższe im schemat ma większą rozpiętość δ. Szansa, że dany schemat przeżyje wyraża się wzorem ps 1 − pc · δ(H) l −1 gdzie: pc - prawdopodobieństwo krzyżowania, zwykle 1 l długość ciągu Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 27 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Definicje Wpływ reprodukcji Wpływ krzyżowania i mutacji Przykład Wpływ krzyżowania Łączny efekt, selekcji i krzyżowania na liczbę reprezentantów danego schematu H w następnym pokoleniu można wyrazić wzorem: f (H) δ(H) m(H, t + 1) m(H, t) ¯ 1 − pc · l −1 f Tym razem wpływ mają dwa parametry, stosunek przystosowania schematu do średniej oraz od rozpiętości schematu. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 28 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Definicje Wpływ reprodukcji Wpływ krzyżowania i mutacji Przykład Wpływ mutacji Mutacja polega na losowej zmianie zawartości poszczególnych pozycji z prawdopodobieństwem pm . Schemat zostanie uszkodzony przez mutację, gdy jedna z jego ustalonej pozycji zmieni stan. Prawdopodobieństwo zależy od liczby pozycji ustalonych w schemacie czyli jego rzędu o(H) Pojedynczy allel przeżyje mutację z prawdopodobieństwem 1 − pm a dany schemat z prawdopodobieństwem (1 − pm )o(H) . Dla małych wartości pm (pm << 1) prawdopodobieństwo przeżycia można aproksymować jako 1 − o(H) · pm . Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 29 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Definicje Wpływ reprodukcji Wpływ krzyżowania i mutacji Przykład Twierdzenie o schematach Ostatecznie (zaniedbując składniki wyższego) rzędu liczba reprezentantów schematu H w następnym pokoleniu , otrzymanym w wyniku reprodukcji, krzyżowania i mutacji można wyrazić następującą nierównością: f (H) δ(H) − o(H)pm m(H, t + 1) m(H, t) ¯ 1 − pc · l −1 f ”Wąskie, niskiego rzędu i dobrze przystosowane schematy rozprzestrzeniają się w kolejnych pokoleniach zgodnie z wykładniczym prawem wzrostu.” - jest to tzw. twierdzenie o schematach lub podstawowe twierdzenie algorytmów genetycznych. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 30 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Definicje Wpływ reprodukcji Wpływ krzyżowania i mutacji Przykład Przykład W poprzednim przykładzie zasymulowany został jeden krok w ewolucji. Przeanalizujmy zachowanie trzech schematów: Po Stan Po reprodukcji początkowy krzyżowaniu H1 = 1 ∗ ∗ ∗ ∗ 1 0110|1 1 01101 1 01100 H2 = ∗10 ∗ ∗ 2 1100|0 2 11000 2 11001 H3 = 1 ∗ ∗ ∗ 0 3 01000 3 11|000 4 10|011 4 10011 Przykładowo ciągi 2 i 4 przed a 2,3 i 4 po reprodukcji są reprezentantami schematu H1 . Ciąg 2 przed, 2 i 3 po reprodukcji a 4 po krzyżowaniu są reprezentantami schematu H3 . Paweł Paduch 3 11011 4 10001 Obliczenia Naturalne - Algorytmy genetyczne 31 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Definicje Wpływ reprodukcji Wpływ krzyżowania i mutacji Przykład Przykład Ile powinniśmy uzyskać reprezentantów schematu H1 ? Na podstawie twierdzenia o schematach możemy oczekiwać m · f (H) f¯ Średnie przystosowanie schematu f (H1 ) wynosi 576+361 = 468, 5 2 Średnie przystosowanie populacji f¯ = 293 Liczba reprezentantów w chwili t wynosi m(H1 , t) = 2 Podstawiając wszystko do wzoru m(H1 , t + 1) = 2 · 468, 5/293 = 3, 20 Faktyczna liczba 3 potwierdza nasze obliczenia. Krzyżowanie nie może zniszczyć tego schematu gdyż δ(H1 ) = 0, a przy prawdopodobieństwie mutacji pm = 0, 001 możemy oczekiwać zmian w m · pm = 3 · 0, 001 = 0, 003 bitów. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 32 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Definicje Wpływ reprodukcji Wpływ krzyżowania i mutacji Przykład Przykład W przypadku schematów H2 i H3 liczba oczekiwanych reprezentantów po reprodukcji wynosi odpowiednio: m(H2 , t + 1) = 2 · 320/293 = 2, 18 m(H3 , t + 1) = 1 · 576/293 = 1, 97 Faktycznie otrzymaliśmy po 2 reprezentantów. W przypadku krzyżowania wąski schemat H2 ma dużo większe szanse przetrwania niż, szeroki H3 m(H2 , t + 1) = 2, 18 · 0, 75 = 1, 64 (tylko 1 na 4 krzyżowania mogą naruszyć schemat) m(H3 , t + 1) = 1, 97 · 0 = 0 (każde krzyżowanie może naruszyć schemat) Faktycznie otrzymaliśmy 2 i 1. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 33 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Definicje Wpływ reprodukcji Wpływ krzyżowania i mutacji Przykład Ukryta równoległość Ile schematów bierze efektywny udział w przetwarzaniu? Dotychczas stwierdziliśmy, że w przetwarzaniu populacji n ciągów kodowych o długości l bierze udział od 2l do n · 2l schematów. Nie wszystkie jednak mają dużą szansę na przetrwanie, gdyż operacja krzyżowania niszczy schematy o dużej rozpiętości. Najczęściej podaje się w literaturze oszacowanie podane przez Hollanda O(n3 ). 1 Oszacowanie to mówi, że w algorytmie genetycznym działającym na n strukturach, w każdym pokoleniu ulega przetworzeniu około n3 schematów. Holland nadał jej miano „Ukryta równoległość”. 1 Wyliczenia przedstawione są w książce Goldberga podanej w wykazie literatury. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 34 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Definicje Wpływ reprodukcji Wpływ krzyżowania i mutacji Przykład Hipoteza cegiełek Schematy dobrze przystosowane, niskiego rzędu i o małej rozpiętości zwane cegiełkami, są nieustannie wybierane, zestawiane i powielane, tworząc ciągi kodowe o potencjalnie wyższym przystosowaniu. Korzystając, tych charakterystycznych schematów, redukujemy złożoność problemu. Nie sprawdzamy wszystkich możliwych rozwiązań ale głównie te, które dają potencjalnie najlepsze rozwiązania. Hipoteza cegiełek znalazła doświadczalne potwierdzenie. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 35 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Odwrócenie i przesunięcie Skalowanie Przekształcenie funkcji celu Funkcja celu rzadko kiedy jest dodatnia w swej dziedzinie, poza tym często szukamy nie maksimum a minimum. Dlatego trzeba dokonywać przekształcenia oryginalnej funkcji celu w funkcję przystosowania. ( f (x) = Cmax − g (x), 0, jeżeli g (x) < Cmax , w przeciwnym wypadku. Współczynnik Cmax może być podawany na różne sposoby. jako największa do tej pory napotkana wartość funkcji g , jako największa wartość g w bieżącej populacji, jako największa wartość g w k ostatnich populacjach, zależny od wariancji populacji. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 36 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Odwrócenie i przesunięcie Skalowanie Przekształcenie funkcji celu Czasami funkcja użyteczności u(x) przyjmuje wartości ujemne, należy wtedy przekształcić ją za pomocą poniższego wzoru ( f (x) = u(x) − Cmin , 0, jeżeli u(x) + Cmin > 0, w przeciwnym wypadku. Współczynnik Cmin może być podawany na różne sposoby. jako moduł najmniejszej do tej pory napotkanej wartość funkcji u, jako moduł najmniejszej wartość u w bieżącej populacji, jako moduł najmniejszej wartość u w k ostatnich populacjach, zależny od wariancji populacji. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 37 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Odwrócenie i przesunięcie Skalowanie Skalowanie przystosowania Algorytmy działające na małych populacjach często wymagają dodatkowych regulacji w liczbach kopii. Np.: Na początku występuje kilku ponadprzeciętnych osobników, a cała reszta zalicza się do „średniaków”. Sytuacja taka prowadzi bardzo szybko do przedwczesnej zbieżności. Pod koniec, populacja zachowuje dużą różnorodność, ale średni wskaźnik przystosowania niewiele odbiega od maksymalnego. Osobniki przeciętne i najlepsze będą otrzymywać prawie tę samą liczbę potomstwa. Skalowanie przystosowania może rozwiązać oba te problemy. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 38 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Odwrócenie i przesunięcie Skalowanie Skalowanie liniowe Jeżeli przez f oznaczymy przystosowanie pierwotne a f 0 przystosowanie po skalowaniu to możemy przekształcenie skalowania zapisać jako: f 0 = af + b a i b można wybrać na wiele sposobów byleby średnie 0 przystosowanie po skalowaniu favg było równe pierwotnemu średniemu favg oraz by ustalona została maksymalna wartość na poziomie określonej krotności (zwykle dwukrotność) średniego przystosowania. Zapewni to że, w następnym pokoleniu średni osobnik będzie miał średnio 1 potomka a najlepszy tyle ile wynosi krotność. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 39 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Odwrócenie i przesunięcie Skalowanie Skalowanie Średnią liczbę potomków najlepszego osobnika (według pierwotnego przystosowania) można kontrolować za pomocą poniższego warunku: 0 fmax = Cmult · favg , gdzie Cmult to współczynnik zwielokrotnienia, jest żądaną liczbą kopii. Dla małych populacji 50-100 osobników dobre efekty daje Cmult pomiędzy 1,2 a 2,0. Współczynnik ten powoduje „rozciągnięcie” funkcji przystosowania pod koniec przebiegu, czasami przeskalowanie powoduje dla najgorszych osobników 0 nadanie wartości mniejszej od 0. Wtedy przyjmujemy że fmin = 0. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 40 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Odwrócenie i przesunięcie Skalowanie Skalowanie σ obcinające Przetworzenie pierwotnej funkcji przystosowania uwzględniające jej wariancję w populacji. Przez σ oznaczamy odchylenie standardowe funkcji przystosowania. f 0 = f − (f¯ − cσ) Krotność c dobiera się pomiędzy 1 a 3. Wszystkie wartość f 0 < 0 zostają wyzerowane. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 41 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Odwrócenie i przesunięcie Skalowanie Przekształcenie typu potęgowego Gillies w 1985 roku zaproponował przekształcenie typu potęgowego polegające na podniesieniu pierwotnej funkcji przystosowania do potęgi k. f0 =fk Gilies stosował k = 1, 005 jednak wartość ta zależy od problemu i może wymagać zmiany w kolejnych pokoleniach. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 42 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Odwrócenie i przesunięcie Skalowanie Nadawanie rang Baker (1985) zrezygnował z procedur skalowania i zaproponował selekcję według rang. Sortujemy populację według wartości funkcji celu Liczba kopii danego osobnika jest zależna jedynie od jego rangi, czyli pozycji w posortowanej populacji. Metoda Bakera wykazała tę samą odporność na tendencje do nadmiernej i niedostatecznej reprodukcji, co normalne metody selekcji połączone ze skalowaniem. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 43 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Odwrócenie i przesunięcie Skalowanie Pytania ? Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 44 z 45 Wstęp Algorytmy Genetyczne Schematy Przekształcenia funkcji celu Odwrócenie i przesunięcie Skalowanie koniec Dziękuję Państwu za uwagę. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 45 z 45