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

Podobne dokumenty
SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

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

Algorytm genetyczny (genetic algorithm)-

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

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

6. Klasyczny algorytm genetyczny. 1

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

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

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

ALGORYTMY GENETYCZNE ćwiczenia

METODY HEURYSTYCZNE wykład 3

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Algorytmy genetyczne

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

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

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

Algorytmy ewolucyjne NAZEWNICTWO

Algorytmy genetyczne

Algorytmy genetyczne w optymalizacji

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

ALGORYTMY GENETYCZNE

SZTUCZNA INTELIGENCJA

Strategie ewolucyjne (ang. evolu4on strategies)

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

Algorytmy genetyczne

METODY HEURYSTYCZNE wykład 3

Algorytmy genetyczne

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

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

Standardowy algorytm genetyczny

Obliczenia ewolucyjne - plan wykładu

Metody Rozmyte i Algorytmy Ewolucyjne

Algorytmy ewolucyjne. wprowadzenie

Algorytmy genetyczne (AG)

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

ALGORYTMY GENETYCZNE I EWOLUCYJNE

Metody przeszukiwania

SZTUCZNA INTELIGENCJA

Techniki optymalizacji

GENETYKA POPULACJI. Ćwiczenia 1 Biologia I MGR /

Generowanie i optymalizacja harmonogramu za pomoca

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

Modyfikacje i ulepszenia standardowego algorytmu genetycznego

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

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

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

Dobór parametrów algorytmu ewolucyjnego

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

Programowanie genetyczne, gra SNAKE

ZARZĄDZANIE POPULACJAMI ZWIERZĄT

Algorytmy ewolucyjne 1

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

ZASTOSOWANIE ALGORYTMU GENETYCZNEGO DO WYZNACZANIA OPTYMALNYCH DECYZJI STERUJĄCYCH

Techniki ewolucyjne - algorytm genetyczny i nie tylko

Zadania laboratoryjne i projektowe - wersja β

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

METODY HEURYSTYCZNE 3

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

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

EGZAMIN DYPLOMOWY, część II, Biomatematyka

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

Równoważność algorytmów optymalizacji

OBLICZENIA EWOLUCYJNE

