Obliczenia Naturalne - Algorytmy genetyczne

Podobne dokumenty
Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych

Algorytm genetyczny (genetic algorithm)-

Algorytmy ewolucyjne NAZEWNICTWO

Algorytmy genetyczne. Dariusz Banasiak. Katedra Informatyki Technicznej Wydział Elektroniki

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne

Algorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

Inspiracje soft computing. Soft computing. Terminy genetyczne i ich odpowiedniki w algorytmach genetycznych. Elementarny algorytm genetyczny

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA OPERATOR KRZYŻOWANIA ETAPY KRZYŻOWANIA

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne

Algorytmy genetyczne

Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009

6. Klasyczny algorytm genetyczny. 1

Generowanie i optymalizacja harmonogramu za pomoca

Standardowy algorytm genetyczny

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA HISTORIA NA CZYM BAZUJĄ AG

Algorytmy genetyczne

Równoważność algorytmów optymalizacji

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

Algorytmy genetyczne w optymalizacji

ALGORYTMY GENETYCZNE ćwiczenia

Strategie ewolucyjne (ang. evolu4on strategies)

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Algorytmy ewolucyjne (2)

Algorytmy ewolucyjne 1

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

SZTUCZNA INTELIGENCJA

Algorytmy genetyczne

Obliczenia ewolucyjne - plan wykładu

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne

LABORATORIUM 5: Wpływ reprodukcji na skuteczność poszukiwań AE. opracował: dr inż. Witold Beluch

Metody Rozmyte i Algorytmy Ewolucyjne

METODY HEURYSTYCZNE wykład 3

Metody przeszukiwania

Teoria algorytmów ewolucyjnych

Algorytmy genetyczne (AG)

Algorytmy genetyczne

METODY HEURYSTYCZNE wykład 3

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

LABORATORIUM 3: Wpływ operatorów krzyżowania na skuteczność poszukiwań AE

Algorytmy ewolucyjne. wprowadzenie

Algorytmy genetyczne w interpolacji wielomianowej

Algorytmy ewolucyjne. Łukasz Przybyłek Studenckie Koło Naukowe BRAINS

przetworzonego sygnału

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

OBLICZENIA EWOLUCYJNE

OBLICZENIA EWOLUCYJNE

SZTUCZNA INTELIGENCJA

Strategie ewolucyjne. Gnypowicz Damian Staniszczak Łukasz Woźniak Marek

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Testy De Jonga. Problemy. 1 Optymalizacja dyskretna i ciągła

Obliczenia Naturalne - Algorytmy genetyczne

Programowanie genetyczne, gra SNAKE

Wstęp do Sztucznej Inteligencji

ALGORYTMY GENETYCZNE I EWOLUCYJNE

Dobór parametrów algorytmu ewolucyjnego

Algorytmy ewolucyjne Część II

LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania i mutacji na skuteczność poszukiwań AE

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

Zadania laboratoryjne i projektowe - wersja β

Obliczenia Naturalne - Strategie ewolucyjne

0 + 0 = 0, = 1, = 1, = 0.

Automatyczny dobór parametrów algorytmu genetycznego

Systemy Inteligentnego Przetwarzania wykład 4: algorytmy genetyczne, logika rozmyta

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

SZTUCZNA INTELIGENCJA

Aproksymacja funkcji a regresja symboliczna

Optymalizacja parametryczna (punkt kartezjańskim jest niewypukła).

Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego

METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne

