Algorytmy ewolucyjne `

Podobne dokumenty
Algorytmy ewolucyjne NAZEWNICTWO

Strategie ewolucyjne (ang. evolu4on strategies)

Strategie ewolucyjne (ang. evolution strategies)

Algorytmy genetyczne

Algorytm genetyczny (genetic algorithm)-

Metody Rozmyte i Algorytmy Ewolucyjne

WAE Jarosław Arabas Adaptacja i samoczynna adaptacja parametrów AE Algorytm CMA-ES

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

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

SZTUCZNA INTELIGENCJA

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

Algorytmy ewolucyjne

ALGORYTMY GENETYCZNE ćwiczenia

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

Dobór parametrów algorytmu ewolucyjnego

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

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

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

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

Obliczenia ewolucyjne - plan wykładu

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

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

Algorytmy genetyczne

Algorytmy ewolucyjne. wprowadzenie

6. Klasyczny algorytm genetyczny. 1

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne

Programowanie genetyczne

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

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

Równoważność algorytmów optymalizacji

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

Algorytmy genetyczne

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

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne

Algorytmy genetyczne w optymalizacji

Techniki optymalizacji

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

Wstęp do Sztucznej Inteligencji

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego

Algorytmy genetyczne (AG)

Algorytmy genetyczne

Metody przeszukiwania

METODY HEURYSTYCZNE wykład 3

Obliczenia Naturalne - Strategie ewolucyjne

Algorytmy ewolucyjne 1

Optymalizacja. Wybrane algorytmy

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

Programowanie genetyczne (ang. genetic programming)

Modyfikacje i ulepszenia standardowego algorytmu genetycznego

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

Standardowy algorytm genetyczny

METODY HEURYSTYCZNE wykład 3

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

Automatyczny dobór parametrów algorytmu genetycznego

Rój cząsteczek. Particle Swarm Optimization. Adam Grycner. 18 maja Instytut Informatyki Uniwersytetu Wrocławskiego

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 311

Algorytmy ewolucyjne (3)

Obliczenia Naturalne - Algorytmy genetyczne

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

Problem Komiwojażera - algorytmy metaheurystyczne

Algorytmy ewolucyjne (2)

Programowanie genetyczne - gra SNAKE

Algorytmy ewolucyjne

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Generowanie i optymalizacja harmonogramu za pomoca

BIOCYBERNETYKA ALGORYTMY GENETYCZNE I METODY EWOLUCYJNE. Adrian Horzyk. Akademia Górniczo-Hutnicza

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

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

Aproksymacja funkcji a regresja symboliczna

Matematyka dyskretna - wykład - część Podstawowe algorytmy kombinatoryczne

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

Optymalizacja ciągła

Programowanie genetyczne, gra SNAKE

CMAES. Zapis algorytmu. Generacja populacji oraz selekcja Populacja q i (t) w kroku t generowana jest w następujący sposób:

Algorytmy metaheurystyczne Wykład 11. Piotr Syga

Optymalizacja systemów

Ewolucjonizm NEODARWINIZM. Dr Jacek Francikowski Uniwersyteckie Towarzystwo Naukowe Uniwersytet Śląski w Katowicach

Agata Boratyńska Statystyka aktuarialna... 1

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

ALHE Z11 Jarosław Arabas wykład 11

przetworzonego sygnału

Wybrane podstawowe rodzaje algorytmów

Wykorzystanie metod ewolucyjnych w projektowaniu algorytmów kwantowych

Stochastyczne dynamiki z opóźnieniami czasowymi w grach ewolucyjnych

Rekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie:

ALGORYTMY EWOLUCYJNE W ZASTOSOWANIU DO ROZWIĄZYWANIA WYBRANYCH ZADAŃ OPTYMALIZACJI1

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

Metody systemowe i decyzyjne w informatyce

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

Statystyka i opracowanie danych Podstawy wnioskowania statystycznego. Prawo wielkich liczb. Centralne twierdzenie graniczne. Estymacja i estymatory

Zaawansowane programowanie

Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation)

STATYSTYKA MATEMATYCZNA

Stochastyczna dynamika z opóźnieniem czasowym w grach ewolucyjnych oraz modelach ekspresji i regulacji genów

Algorytmy ewolucyjne

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

Transkrypt:

Algorytmy ewolucyjne `