Algorytmy ewolucyjne `

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA ZADANIE KOMIWOJAŻERA METODY ROZWIĄZYWANIA. Specyfika zadania komiwojażera Reprezentacje Operatory

Algorytmy ewolucyjne Część II

Optymalizacja. Wybrane algorytmy

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

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

6. Projektowanie składu chemicznego stali szybkotn cych o wymaganej twardo ci i odporno ci na p kanie

Teoria algorytmów ewolucyjnych

Program "FLiNN-GA" wersja 2.10.β

Strategie ewolucyjne (ang. evolution strategies)

1 Genetykapopulacyjna

Aproksymacja funkcji a regresja symboliczna

OBLICZENIA EWOLUCYJNE

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

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

Automatyczny dobór parametrów algorytmu genetycznego

GENETYCZNE PODSTAWY ZMIENNOŚCI ORGANIZMÓW ZASADY DZIEDZICZENIA CECH PODSTAWY GENETYKI POPULACYJNEJ

Algorytmy ewolucyjne (2)

Wstęp do Sztucznej Inteligencji

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

Obliczenia Naturalne - Algorytmy genetyczne

6. Algorytm genetyczny przykłady zastosowań.

Pamiętając o komplementarności zasad azotowych, dopisz sekwencję nukleotydów brakującej nici DNA. A C C G T G C C A A T C G A...

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.

Algorytmy genetyczne w interpolacji wielomianowej

Algorytmy ewolucyjne (3)

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

OBLICZENIA EWOLUCYJNE

ALHE Z11 Jarosław Arabas wykład 11

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

ZARZĄDZANIE POPULACJAMI ZWIERZĄT 1. RÓWNOWAGA GENETYCZNA POPULACJI. Prowadzący: dr Wioleta Drobik Katedra Genetyki i Ogólnej Hodowli Zwierząt

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

Teoria ewolucji. Podstawowe pojęcia. Wspólne pochodzenie.

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

METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne

OBLICZENIA EWOLUCYJNE

Transkrypt:

Algorytmy genetyczne Paweł Cieśla 8 stycznia 2009

Genetyka - nauka o dziedziczeniu cech pomiędzy pokoleniami. Geny są czynnikami, które decydują o wyglądzie, zachowaniu, rozmnażaniu każdego żywego organizmu. Podstawy dziedziczenia cech z jednego pokolenia na drugie zostały odkryte 150 lat temu. DNA - (ang. Deoxyribonucleic acid) - kwas deoksyrybonukleinowy, wielocząsteczkowy organiczny związek chemiczny należący do kwasów nukleinowych. Występuje w chromosomach, pełni rolę nośnika informacji genetycznej.

Rodzaje genetyki 1. klasyczna - dziedziczenie cech 2. molekularna - nauka o chemicznej i fizycznej strukturze DNA 3. populacji 4. ilościowa - statystyczne relacje pomiędzy genami a cechami, które są kodowane przez geny

Podział organizmów ze względu na rodzaj komórek 1. eukarionty - organizmy, które posiadają jądro, które ochroni DNA. 2. prokarionty - organizmy nie posiadające jądra komórkowego. DNA znajduje się w płynnym wnętrzu komórki.

Podział organizmów ze względu na rodzaj chromosomów 1. organizmy diploidalne - chromosomy połączone w pary 2. organizmy haploidalne - chromosomy pojedyncze

Rozmnażanie organizmów diploidalnych Pary chromosomów krzyżują się u każdego rodzica, tworząc pojedynczy chromosom zwany gametą. Obie gamety rodziców tworzą parę chromosomów potomka

Rozmnażanie organizmów haploidalnych Pojedyncze chromosomy rodziców krzyżują się, tworząc pojedynczy chromosom potomka.

Programy ewolucyjne Program ewolucyjny jest algorytmem probabilistycznym, w którym generuje się populację osobników P(t) = {x1 t, x 2 t,..., x n} t w każdej iteracji t. Każdy osobnik przedstawia możliwe rozwiązanie rozpatrywanego zadania i jest reprezentowany przez strukturę danych S. Każde rozwiązanie xi t ocenia się na podstawie miary dopasowania. Nową populację tworzy się (w iteracji t + 1) przez selekcję osobników najlepiej dopasowanych. Nowe osobniki podlegają dodatkowo transformacji za pomocą operatorów genetycznych.

Schemat algorytmu genetycznego t := 0; ustal początkowowe P(t); oceń P(t); while(not warunek zakończenia) do begin t := t + 1; wybierz P(t) z P(t 1) zmień P(t) oceń P(t) end

Operatory genetyczne 1. Krzyżowanie - połączenie cech dwóch rodzicielskich chromosomów w chromosomach dwóch potomków przez wymianę odcinków chromosomów rodziców. Na przykład jeżeli osobniki (rozwiązania) są reprezentowane przez pięcio elementowe wektory (a 1, b 1, c 1, d 1, e 1 ) i (a 2, b 2, c 2, d 2, e 2 ), to po operacji krzyżowania po drugim genie będą one miały postać: (a 1, b 1, c 2, d 2, e 2 ) oraz (a 2, b 2, c 1, d 1, e 1 ). 2. Mutacja - polega na losowej zmianie jednego lub więcej genów wybranego chromosomu.

Algorytm ewolucjny musi zawierać 5 następujących elementów: 1. podstawową reprezentację potencjalnych rozwiązań 2. sposób tworzenia początkowej populacji 3. funkcję oceniającą, która gra rolę środowiska 4. operatory genetyczne, które wpływają na populację potomków 5. wartości różnych parametrów (np. rozmiar populacji, prawdopodobieństwa użycia operatorów krzyżowania i mutacji)

Optymalizacja funkcji Niech funkcja ma postać: f (x) = x sin(10πx) + 1, 0.

Zadanie polega na znalezieniu x [1, 2] maksymalizującego funkcję f. To znaczy szukamy takiego x 0, że f (x 0 ) f (x) dla każdego x [ 1, 2]. Maksimum, które musimy znależć to f (1, 85) = 2, 85.

Reprezentacja zmiennej x Do reprezentacji zmiennej rzeczywistej x użyjemy chromosomu w postaci wektora binarnego. Długość tego wektora zależy od żądanej dokładności. W moim przykładzie ustalę dokładność do 6 cyfr po przecinku. Dziedzina zmienności x ma długość 3. Ustalona przeze mnie dokładność wymaga aby przedział [ 1, 2] był podzielony na 3 1000000 podprzedziałów. Oznacza to, że chromosom musi mnieć długość 22 bity, ponieważ: 2097152 = 2 21 < 3000000 2 22 = 4194304

Odwzorowanie łańcucha binarnego na zmienną rzeczywistą x [ 1, 2] Ogólnie: < b 21, b 20,..., b 0 > 2 = ( 21 i=0 x = 1 + 3x 2 22 1. b i 2 i ) 10 = x, x = poczatek + dlugosc 3 2 iloscbitow 1

Populacja początkowa Tworzymy populację chromosomów, w której każdy chromosom ma długość 22 bity. Każdy bit w populacji wyznaczamy losowo.

Jedna iteracja algorytmu genetycznego Pawel Ciesla, Maksymalizacja funkcji: x * sin(10 * Pi * x) + 1 Wypisuje losowa populacje: (1) 1110111011100001000001 (2) 1001110010111010000111 (3) 0110101010010111101010 (4) 1000111001010010110011 (5) 0111110110011001110111 (6) 1011011101010010110111 (7) 1001001111101111000010 (8) 1000101100010110111000 (9) 0000001110011001100011 (10) 1100010010011000100111 (11) 0010011110110111101001 (12) 1011000111010100110011 (13) 1100110101101000000011 (14) 1100101010101100000010 (15) 1011111101100100100010

(16) 1001101100010100010101 (17) 0001010111011010010010 (18) 0100001011100010011100 (19) 0100011111001001001101 (20) 1000011110101101001111 Wypisuje wartosci oceny: (1) 0.912492 (2) 1.759471 (3) 1.249008 (4) 1.569280 (5) 1.366899 (6) -0.145438 (7) 0.365917 (8) 1.505357 (9) 0.067464 (10) 0.869124 (11) 0.529223 (12) 1.539694

(13) 1.280748 (14) 0.008509 (15) 2.206261 (16) 1.414353 (17) 0.271368 (18) 1.104672 (19) 0.847105 (20) 0.811755 Calkowite dopasowanie: 19.533261 Wypisuje prawdopodobienstwa wyboru chromosomow: (1) 0.046715 (2) 0.090076 (3) 0.063943 (4) 0.080339 (5) 0.069978 (6) -0.007446 (7) 0.018733 (8) 0.077066 (9) 0.003454 (10) 0.044495

(11) 0.027093 (12) 0.078824 (13) 0.065568 (14) 0.000436 (15) 0.112949 (16) 0.072407 (17) 0.013893 (18) 0.056553 (19) 0.043367 (20) 0.041558 Wypisuje dystrybuanty: (1) 0.046715 (2) 0.136790 (3) 0.200733 (4) 0.281072 (5) 0.351050 (6) 0.343604 (7) 0.362337 (8) 0.439404 (9) 0.442857 (10) 0.487352

(11) 0.514445 (12) 0.593270 (13) 0.658837 (14) 0.659273 (15) 0.772222 (16) 0.844629 (17) 0.858522 (18) 0.915075 (19) 0.958442 (20) 1.000000 Wypisuje liczby losowe z przedzialu [0, 1]: (1) 0.530000 (2) 0.370000 (3) 0.080000 (4) 0.940000 (5) 0.690000 (6) 0.240000 (7) 0.600000 (8) 0.850000 (9) 0.800000 (10) 0.910000

(11) 0.400000 (12) 0.410000 (13) 0.390000 (14) 0.740000 (15) 0.880000 (16) 0.930000 (17) 0.860000 (18) 0.110000 (19) 0.840000 (20) 0.790000 Wypisuje chromosomy po selekcji: (1) 1011000111010100110011 (2) 1000101100010110111000 (3) 1001110010111010000111 (4) 0100011111001001001101 (5) 1011111101100100100010 (6) 1000111001010010110011 (7) 1100110101101000000011 (8) 0001010111011010010010 (9) 1001101100010100010101

(10) 0100001011100010011100 (11) 1000101100010110111000 (12) 1000101100010110111000 (13) 1000101100010110111000 (14) 1011111101100100100010 (15) 0100001011100010011100 (16) 0100011111001001001101 (17) 0100001011100010011100 (18) 1001110010111010000111 (19) 1001101100010100010101 (20) 1001101100010100010101 Wypisuje wartosci oceny po selekcji: (1) 1.539694 (2) 1.505357 (3) 1.759471 (4) 0.847105 (5) 2.206261 (6) 1.569280 (7) 1.280748 (8) 0.271368

(9) 1.414353 (10) 1.104672 (11) 1.505357 (12) 1.505357 (13) 1.505357 (14) 2.206261 (15) 1.104672 (16) 0.847105 (17) 1.104672 (18) 1.759471 (19) 1.414353 (20) 1.414353 Calkowite dopasowanie po selekcji: 27.865266 Wybrane chromosomy do krzyzowania: 1 3 5 11 13 14 15 17 18 20 Wypisuje chromosomy wybrane do krzyzowania: 1011000111010100110011 1001110010111010000111 1011111101100100100010 1000101100010110111000

1000101100010110111000 1011111101100100100010 0100001011100010011100 0100001011100010011100 1001110010111010000111 1001101100010100010101 Wypisuje chromosomy po krzyzowaniu: 1011000110111010000111 1001110010010100010101 1011111101100100100010 1000101100010110111000 1000101100010110111000 1011111101100100100010 0100001011100010011100 0100001011100010011100 1001110010010100010101 1001101101010100110011 Wypisuje chromosomy przed mutacja: (1) 1011000110111010000111 (2) 1000101100010110111000

(3) 1001110010010100010101 (4) 0100011111001001001101 (5) 1011111101100100100010 (6) 1000111001010010110011 (7) 1100110101101000000011 (8) 0001010111011010010010 (9) 1001101101010100110011 (10) 0100001011100010011100 (11) 1000101100010110111000 (12) 1000101100010110111000 (13) 1000101100010110111000 (14) 1011111101100100100010 (15) 0100001011100010011100 (16) 0100011111001001001101 (17) 0100001011100010011100 (18) 1001110010010100010101 (19) 1001101101010100110011 (20) 1001101101010100110011 Wypisuje chromosomy po mutacji: (1) 1011000110111010000111

(2) 1000100100010110111000 (3) 1001110010010100010101 (4) 0100011111001001001101 (5) 1011111101100100100010 (6) 1000111001010010110011 (7) 1100110111111000000011 (8) 0001010111011110010010 (9) 1001101101010100100011 (10) 0100001011100010011000 (11) 1000100100010110111000 (12) 1000100100010110111000 (13) 1000100100010110111000 (14) 1011111101100100100010 (15) 0100001011100010011000 (16) 0100011111001001001101 (17) 0100001011100010011000 (18) 1001110010010100010101 (19) 1001101101010100100011 (20) 1001101101010100100011 Wypisuje wartosci oceny po mutacji i krzyzowaniu:

(1) 1.574700 (2) 1.117555 (3) 1.737772 (4) 0.847105 (5) 2.206261 (6) 1.569280 (7) 1.560727 (8) 0.272421 (9) 1.479246 (10) 1.104691 (11) 1.117555 (12) 1.117555 (13) 1.117555 (14) 2.206261 (15) 1.104691 (16) 0.847105 (17) 1.104691 (18) 1.737772 (19) 1.479246 (20) 1.479246

Calkowite dopasowanie: 26.781437

Metody selekcji Metoda proporcjonalna 1. Wyznacz prawdopodobieństwa wyboru osobników z populacji w postaci względnego przystosowania p s (x i ) = f (x i ) N i=1 f (x ; i = 1,..., N. i) 2. Wyznacz dystrybuantę dla ustalonej sekwencji osobników q(x i ) = i p s (x i ). j=1 3. N - krotnie zakręć kołem ruletki: Wygeneruj dla każdego osobnika z populacji liczbę losową r [0, 1]. Ustal pierwszego napotkanego osobnika w populacji, dla którego spełniony jest warunek: r q(x i). Skopiowanie wylosowanego osobnika do nowej populacji.

Metody selekcji II Metoda ze stochastycznym doborem resztowym: 1. Wyznacz oczekiwaną liczbę kopii osobników w populacji: e(x i ) = f (x i ) N i=1 f (x ; i = 1,..., N. i) N 2. Skopiuj N int = N i=1 e(x i) osobników do nowego pokolenia. Oblicz Ñ = N N int 3. Wyznacz dystrybuantę osobników: q(x i ) = i {e(x i ) e(x i ) }. j=1 4. Kręcimy kołem ruletki Ñ - krotnie Losujemy dla każdego osobnika liczbę r [0, 1]. Ustalenie pierwszego napotkanego osobnika w populacji, dla którego spełniony jest warunek: r q(xi) q(x n). Skopiowanie wylosowanego osobnika do nowego pokolenia.

Metody selekcji III Metoda turniejowa - metoda polegająca na rywalizacji dwóch osobników.

Ocena stopnia przystosowania W algorytmach genetycznych wymagane jest, aby przeciwdziedzina funkcji celu miała wartości dodatnie. Sposoby przekształcenia funkcji celu w przypadku wartości ujemnych: 1. Dla funkcji kosztu u(x), gdy jej przeciwdziedzina przyjmuje wartości dodatnie i ujemne 2. f (x) = C max u(x). 3. Dla funkcji zysku g(x), gdy jej przeciwdziedzina przyjmuje wartości dodatnie i ujemne f (x) = g(x) + C min.