ALGORYTMY EWOLUCYJNE. INTELIGENTNE TECHNIKI KOMPUTEROWE wykład 011. Napór selekcyjny (selektywny nacisk. Superosobniki: SELEKCJA

Algorytmy ewolucyjne `

ALGORYTMY GENETYCZNE

Techniki optymalizacji

Luty 2001 Algorytmy (4) 2000/2001

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

LABORATORIUM 2: Wpływ wielkości populacji i liczby pokoleń na skuteczność poszukiwań AE. opracował: dr inż. Witold Beluch

Algorytmy genetyczne służą głównie do tego, żeby rozwiązywać zadania optymalizacji

Obliczenia inspirowane Naturą

Strefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek

INTELIGENCJA OBLICZENIOWA. dr Katarzyna Grzesiak-Kopeć

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

RÓWNANIA NIELINIOWE Maciej Patan

Algorytmy ewolucyjne

Technologie Informacyjne

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego

Zaawansowane programowanie

Algorytmy genetyczne jako metoda wyszukiwania wzorców. Seminarium Metod Inteligencji Obliczeniowej Warszawa 26 X 2005 mgr inż.

OPTYMALIZACJA KSZTAŁTU WYKRESU WÖHLERA Z WYKORZYSTANIEM ALGORYTMÓW EWOLUCYJNYCH W UJĘCIU DIAGNOSTYCZNYM

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,

Algorytmy ewolucyjne (3)

1.1. Pozycyjne systemy liczbowe

Techniki ewolucyjne - algorytm genetyczny i nie tylko

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,

Wstęp do informatyki- wykład 2

FUNKCJA LINIOWA - WYKRES

Algorytmy i struktury danych. Wykład 4

Optymalizacja optymalizacji

Transkrypt:

Literatura Obliczenia Naturalne - Algorytmy genetyczne Paweł Paduch Politechnika Świętokrzyska 20 marca 2014 Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 1 z 45

Plan wykładu Literatura 1 Literatura 2 Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny 3 Definicje Wpływ reprodukcji Wpływ krzyżowania i mutacji 4 Odwrócenie i przesunięcie Skalowanie Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 2 z 45

Literatura Literatura Mariusz Flasiński - 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 - - kompendium, Tom 1 i 2, PWN, 2007 Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 3 z 45

Obliczenia ewolucyjne Literatura 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

Obliczenia ewolucyjne Literatura 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

Literatura 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

Historia Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny 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

Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny 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

Przestrzeń poszukiwań Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny Załóżmy, że mamy znaleźć maksimum w przykładowej przestrzeni poszukiwań. Współrzędne każdego osobnika to jego genotyp Zakładamy, że genotyp składa się z jednego chromosomu. sin(y) + cos(x) 0.7 (x 2 + y 2 ) + 5 6 Współrzędne X i Y musimy skwantyfikować. Powinny to być liczby całkowite o skończonym zbiorze. Dzięki temu można będzie każdą współrzędną zakodować binarnie. f (x) 5 0 5 0 x 5 5 0 y 5 4 2 Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 9 z 45

Kodowanie Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny owy rozważany problem ma przestrzeń poszukiwań zarówno dla X jak i dla Y 2π, +2π 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π),, 2π + 8π 32 ) a 0000100010 to ( 2π + 4π 32 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

Podsumowanie nazewnictwa Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny 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

Podstawowy algorytm genetyczny Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny Podstawowy algorytm genetyczny zaproponowany przez Hollanda. P t - populacja bazowa O t - populacja potomna T t - populacja tymczasowa Algorytm 1 Podstawowy AG 1: t 0 2: inicjalizacja P t 3: ocena P t 4: while (warunek stopu niespełniony) do 5: T t reprodukcja P t 6: O t krzyżowanie i mutacja T t 7: ocena O t 8: P t+1 O t 9: t t + 1 10: end while Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 12 z 45

Podstawowy algorytm genetyczny Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny populacja P 0 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

Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny Prześledźmy przykład znalezienia maksimum funkcji w zadanym przedziale liczb całkowitych. 1,000 f (x) = x 2 funkcja f (x) = x 2 zakres x 0, 31 kodowanie binarne 5 bitów. liczebność osobników 4 800 600 400 200 10 20 30 x Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 14 z 45

Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny 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

Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny 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

Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny 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 ) p r (X ) = Y P t Φ(Y ) Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 17 z 45

Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny Wyliczone prawdopodobieństwo dla poszczególnych osobników wynosi odpowiednio: 1 p x = 0, 14 2 p x = 0, 49 3 p x = 0, 06 4 p x = 0, 31 Oczekiwana liczba kopii wynosi: 1 0, 58 2 1, 92 3 0, 22 4 1, 23 Procentowa zajętość koła ruletki 14% 31% 49% 6% pierwszy osobnik drugi osobnik trzeci osobnik czwarty osobnik Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 18 z 45

Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny 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

Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny 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 4 10 011 Powstaje nam nowe pokolenie O t : 1 0110 0 x 1 = 12 f (x 1 ) = 144 2 1100 1 x 2 = 25 f (x 2 ) = 625 3 11 011 x 3 = 27 f (x 3 ) = 729 4 10 000 x 4 = 16 f (x 4 ) = 256 0 1 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 1 0 0 1 1 0 Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 20 z 45

Krótka charakterystyka Nazewnictwo Bazowy algorytm genetyczny 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

Definicje Definicje Wpływ reprodukcji Wpływ krzyżowania i mutacji 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 3 l Populacja złożona z n elementów może reprezentować od 2 l do co najwyżej n 2 l schematów Do każdego schematu pasuje dokładnie 2 r ciągów binarnych, gdzie r jest liczbą symboli uniwersalnych w szablonie schematu. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 22 z 45

Definicje Definicje Wpływ reprodukcji Wpływ krzyżowania i mutacji 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

Wpływ reprodukcji Definicje Wpływ reprodukcji Wpływ krzyżowania i mutacji 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 p i = f i fj Po wylosowaniu nowej populacji składającej się z n ciągów n f (H) możemy oczekiwać E[m(H, t + 1)] = m(h, t) reprezentantów schematu H. fj Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 24 z 45

Wpływ reprodukcji Definicje Wpływ reprodukcji Wpływ krzyżowania i mutacji Jeżeli f (H) określa średnie przystosowanie ciągów będących reprezentantami schematu H w chwili t, a średnie przystosowanie całej populacji zapiszemy jako f = f i n to poprzedni wzór można zapisać jako: m(h, t + 1) = m(h, t) f (H) 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

Wpływ reprodukcji - ocena ilościowa Definicje Wpływ reprodukcji Wpływ krzyżowania i mutacji 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 f = (1 + c) m(h, t) 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. 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

Wpływ krzyżowania Definicje Wpływ reprodukcji Wpływ krzyżowania i mutacji 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 gdzie: p s 1 p c δ(h) l 1 p c - prawdopodobieństwo krzyżowania, zwykle 1 l długość ciągu Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 27 z 45

Wpływ krzyżowania Definicje Wpływ reprodukcji Wpływ krzyżowania i mutacji Łączny efekt, selekcji i krzyżowania na liczbę reprezentantów danego schematu H w następnym pokoleniu można wyrazić wzorem: m(h, t + 1) m(h, t) f (H) f [ 1 p c δ(h) ] l 1 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

Wpływ mutacji Definicje Wpływ reprodukcji Wpływ krzyżowania i mutacji Mutacja polega na losowej zmianie zawartości poszczególnych pozycji z prawdopodobieństwem p m. 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 p m a dany schemat z prawdopodobieństwem (1 p m ) o(h). Dla małych wartości p m (p m << 1) prawdopodobieństwo przeżycia można aproksymować jako 1 o(h) p m. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 29 z 45

Twierdzenie o schematach Definicje Wpływ reprodukcji Wpływ krzyżowania i mutacji 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ą: m(h, t + 1) m(h, t) f (H) f [ 1 p c δ(h) ] l 1 o(h)p m 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

Definicje Wpływ reprodukcji Wpływ krzyżowania i mutacji W poprzednim przykładzie zasymulowany został jeden krok w ewolucji. Przeanalizujmy zachowanie trzech schematów: H 1 = 1 H 2 = 10 H 3 = 1 0 Stan początkowy 1 01101 2 11000 3 01000 Po reprodukcji 1 0110 1 2 1100 0 3 11 000 Po krzyżowaniu 1 01100 2 11001 3 11011 4 10011 4 10 011 owo ciągi 2 i 4 przed a 2,3 i 4 po reprodukcji są 4 10001 reprezentantami schematu H 1. Ciąg 2 przed, 2 i 3 po reprodukcji a 4 po krzyżowaniu są reprezentantami schematu H 3. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 31 z 45

Definicje Wpływ reprodukcji Wpływ krzyżowania i mutacji Ile powinniśmy uzyskać reprezentantów schematu H 1? Na podstawie twierdzenia o schematach możemy oczekiwać m f (H) f Średnie przystosowanie schematu f (H 1 ) wynosi 576+361 2 = 468, 5 Średnie przystosowanie populacji f = 293 Liczba reprezentantów w chwili t wynosi m(h 1, t) = 2 Podstawiając wszystko do wzoru m(h 1, t + 1) = 2 468, 5/293 = 3, 20 Faktyczna liczba 3 potwierdza nasze obliczenia. Krzyżowanie nie może zniszczyć tego schematu gdyż δ(h 1 ) = 0, a przy prawdopodobieństwie mutacji p m = 0, 001 możemy oczekiwać zmian w m p m = 3 0, 001 = 0, 003 bitów. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 32 z 45

Definicje Wpływ reprodukcji Wpływ krzyżowania i mutacji W przypadku schematów H 2 i H 3 liczba oczekiwanych reprezentantów po reprodukcji wynosi odpowiednio: m(h 2, t + 1) = 2 320/293 = 2, 18 m(h 3, t + 1) = 1 576/293 = 1, 97 Faktycznie otrzymaliśmy po 2 reprezentantów. W przypadku krzyżowania wąski schemat H 2 ma dużo większe szanse przetrwania niż, szeroki H 3 m(h 2, t + 1) = 2, 18 0, 75 = 1, 64 (tylko 1 na 4 krzyżowania mogą naruszyć schemat) m(h 3, 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

Ukryta równoległość Definicje Wpływ reprodukcji Wpływ krzyżowania i mutacji 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 2 l do n 2 l 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(n 3 ). 1 Oszacowanie to mówi, że w algorytmie genetycznym działającym na n strukturach, w każdym pokoleniu ulega przetworzeniu około n 3 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

Hipoteza cegiełek Definicje Wpływ reprodukcji Wpływ krzyżowania i mutacji 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

Przekształcenie funkcji celu Odwrócenie i przesunięcie Skalowanie 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. { Cmax g(x), jeżeli g(x) < C f (x) = max, 0, w przeciwnym wypadku. Współczynnik C max 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

Przekształcenie funkcji celu Odwrócenie i przesunięcie Skalowanie Czasami funkcja użyteczności u(x) przyjmuje wartości ujemne, należy wtedy przekształcić ją za pomocą poniższego wzoru { u(x) Cmin, jeżeli u(x) + C f (x) = min > 0, 0, w przeciwnym wypadku. Współczynnik C min 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

Skalowanie przystosowania Odwrócenie i przesunięcie Skalowanie 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

Skalowanie liniowe Odwrócenie i przesunięcie Skalowanie Jeżeli przez f oznaczymy przystosowanie pierwotne a f przystosowanie po skalowaniu to możemy przekształcenie skalowania zapisać jako: f = af + b a i b można wybrać na wiele sposobów byleby średnie przystosowanie po skalowaniu f avg było równe pierwotnemu średniemu f avg 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

Skalowanie Odwrócenie i przesunięcie Skalowanie Średnią liczbę potomków najlepszego osobnika (według pierwotnego przystosowania) można kontrolować za pomocą poniższego warunku: f max = C mult f avg, gdzie C mult to współczynnik zwielokrotnienia, jest żądaną liczbą kopii. Dla małych populacji 50-100 osobników dobre efekty daje C mult 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 nadanie wartości mniejszej od 0. Wtedy przyjmujemy że f min = 0. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 40 z 45

Skalowanie σ obcinające Odwrócenie i przesunięcie Skalowanie Przetworzenie pierwotnej funkcji przystosowania uwzględniające jej wariancję w populacji. Przez σ oznaczamy odchylenie standardowe funkcji przystosowania. f = f ( f cσ) Krotność c dobiera się pomiędzy 1 a 3. Wszystkie wartość f < 0 zostają wyzerowane. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 41 z 45

Przekształcenie typu potęgowego Odwrócenie i przesunięcie Skalowanie Gillies w 1985 roku zaproponował przekształcenie typu potęgowego polegające na podniesieniu pierwotnej funkcji przystosowania do potęgi k. f = f k 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

Nadawanie rang Odwrócenie i przesunięcie Skalowanie 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

Pytania Odwrócenie i przesunięcie Skalowanie? Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 44 z 45

koniec Odwrócenie i przesunięcie Skalowanie Dziękuję Państwu za uwagę. Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 45 z 45