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

Podobne dokumenty
ALGORYTMY GENETYCZNE ćwiczenia

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Algorytm genetyczny (genetic algorithm)-

Algorytmy genetyczne w optymalizacji

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

Algorytmy genetyczne

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

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

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

6. Klasyczny algorytm genetyczny. 1

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

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

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

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

Algorytmy ewolucyjne NAZEWNICTWO

Algorytmy genetyczne

Algorytmy genetyczne (AG)

Obliczenia ewolucyjne - plan wykładu

Standardowy algorytm genetyczny

Techniki optymalizacji

Generowanie i optymalizacja harmonogramu za pomoca

Modyfikacje i ulepszenia standardowego algorytmu genetycznego

Strategie ewolucyjne (ang. evolu4on strategies)

Algorytmy genetyczne

METODY HEURYSTYCZNE wykład 3

Algorytmy ewolucyjne 1

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

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

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

METODY HEURYSTYCZNE wykład 3

Programowanie genetyczne, gra SNAKE

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

Algorytmy ewolucyjne. wprowadzenie

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

SZTUCZNA INTELIGENCJA

Wstęp do Sztucznej Inteligencji

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

Algorytmy genetyczne

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

Techniki ewolucyjne - algorytm genetyczny i nie tylko

Dobór parametrów algorytmu ewolucyjnego

Metody Rozmyte i Algorytmy Ewolucyjne

Równoważność algorytmów optymalizacji

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

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

SZTUCZNA INTELIGENCJA

ALGORYTMY GENETYCZNE

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

Algorytmy ewolucyjne Część II

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

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

Strategie ewolucyjne (ang. evolution strategies)

Algorytmy genetyczne w interpolacji wielomianowej

ALHE Z11 Jarosław Arabas wykład 11