Wstęp Czym są algorytmy ewolucyjne? Rodzaje algorytmów ewolucyjnych Algorytmy genetyczne Strategie ewolucyjne Programowanie genetyczne

Zarys historyczny Alan Turing, 1950 Nils Aall Barricelli, Pierwsza komputerowa symulacja ewolucji, 1954 Bienert, Rechenberg, Schwefel, 1960, Strategie ewolucyjne i zastosowanie w praktyce J. Holland, Książka popularyzująca algorytmy ewolucyjne,1960 r. Fogel, lata 80-te, Współczesna wersja programowania ewolucyjnego Od początku lat 90-tych algorytmy genetyczne są coraz częściej stosowane w praktyce

Podstawowe pojęcia Osobnik Populacja Fenotyp Genotyp Chromosom Kodowanie rozwiązań Funkcja przystosowania - Rozwiązanie zadania - Zbiór rozwiązań branych pod uwagę - Parametry, cechy rozwiązania - Ciąg bitów - Miejsce przechowywania rozwiązania - Sposób kodowanie (np. ciąg bitów) - Fitess, funkcja celu. Wskaźnik poprawności, stosowalności

Algorytm genetyczny - przebieg Genotypy osobników z populacji ulegają modyfikacji podczas rozmnażania. Zmiany te wynikają z: Mutacji Mieszania Oceniamy przystosowanie nowopowstałych osobników Czym lepiej przystosowany jest osobnik, tym większe ma prawdopodobieństwo na wzięcie udziało w tworzeniu następnego pokolenia. Osobniki z najmniejszym przystosowaniem giną

Algorytm genetyczny - przykład Problem: Znaleźć maksimum funkcji rzeczywistej f(x) na pewnym zboiorze X.

Algorytm genetyczny - przykład 1. Wstęp kodowanie problemu 1. Wszystkie potencjalne rozwiązania to np. binarne przedstawienie liczby long 2. f(x) w tym przypadku może być wskaźnikiem przystosowania rozwiązania 2. Ustalamy wielkość populacji N, a następnie losujemy N genotypów (osobników) 3. Ustalamy ile procent bitów ( genów ) w populacji ulega mutacji w jednym pokoleniu (najczęściej od 0.1% do 0.5%). Ustalamy też prawdopodobieństwo skrzyżowania dwóch osobników (najczęściej od 20% do 80%) 4. Sprawdzamy dostosowanie naszych osobników przy użyciu funkcji celu. Oceniamy fenotyp, czyli zinterpretowany (dla danego problemu) kod genetyczny

Algorytm genetyczny - przykład 5. Selekcja osobników na podstawie wskaźnika przystosowania. Z obecniej populacji N osobników losujemy N osobników nowej populacji stosując tzw. Roulette Selection, gdzie prawdopodobieństwo wylosowania każdego z osobników: 6. Nowa populacja staje się populacją bierzącą i wracamy do punktu 3.

Algorytm genetyczny podsumowanie Zalety Algorytm jest uniwersalny Nie musimy wiedzieć co optymalizujemy (metoda czarno skrzynkowa) Wystarczy nawet selekcja turniejowa Algorytm niedeterministyczny, więc możemy próbować optymalizować wielokrotnie Stosunkowo duża szybkość działania

Algorytm genetyczny podsumowanie Wady Uniwersalność mniejsza skuteczność niż alg. Specjalistyczne Wolniejsza od metod zachłannych Małe prawdopodobieństwo znalezienia rozwiązania optymalnego Wszystko zależy od dobranej funkcji fitness

Algorytm genetyczny przykłady Evolved antenna

Algorytm genetyczny przykłady Evolved Virtual Creatures, Karl Sims, 1994 Starfish Self Modeling Robot

Strategie ewolucyjne Zmienna długość kodu genetycznego (liczby zmiennoprzecinkowe) Opiera się na mutacji, a nie na rekombinacji Autoadaptacja możliwość zmiany parametrów w czasie W prostych strategiach: tzw. Reguła 1/5 sukcesów Rechenberga Możliwe kodowanie parametrów w osobniku

