Obliczenia inspirowane Naturą

Podobne dokumenty
Algorytm genetyczny (genetic algorithm)-

Programowanie Genetyczne

Obliczenia inspirowane Naturą

Obliczenia inspirowane Naturą

Algorytmy ewolucyjne NAZEWNICTWO

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

Programowanie genetyczne

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

Metody Rozmyte i Algorytmy Ewolucyjne

Programowanie genetyczne (ang. genetic programming)

Obliczenia inspirowane Naturą

Dobór parametrów algorytmu ewolucyjnego

Algorytmy genetyczne

Algorytmy genetyczne

Obliczenia inspirowane Naturą

Algorytm indukcji klasyfikatora za pomocą EA z automatycznym przełączaniem ukierunkowań

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne

Programowanie genetyczne, gra SNAKE

Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.1/33

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

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

ALGORYTMY GENETYCZNE ćwiczenia

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

Strategie ewolucyjne (ang. evolu4on strategies)

Programowanie komputerów

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

Schemat programowania dynamicznego (ang. dynamic programming)

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

LABORATORIUM 7: Problem komiwojażera (TSP) cz. 2

Obliczenia inspirowane Naturą

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

Obliczenia inspirowane Naturą

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Algorytmy ewolucyjne (3)

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

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD III: Problemy agenta

Metody Kompilacji Wykład 7 Analiza Syntaktyczna