Algorytmy ewolucyjne `

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

Program "FLiNN-GA" wersja 2.10.β

Zadania laboratoryjne i projektowe - wersja β

Metody przeszukiwania

5. Algorytm genetyczny przykład zastosowania

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

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

Optymalizacja. Wybrane algorytmy

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

Algorytmy ewolucyjne (2)

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

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

6. Algorytm genetyczny przykłady zastosowań.

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne

METODY HEURYSTYCZNE 3

FOLIA POMERANAE UNIVERSITATIS TECHNOLOGIAE STETINENSIS Folia Pomer. Univ. Technol. Stetin. 2009, Oeconomica 275 (57), 53 58

Jak powstają nowe gatunki. Katarzyna Gontek

FOLIA POMERANAE UNIVERSITATIS TECHNOLOGIAE STETINENSIS Folia Pomer. Univ. Technol. Stetin., Oeconomica 2017, 337(88)3, 5 12

Problem Komiwojażera - algorytmy metaheurystyczne

Zaawansowane programowanie

Algorytmy genetyczne Michał Bereta Paweł Jarosz (część teoretyczna)

Problemy z ograniczeniami

Algorytmy ewolucyjne (3)

ZASTOSOWANIE ALGORYTMÓW GENETYCZNYCH DO AUTOMATYCZNEGO GENEROWANIA PLANU ZAJĘĆ 10

GENETYKA POPULACJI. Ćwiczenia 1 Biologia I MGR /

Problemy optymalizacyjne Dana jest przestrzeń X. Znaleźć x X taki, że x spełnia określone warunki. Dana jest przestrzeń X i funkcja celu f: X R.

Wielokryterialne harmonogramowanie portfela projektów. Bogumiła Krzeszowska Katedra Badań Operacyjnych

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

OBLICZENIA EWOLUCYJNE

METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne

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

OBLICZENIA EWOLUCYJNE

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

Algorytmy metaheurystyczne podsumowanie

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

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

Algorytmy ewolucyjne

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

ALGORYTMY GENETYCZNE I EWOLUCYJNE

ALGORYTMY EWOLUCYJNE I ICH ZASTOSOWANIA

Teoria algorytmów ewolucyjnych

LICZEBNOŚĆ POPULACJI OBLICZENIA EWOLUCYJNE. wykład 3. Istotny parametr AG...

Automatyczny dobór parametrów algorytmu genetycznego

Transkrypt:

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

Wprowadzenie Algorytmy ewolucyjne ogólne algorytmy optymalizacji operujące na populacji rozwiązań, inspirowane biologicznymi zjawiskami, takimi jak selekcja naturalna, krzyżowanie i mutacja. Główną zaletą jest możliwość rozwiązania dowolnego problemu, którego propozycje rozwiązania można przedstawić w sformalizowany sposób, a następnie poddać ocenie. 2

Inspiracje biologiczne (1) Główne inspiracje biologiczne pochodzą z dzieła Karola Darwina On the Origin of Species. 1. Osobniki danego gatunku produkują więcej potomstwa, niż jest w stanie przetrwać do dorosłości. 2. Rozmiar populacji gatunku jest stały, jeśli nie występują zewnętrzne działania (działanie człowieka, katastrofy naturalne itp.). 3

Inspiracje biologiczne (2) 3. Dostępność pożywienia dla całego gatunku jest limitowana, ale stała w czasie, ponownie jeśli nie występują zewnętrzne działania. 4. Osobniki rywalizują o dostępność pożywienia. 5. Nie występują dwa identyczne osobniki, szczególnie w gatunkach rozmnażających się płciowo. 6. Niektóre różnice między osobnikami wpływają na ich indywidualną sprawność, a przez to zdolność do przetrwania. 4

Inspiracje biologiczne (3) 7. Różnice te są dziedziczone z pokolenia na pokolenie. 8. Słabsze osobniki mają mniej potomków, silniejsze więcej. 9. Osobniki, które przetrwają i wyprodukują potomstwo najprawdopodobniej przekażą mu swoje cechy. 5

Inspiracje biologiczne (4) 10. Gatunki będą powoli zmieniać się i coraz bardziej przystosowywać do środowiska, w którym żyją. Może to prowadzić nawet do powstania nowych gatunków. 6

Nazewnictwo (1) Populacja zbiór kandydatów na rozwiązanie (osobników). Genotyp forma zapisu propozycji rozwiązania (np. ciąg zerojedynkowy dla liczb rzeczywistych). Chromosom często tożsame z genotypem, jednak jeden genotyp może zawierać wiele chromosomów. Fenotyp określa jak rozwiązanie jest widziane przez środowisko (np. liczba rzeczywista przy optymalizacji). 7

Nazewnictwo (2) Każdy osobnik działa w środowisku, które ocenia osobnika. Ocena osobnika nazwana jest jego przystosowaniem (fitnessem). Funkcja przyporządkowująca oceny nazwana jest funkcją przystosowania (fitness function). W każdej iteracji algorytmu populacja rodzicielska zastępowana jest populacją potomną. Osobniki powstałe w tej samej iteracji należą do wspólnej generacji. 8

Pseudokod algorytmu ewolucyjnego 1. Stwórz populację P. 2. Dopóki nie jest spełniony warunek zatrzymania powtarzaj: 1. Dokonaj selekcji i zapisz wyselekcjonowane osobniki jako populację P. 2. Poddaj P krzyżowaniu. 3. Poddaj P mutacji. 9

Schemat działania algorytmów ewolucyjnych 10

Algorytmy genetyczne jako przykład algorytmów ewolucyjnych Często pojęcia algorytmów genetycznych i ewolucyjnych używane są (niepoprawnie) zamiennie. Algorytmy genetyczne są podklasą algorytmów ewolucyjnych, która charakteryzuje się binarną reprezentacją chromosomu. Każdy chromosom jest zerojedynkowym wektorem o ustalonej długości n. X = [X 0, X 1,, X n-1 ], gdzie X i {0,1} 11

Pseudokod - przypomnienie 1. Stwórz populację P. 2. Dopóki nie jest spełniony warunek zatrzymania powtarzaj: 1. Dokonaj selekcji i zapisz wyselekcjonowane osobniki jako populację P. 2. Poddaj P krzyżowaniu. 3. Poddaj P mutacji. 12

Inicjacja populacji P Populacja zazwyczaj tworzona jest z ustalonej liczby p osobników o losowych genach. P = {X i }, gdzie i = 1,, p-1 13

Warunek zatrzymania Warunkiem zatrzymania może być: Ustalona liczba iteracji, Osiągnięcie zadanego optimum, Brak poprawy przystosowania najlepszego osobnika w zadanej liczbie iteracji, itp. 14

Funkcja przystosowania Funkcja przystosowania F musi być monotoniczna i właściwa dla problemu. Dla każdej pary x i,x j jeśli x i jest lepsze od x j F(x i )>F(x j ) (zadanie maksymalizacji) Przyjmijmy jako testową funkcję ONEMAX, która zlicza liczbę jedynek w wektorze. Dla n = 5: X 0 = [0 0 0 0 0], F(X 0 ) = 0 X 1 = [0 1 0 1 0], F(X 1 ) = 2 X 2 = [1 1 1 1 0], F(X 2 ) = 4 F max (X i ) = n 15

Selekcja Selekcja jest procesem, w którym wszystkie osobniki danej generacji poddane są ocenie, a następnie selektywnie przekazane do kolejnej generacji. Celem selekcji jest powielenie osobników silnie przystosowanych, zachowanie umiarkowanie przystosowanych oraz usunięcie najsłabszych. Poprzez zmiany liczności osobników modulowane jest prawdopodobieństwo przekazania genów. 16

Selekcja ruletkowa (1) Najpopularniejszy rodzaj selekcji to selekcja ruletkowa. W selekcji ruletkowej każdemu osobnikowi przyporządkowane zostaje prawdopodobieństwo przejścia do kolejnej generacji proporcjonalne do wartości jego przystosowania P (X i ) = F(X i ) / p-1 j=0 F(X j ) 17

Selekcja ruletkowa (2) Losowanie przypomina obrót ruletką. Prawdopodobieństwa odkładane są na tarczy ruletki, po czym wykonywany jest obrót. Problem: jeśli jeden osobnik ma znacząco wyższe przystosowanie populacja straci różnorodność i szybko zbiegnie do lokalnego optimum. F(X 0 )=1 F(X 1 )=2 F(X 2 )=3 F(X 3 )=4 F(X 4 )=40 P(X 0 )=0,02 P(X 1 )=0,04 P(X 2 )=0,06 F(X 3 )=0,08 P(X 4 )=0,8 18

Inne rodzaje selekcji W celu wyeliminowania ryzyka przedwczesnej zbieżności stosuje się inne rodzaje selekcji. Jednym z rozwiązań jest stworzenie rankingu i przyporządkowanie prawdopodobieństw na podstawie miejsc w rankingu (selekcja rankingowa) Kolejne to przeprowadzanie turniejów. Z populacji rodzicielskiej losowane jest q osobników (ze zwracaniem), zaś do populacji potomnej przekazywany jest najlepszy z nich. Proces powtarzany jest tak długo, aż zostanie osiągnięta zadana wielkość populacji p. Selekcja ta zwana jest selekcją turniejową. 19

Krzyżowanie Krzyżowanie jest operacją genetyczną, podczas której losowana jest ze zwracaniem ustalona liczba osobników (zazwyczaj 2), a następnie na podstawie ich genotypów tworzone są osobniki potomne. Proces ten odpowiada biologicznemu procesowi rozmnażania. Dzięki wymianie informacji genetycznej połączonej z promowaniem silnych osobników możliwe jest uzyskiwanie coraz silniejszych jednostek. 20

Krzyżowanie jednopunktowe (1) Krzyżowanie jednopunktowe operuje na dwóch osobnikach rodzicielskich i zazwyczaj tworzy dwa osobniki potomne. Pierwszym krokiem jest wybranie punktu krzyżowania. Następnie w punkcie krzyżowania łączy się chromosomy w taki sposób, aby u każdego z potomków znalazły się geny obu rodziców. 21

Krzyżowanie jednopunktowe (1) Rozważmy osobniki: X 0 = [0 0 0 0 0] X 1 = [1 1 1 1 1] W procesie krzyżowania wylosowano punkt s=2. W wyniku krzyżowania uzyskano: X 2 = [0 0 0 1 1] X 3 = [1 1 1 0 0] 22

Krzyżowanie równomierne (1) Krzyżowanie równomierne pozwala na szybszą wymianę genów między osobnikami. Pierwszym krokiem krzyżowania równomiernego jest wylosowanie wektora o długości n, który będzie określał do którego z osobników potomnych ma trafić dany gen. Krzyżowanie równomierne zazwyczaj daje lepsze rezultaty, niż krzyżowanie jednopunktowe lub dwupunktowe. 23

Krzyżowanie równomierne (2) 24

Krzyżowanie równomierne (3) Rozważmy osobniki: X 0 = [0 0 0 0 1] X 1 = [1 1 1 1 0] W procesie krzyżowania wylosowano wektor losowy s=[0 1 1 0 0]. W wyniku krzyżowania uzyskano: X 2 = [0 1 1 0 1] X 3 = [1 0 0 1 0] 25

Mutacja (1) Rozważmy populacje (n=5, funkcja ONEMAX): X 0 = [0 0 0 0 0], F(X 0 ) = 0 X 1 = [0 1 0 1 0], F(X 1 ) = 2 X 2 = [1 1 1 1 0], F(X 2 ) = 4 X 3 = [0 0 1 1 0], F(X 2 ) = 4 X 4 = [1 0 1 1 0], F(X 2 ) = 3 Czy w wyniku krzyżowania i selekcji możliwe jest uzyskanie X i : F(X i ) = 5? 26

Mutacja (2) Nie, ponieważ X i (X 4 = 0). Z tego względu stosuje się operator mutacji, który ma za zadanie wprowadzanie nowych genów do populacji. Dla algorytmów genetycznych mutacja polega na zmianie wartości genu na przeciwną. Operator mutacji klasycznie posiada jeden parametr: prawdopodobieństwo mutacji każdego genu r. Zazwyczaj r<0.01, ponieważ mutacja może niszczyć silne rozwiązania w populacji. 27

Mutacja (3) Algorytm mutacji polega na iterowaniu po kolejnych genach, losowaniu liczby z rozkładu jednostajnego i sprawdzaniu czy jest ona niższa niż liczba r. 28

Mutacja (4) Przykład dla osobnika X 0 = [1 1 1 1 0], r=0.1: Oznaczenia: ig gen wejściowy, rnd wylosowana liczba, og - gen wyjściowy Kolejne kroki ig = 1, rnd = 0. 5, rnd>r, og = 1 ig = 1, rnd = 0. 7, rnd>r, og = 1 ig = 1, rnd = 0. 3, rnd>r, og = 1 ig = 1, rnd = 0. 2, rnd>r, og = 1 ig = 0, rnd = 0. 05, rnd<r, og = 1 Po mutacji: X 0 = [1 1 1 1 1] 29

Funkcja Easom - optimtool 30

Przykłady zastosowań algorytmów ewolucyjnych (1) Optymalizacja funkcji w R n, Problem plecakowy i jego odmiany: Generowanie jadłospisów, Układanie planu zajęć. Problem komiwojażera, Niestandardowe zadania optymalizacji: np. Poszukiwanie takiego rozmieszczenia opakowań w kartonach, aby zajęły jak najmniej przestrzeni. Musimy jedynie potrafić zasymulować propozycje rozwiązania i poddać je ocenie. 31

Przykłady zastosowań algorytmów ewolucyjnych (2) Ewolucja pojazdów poruszających się w środowisku: http://boxcar2d.com/index.html Ewolucja kształtów: Dysza silnika odrzutowego: http://ls11-www.cs.unidortmund.de/people/schwefel/eademos/ Kształt skrzydła samolotu http://3.bp.blogspot.com/_nwshay-_gtk/si2i0cwdpi/aaaaaaaaaci/8vit0zlvxtm/s1600-h/45es002.jpg http://geneticargonaut.blogspot.com/2006/03/evolutionarycomputation-classics-vol.html 32

Bibliografia Thomas Weise. Global Optimization Algorithms Theory and Application. itweise.de, Germany, 2009. Łukasz Przybyłek. Zastosowanie metod sztucznej inteligencji w dietetyce. Praca inżynierska, 2012. http://edu.pjwstk.edu.pl/wyklady/nai/scb/wy klad10/w10.htm 33

Dziękujemy za uwagę 34