Strategie ewolucyjne problem Maksymilizacja funkjci f: R n -> R na zadanym przedziale [a 1, b 1 ] x x [a n, b n ]

Strategie ewolucyjne Algorytm ES(1 + 1) Populacja: 1 Kolejne populacje wybierane są ze zbioru rodziców (rodzica) i zbioru dzieci (dziecka) Mechanizm adaptacji: Reguła 1/5 sukcesów Rechenberga

Strategie ewolucyjne Algorytm ES(1 + 1) EVOLUTION-STRATEGY(F, σ0, θ1, θ2) 1. σ σ0; 2. x RANDOM-INDIVIDUAL(); 3. INDIVIDUAL-EVALUATION(x, F); 4. while not TERMINATION-CONDITION(σ) 5. do 6. y MUTATION(x, σ); 7. INDIVIDUAL-EVALUATION(y, F); 8. if F(x) < F(y) 9. then 10. x y; 11. SIGMA-UPDATING(σ, θ1, θ2);

Strategie ewolucyjne Algorytm ES(1 + 1) Mutacja Osobnik x = (x 1, x 2,, x d ) R d Z osobnika x tworzymy nowego osobnika y = (y 1, y 2,, y d ) R d y i = x i + ε i dla i = 1, 2,, d gdzie ε i jest liczbą rzeczywistą wygenerowaną losowo z rozkładen normalnym N(0, σ 2 ) o średniej 0 i wariacji σ 2. Parametr σ określa zasięg mutacji. Jest on modyfikowany podczas działania algorytmu (Sigma-Updating, Reguła 1/5 sukcesów Rechenberga)

Strategie ewolucyjne Algorytm ES(1 + 1) Sigma-Updating Aktualizuje σ przy użyciu reguły 1/5 sukcesów Rechenberga z parametrami θ 1 i θ 2. Parametry te można dowolnie dobrać, ale doświadczenie pokazało, że najlepsze uzyskuje się dla θ 1 = 1 0.82 1.22 i θ 2 = 0.82

Strategie ewolucyjne Algorytm ES(1 + 1) Reguła 1/5 sukcesów Rechenberga Jeżeli prez k iteracji liczba mutacji zakończonych sukcesem była większa niż 1/5 ogólnej liczby wykonanych mutacji, to zasięg mutacji jest zwiększany σ θ 1 σ dla pewnego θ 1 > 1 Jeżeli przez ostatnie k iteracji liczba mitacji zakończonych sukscesem była mniejsza niż 1/5 ogólnej liczby wykonanych mutacji, to zasięg mutacji jest zmienszany σ θ 2 σ dla pewnego θ 2 < 1 W przeciwnym wypadku, zasięg mutacji nie zmienia się

Strategie ewolucyjne Algorytm ES(1 + 1) Wrażliwość na minima lokalne funkcji Użyta metoda autoadaptacji może prowadzić do przedwczesnej zbieżności Rozszerzenie ES(μ + 1)

Strategie ewolucyjne Algorytm ES(1 + 1) Przykład zastosowania Optymlizacja dyszy dwufazowej (Hans-Paul Schwefel) Wydajność ok. 55% Wydajność ok. 80%

Strategie ewolucyjne Algorytmy ES(μ + λ) i ES(μ, λ) ES(μ + λ) Populacja μ osobników generuje λ potomków Kolejne pokolenie (populację) wybieramy z sumy zbiorów rodziców i dzieci, czyli z μ + λ osobników ES(μ, λ) Populacja μ osobników generuje λ potomków Kolejne pokolenie (populację) wybieramy ze zbioru potomków, czyli z λ osobników Mechaniz autoadaptacji oparty o kodowanie parametrów ewolucyjnych w pojedynczym osobniku Zazwyczaj μ = 20 i λ = 7μ

Strategie ewolucyjne Algorytmy ES(μ + λ) i ES(μ, λ) Obserwacja W początkowej fazie działania algorytmu pożyteczne są duże mutacje Małe mutacje są korzystniejsze w końcowej fazie algorytmu Możliwy jest przypadek, gdzie kożystna wielkość mutacji będzie się zmieniać naprzemiennie: duża, mała, duża, mała itd.