Algorytmy ewolucyjne `

Alan M. TURING. Matematyk u progu współczesnej informatyki

Wykorzystanie metod ewolucyjnych w projektowaniu algorytmów kwantowych

Modele Obliczeń. Wykład 1 - Wprowadzenie. Marcin Szczuka. Instytut Matematyki, Uniwersytet Warszawski

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

Aproksymacja funkcji a regresja symboliczna

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

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

O ALGORYTMACH I MASZYNACH TURINGA

Algorytmy ewolucyjne. wprowadzenie

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

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne

Algorytmy genetyczne w optymalizacji

Techniki optymalizacji

Szablony funkcji i klas (templates)

Metody Kompilacji Wykład 3

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

Metody Kompilacji Wykład 1 Wstęp

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

MODELOWANIE RZECZYWISTOŚCI

Optymalizacja optymalizacji

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

Podstawy sztucznej inteligencji

Obliczenia inspirowane Naturą

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny

KARTA KURSU. Wstęp do programowania

Programowanie genetyczne - gra SNAKE

6. Klasyczny algorytm genetyczny. 1

Matematyczne Podstawy Informatyki

Algorytmy ewolucyjne 1

Automatyczny dobór parametrów algorytmu genetycznego

Optymalizacja. Wybrane algorytmy

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

Metody przeszukiwania

Gospodarcze zastosowania algorytmów genetycznych

METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne

Teoria obliczeń i złożoność obliczeniowa

Tworzenie gier na urządzenia mobilne

Hierarchia Chomsky ego Maszyna Turinga

SZTUCZNA INTELIGENCJA

Efektywność Procedur Obliczeniowych. wykład 5

Algorytm. a programowanie -

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

Strategie ewolucyjne (ang. evolution strategies)

Programowanie dynamiczne cz. 2

Język UML w modelowaniu systemów informatycznych

2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego

8. Drzewa decyzyjne, bagging, boosting i lasy losowe

Gramatyki, wyprowadzenia, hierarchia Chomsky ego. Gramatyka

Algorytmy zachłanne. dr inż. Urszula Gałązka

ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ NIELINIOWYCH PRZY POMOCY DODATKU SOLVER PROGRAMU MICROSOFT EXCEL. sin x2 (1)

Modelowanie wieloskalowe. Automaty Komórkowe - podstawy

Równoważność algorytmów optymalizacji

Złożoność obliczeniowa zadania, zestaw 2

WSPOMAGANIE DECYZJI - MIŁOSZ KADZIŃSKI LAB IV ZBIORY PRZYBLIŻONE I ODKRYWANIE REGUŁ DECYZYJNYCH

Tomasz Pawlak. Zastosowania Metod Inteligencji Obliczeniowej

Temat: Algorytm kompresji plików metodą Huffmana

Badania operacyjne egzamin

Spacery losowe generowanie realizacji procesu losowego

Elementy modelowania matematycznego

Transkrypt:

Obliczenia inspirowane Naturą Wykład 07 - Genetyka i automaty (uzupełnienie wykładu 06) Jarosław Miszczak IITiS PAN Gliwice 21/04/2016 1 / 21

1 Wprowadzenie 2 3 2 / 21

Wprowadzenie 1 Wprowadzenie 2 3 3 / 21

Wprowadzenie Algorytmy genetyczne nie odnoszą się do konkretnego problemu podają jedynie ogólny schemat (inspiracje) do tworzenia algorytmów. Wybór reprezentacji zależy od problemu. Wybór operatorów genetycznych (mutowania, krzyżowania) zależy od problemu. Czy dobór naturalny nadaje się do pisana programów? 4 / 21

1 Wprowadzenie 2 3 5 / 21

Problem: odróżnianie obrazu czarnego od białego dla obrazu na sieci stwierdź, czy więcej je komórek białych czy czarnych. Wejściem jest ciąg jedynek (czarny) i zer (biały). Jeżeli automat doprowadzi do ciągu samych jedynek, to uznajemy, że automat rozpoznał ciąg wejściowy jako bardziej czarny. Jeżeli doprowadził do samych zer że uznał wejście za raczej białe. M. Mitchell, J.P. Crutchfield, P.T. Hraber, Evolving cellular automata to perform computations: mechanisms and impediments, Physica D, 75(1), pp. 361-391 (1994) 6 / 21

Procedura oceniania automatów (wg. Mitchell, Crutchfielda i Hrabera) polegała na 100 eksperymentach według schematu: Wygeneruj losowy ciąg o zadanej gęstości jedynek (i długości 149). Potraktuj ten ciąg jako stan początkowy. Wykonaj 320 kroków. Jeżeli stan jest jednorodny, to przyznaj jeden punkt jeżeli automat dobrze ocenił gęstość. Ocena automatu jest średnim wynikiem po wszystkich eksperymentach. 7 / 21

Rozważamy automaty jednowymiarowe (2, 3), czyli mamy... reguł. Zaczynamy od 100 losowych automatów. Oceniamy i zostawiamy 20 najlepszych. Wykonujemy krzyżowanie, żeby wygenerować kolejnych 80. Dodatkowo mutujemy losowo zmieniamy dwa elementy w funkcji przejścia. 8 / 21

Ewolucję automatów można podzielić na epoki. W pierwszej epoce najlepsze są automaty które dają zawsze ciąg stały. W drugiej epoce pojawiają się automaty klasyfikujące poprawnie skrajne przypadki. W trzeciej epoce pojawiają się automaty które stopniowo podejmują prawidłową decyzje dla coraz większego zakresu gęstości jedynek. Szczytowe osiągniecie to 0.936. 9 / 21

(Gacsa-Kurdyumova-Levina) Jeżeli s i (t) = 0, to s i (t + 1) jest wybierany przez głosowanie ze zbioru {s i (t), s i 1 (t), s i 3 (t)} Jeżeli s i (t) = 1, to s i (t + 1) jest wybierany przez głosowanie ze zbioru {s i (t), s i+1 (t), s i+3 (t)} P. Gach, G. L. Kurdyumov, L. A. Levin, One-Dimensional Uniform Arrays That Wash Out Finite Islands, Probl. Peredachi Inf., 14:3 (1978), 92 96 10 / 21

(Gacsa-Kurdyumova-Levina) osiąga 0.972 takiej wydajności nie osiągają automaty wyhodowane genetycznie. fraction of correct classifications 1 0.75 0.5 0.25 0 149 cell lattice 599 cell lattice 999 cell lattice 0 0.25 0.5 0.75 1 ρ Za: M. Mitchell, P. Hraber, J.P. Crutchfield. Revisiting the edge of chaos: Evolving cellular automata to perform 11 / 21

1 Wprowadzenie 2 3 12 / 21

1964, Lawrence J. Fogel odkrywanie gramatyki języka dla którego znany jest alfabet i przykłady. Ewolucji poddawane były automaty skończone. Automatyczne generowanie programów w języku LISP. 1981, Richard Forsyth wykorzystanie struktury drzewiastej do klasyfikacji chorób serca. 13 / 21

Chromosom jest kodowany jako drzewo (węzły i krawędzie). Najlepiej odpowiada to językom funkcyjnym oryginalnie LISP. Abstrakcyjne Drzewo Składni daje podobną do LISPa strukturę. Garnett Wilson, Wolfgang Banzhaf, 1998 liniowe programowanie genetyczne, przystosowane do języków imperatywnych. µgp (MicroGP) (http://ugp3.sourceforge.net/) optymalizacja kodu asmeblerowego. 14 / 21

W języku LISP program (+ 1 (* 2 3 )) można zapisać jako drzewo. + 1 * 2 3 Węzłami są operatory, a liśćmi operandy. Taka forma reprezentacji programu jest nazywana abstrakcyjnym drzewem składni (ang. Abstract Syntax Tree, AST). 15 / 21

Najprostsza mutacja to zmiana węzła terminalnego. + + x y x 42 16 / 21

Możemy też dołączyć losowe poddrzewo. + + x y x fun x y 17 / 21

Albo zamienić poddrzewo na węzeł teminalny. + + x x 10 w 42 18 / 21

powinna określać jak dobrze program rozwiązuje zadany problem. W przypadku automatów skończonych do oceny może służyć odsetek poprawnie rozpoznanych przykładów. 19 / 21

Optymalizacja algorytmów kwantowych (L. Spector, H. Barnum, H.J. Bernstein, N. Swamy, Quantum Computing Applications of Genetic Programming, Advances in genetic programming, pp. 135-160 (1999).) Synteza mechanizmów optymalnej m.in. kontroli robotów, trasowania i reakcji chemicznych (J.R. Koza, M.J. Streeter, M.A. Keane, Routine high-return human-competitive automated problem-solving by means of genetic programming, Information Sciences, 178(23), pp. 443-4452 (2008)). 20 / 21

http://genetic-programming.org/ 21 / 21