Strategie ewolucyjne Algorytmy ES(μ + λ) i ES(μ, λ) Wnioski Algorytm musi sam dostosowywać (optymalizować) wielkość mutacji potrzebnej w danym momencie na podstawie obserwacji (np. przy użyciu reguły 1/5 sukcesów) Każdy osobnik powinien przechowywać własną wielkość mutacji

Strategie ewolucyjne Algorytmy ES(μ + λ) i ES(μ, λ) Osobnik w populacji ma postać: y = [x 1, x 2,, x n, σ] gdzie x 1, x 2,, x n R n

Strategie ewolucyjne Algorytmy ES(μ + λ) i ES(μ, λ) Mutacja osobnika y tworzy nowego osobnika y y = x 1, x 2,, x n, σ y = x 1, x 2,, x n, σ Obliczenie następnej wielkości (kroku) mutacji σ σ = σ exp τ 0 N 0, 1 if σ == ε 0 σ = ε 0 Następnie dla każdego x i : x i = x i + N i (0, σ ) Parametr τ 0 to parametr szybkości uczenia τ 0 ~ 1 n (Schwefal, 1995)

Strategie ewolucyjne Algorytmy ES(μ + λ) i ES(μ, λ) Każdy gen ma swój własny krok wielkość mutacji y = x 1, x 2,, x n, σ 1, σ 2,, σ n y = x 1, x 2,, x n, σ 1, σ 2,, σ n Uaktualnienie kroku mutacji σ i = σ i exp τ 0 N 0, 1 + τ 1 N i 0,1 Proponowane paramerty: τ 0 ~ 1 2n τ 1 ~ 1 2 n Dla każdego x i : x i = x i + N i (0, σ i )

Strategie ewolucyjne Algorytmy ES(μ + λ) i ES(μ, λ) Problemy: W alkorytmie ES(μ + λ) może dojść do utworzenia niezastępowalnego osobnika ES(μ, λ) dla funkcji wielomodalnych daje zazwyczaj lepsze wyniki

Strategie ewolucyjne Algorytmy ES(μ/ρ + λ) i ES(μ/ρ, λ) Rekombinacja tworzenie dzieci 1. Wybieramy ρ osobników z μ rodziców 2. Tworzymy potomka poprzez rekombinacje chromosomów wybranych ρ rodziców 3. Poddajemu mutacji nowopowstałe dziecko i dodajemy je do populacji dzieci Takich potomków tworzymy λ. Algorytmy z rekombinacją to: ES(μ/ρ + λ) i ES(μ/ρ, λ)

Strategie ewolucyjne Algorytmy ES(μ/ρ + λ) i ES(μ/ρ, λ) Przy rekombinacji wartości genów nowego osobnika obliczamy: r j x j = x j gdzie r j jest wylosowanym numerem rodzica Wielkość mutacji obliczamy w sposób: ρ σ j = 1 ρ i=1 σ j i

Programowanie genetyczne - Wstęp Programowanie genetyczne to zautomatyzowana metoda mająca na celu tworzenie programów komputerowych w oparciu o ogólną definicję problemu. (Wikipedia)

Programowanie genetyczne - Wstęp Po raz pierwszy przedstawone w pracy Nichaela L. Cramera w 1985 r. Spopularyzowane przez Johna Kozę w 1992 r. (Genetic Programming: On the Programming of Computers by Means of Natural Selection)

Programowanie genetyczne - Wstęp Tzw. Drzewa składowe (parse tree) reprezentują program Wymaga potężnych zasobów obliczeniowych Rozmiar populacji to często miliony osobników Populacja programów Tworzenie potomków (nowe programy) Ewolucja (testowanie i selekcja)

Programowanie genetyczne Parse tree Reprezentacja wyrażenia logicznego x y x z ( z (w v)

Programowanie genetyczne Parse tree Reprezentacja kodu 1. i = 1; 2. while ( i < 20 ) 3. { 4. i = i + 1 5. } = ; while i 1 < i 20 = i + i 1