Genetické programování

Podobné dokumenty
Navrženy v 60. letech jako experimentální optimalizační metoda. Velice rychlá s dobrou podporou teorie

Evolučníalgoritmy. Dále rozšiřována, zde uvedeme notaci a algoritmy vznikléna katedře mechaniky, Fakulty stavební ČVUT. Moderní metody optimalizace 1

Evoluční algoritmy. Podmínka zastavení počet iterací kvalita nejlepšího jedince v populaci změna kvality nejlepšího jedince mezi iteracemi

Genetické programování 3. část

Gramatická evoluce a softwarový projekt AGE

Geneticky vyvíjené strategie Egyptská hra SENET

Evoluční výpočetní techniky (EVT)

Stromy. Strom: souvislý graf bez kružnic využití: počítačová grafika seznam objektů efektivní vyhledávání výpočetní stromy rozhodovací stromy

Genetické algoritmy. Informační a komunikační technologie ve zdravotnictví

A0M33EOA: Evoluční optimalizační algoritmy

ití empirických modelů při i optimalizaci procesu mokré granulace léčivl ková SVK ÚOT

5.5 Evoluční algoritmy

Swarm Intelligence. Moderní metody optimalizace 1

Algoritmy a datové struktury

Optimalizace obecný úvod. [proč optimalizovat?] Formalizace problému. [existují podobné problémy?]

Binární vyhledávací stromy pokročilé partie

Lineární stabilita a teorie II. řádu

1. Úvod do genetických algoritmů (GA)

Základní datové struktury III: Stromy, haldy


Využití metod strojového učení v bioinformatice David Hoksza

SOUBĚŽNÉ UČENÍ V KARTÉZSKÉM GENETICKÉM PROGRAMOVÁNÍ CO-LEARNING IN CARTESIAN GENETIC PROGRAMMING

Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma

Rekurzivní algoritmy

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

Genetické programování v prostředí Mathematica

Algoritmus Minimax. Tomáš Kühr. Projektový seminář 1

KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO MARTIN DOSTÁL VÝVOJ TOHOTO UČEBNÍHO TEXTU JE SPOLUFINANCOVÁN

Symbolická regrese: Jak získat kvalitní a

Slepé prohledávání do šířky Algoritmus prohledávání do šířky Při tomto způsobu prohledávání máme jistotu, že vždy nalezneme koncový stav, musíme ale p

METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1

PŘEDNÁŠKA 03 OPTIMALIZAČNÍ METODY Optimization methods

Typované funkcionální genetické programovaní

SPECIFICKÝCH MIKROPROGRAMOVÝCH ARCHITEKTUR

Grammar-based genetic programming

2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5

Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Grafové algoritmy. Programovací techniky

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

Grafové algoritmy. Programovací techniky

Lineární diskriminační funkce. Perceptronový algoritmus.

Umělá inteligence aneb co už není sci -fi

SQL tříhodnotová logika

Stromy, haldy, prioritní fronty

Hanojská věž. T2: prohledávání stavového prostoru. zadání [1 1 1] řešení [3 3 3] dva možné první tahy: [1 1 2] [1 1 3]

Popis zobrazení pomocí fuzzy logiky

Interpret jazyka IFJ2011


Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

1. Vlastnosti diskretních a číslicových metod zpracování signálů... 15

Genetické algoritmy a jejich praktické využití

Ing. Petr Hájek, Ph.D. Podpora přednášky kurzu Aplikace umělé inteligence

1 Úvod do celočíselné lineární optimalizace

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

Algoritmizace prostorových úloh

Stromové struktury v relační databázi

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ

Volné stromy. Úvod do programování. Kořenové stromy a seřazené stromy. Volné stromy


5 Rekurze a zásobník. Rekurzivní volání metody

Genetické programování nad typovaným lambda kalkulem. Tomáš Křen

Reprezentace aritmetického výrazu - binární strom reprezentující aritmetický výraz

Větvení a cykly. Úvod do programování 1 Tomáš Kühr

Stromy. Příklady. Rekurzivní datové struktury. Základní pojmy

Katedra kybernetiky skupina Inteligentní Datové Analýzy (IDA) 9. ledna 2017

Java/QE Akademie - Osnova

Úvod do stochastických optimalizačních metod (metaheuristik) Moderní metody optimalizace 1

Dynamické datové struktury III.

Optimalizace & soft omezení: algoritmy

bfs, dfs, fronta, zásobník, prioritní fronta, halda

Prolog PROgramming in LOGic část predikátové logiky prvního řádu rozvoj začíná po roce 1970 Robert Kowalski teoretické základy Alain Colmerauer, David

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY MUTACE V KARTÉZSKÉM GENETICKÉM PROGRAMOVÁNÍ MUTATION IN CARTESIAN GENETIC PROGRAMMING

IB111 Úvod do programování skrze Python

autoři: Rudolf Bayer, Ed McCreight všechny vnější uzly (listy) mají stejnou hloubku ADS (abstraktní datové struktury)

Metaheuristiky s populacemi

Aproximativní algoritmy UIN009 Efektivní algoritmy 1

Algoritmy a struktury neuropočítačů ASN P9 SVM Support vector machines Support vector networks (Algoritmus podpůrných vektorů)

Dynamicky vázané metody. Pozdní vazba, virtuální metody

Martin Milata, Pokud je alespoň jeden rozměr čokolády sudý (s výjimkou tabulky velikosti 1x2, která už je od

Algoritmy výpočetní geometrie

bfs, dfs, fronta, zásobník, prioritní fronta, halda

ANALYTICKÉ PROGRAMOVÁNÍ

Stromy. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta a kol.

Budování automatických obchodních systémů

Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program

ZÍSKÁVÁNÍ ZNALOSTÍ Z DATABÁZÍ

Binární vyhledávací strom pomocí směrníků Miroslav Hostaša L06620

Základy algoritmizace c2005, 2007 Michal Krátký, Jiří Dvorský1/39

NPRG030 Programování I, 2018/19 1 / :25:37

Programovací jazyk Pascal

Jak se matematika poučila v biologii

Genetické algoritmy. a jejich praktické využití. Pavel Šturc. průmyslu, stejně tak je zde uvedeno i několik případů jejich úspěšné implementace.

ZÍSKÁVÁNÍ ZNALOSTÍ Z DATABÁZÍ

Genetické algoritmy. Vysoká škola ekonomická Praha. Tato prezentace je k dispozici na:

Pokročilá algoritmizace amortizovaná složitost, Fibonacciho halda, počítačová aritmetika

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Zdůvodněte, proč funkce n lg(n) roste alespoň stejně rychle nebo rychleji než než funkce lg(n!). Symbolem lg značíme logaritmus o základu 2.

NPRG030 Programování I, 2018/19 1 / :03:07

IB108 Sada 1, Příklad 1 Vypracovali: Tomáš Krajča (255676), Martin Milata (256615)

Transkript:

Genetické programování Vyvinuto v USA v 90. letech J. Kozou Typické problémy: Predikce, klasifikace, aproximace, tvorba programů Vlastnosti Soupeří s neuronovými sítěmi apod. Potřebuje značně velké populace (tisíce) Velice pomalá Zvláštnosti: Ne-lineární chromosomy: stromy, grafy Mutace možná ale ne nutná Moderní metody optimalizace 1

Problém automatického programování Moderní metody optimalizace 2

Problém automatického programování Moderní metody optimalizace 3

Ukázkový příklad Banka chce rozlišit dobré od špatných úvěrových zákazníků Je potřeba model, který dobře popíše existující záznamy (data) ID Počet dětí Příjem Stav OK? ID-1 2 45000 Ženatý ANO ID-2 0 30000 Svobodný NE ID-3 1 40000 Rozvedený NE Moderní metody optimalizace 4

Ukázkový příklad Možný model: IF (DETI = 2) AND (P > 80000) THEN ANO ELSE NE Obecně: IF logický výraz THEN ANO ELSE NE Jediná neznámá je logický výraz, proto je náš prohledávací prostor (genotyp) prostor všech logických výrazů Cílová funkce je počet dat, která jsou dobře popsána nalezeným logickým výrazem Přirozená reprezentace logických výrazů: stromová struktura Moderní metody optimalizace 5

Ukázkový příklad IF(DETI = 2) AND (P > 80000) THEN ANO ELSE NE Může být reprezentován následujícím stromem: AND = > DETI 2 P 80000 Moderní metody optimalizace 6

Stromová reprezentace Stromová struktura je univerzální, např. Aritmetický výraz Logický výraz y 2 ( x 3) 5 1 Program (x true) (( x y ) (z (x y))) i =1; while (i < 20) { i = i +1 } Moderní metody optimalizace 7

Stromová reprezentace 2 ( x 3) y 5 1 Moderní metody optimalizace 8

Stromová reprezentace (x true) (( x y ) (z (x y))) Moderní metody optimalizace 9

Stromová reprezentace i =1; while (i < 20) { i = i +1 } Moderní metody optimalizace 10

Stromová reprezentace Má proměnnou velikost Symbolický výraz může být vyjádřen: Množinou terminálních symbolů T Množinou funkcí F (s aritami funkčních symbolů) Pokud zavedeme následující rekurzivní definici: 1. Každý t T je korektní vyjádření 2. f(e 1,, e n ) je korektní vyjádření pokud f F, arita(f)=n a e 1,, e n jsou korektní vyjádření 3. Další možné korektní vyjádření neexistují Výrazy v GP nejsou obvykle striktně předepsány (uzavřenost: jakákoliv f F může použít jakoukoliv g F jako svůj argument) Moderní metody optimalizace 11

Algoritmus K porovnání: GA používá křížení A mutaci následovně (náhodně) GP používá křížení NEBO mutaci (náhodně vybrané) Moderní metody optimalizace 12

Mutace Nejčastěji: vyměň náhodně vybraný podstrom jiným, náhodně vytvořeným Moderní metody optimalizace 13

Mutace Mutace má dva parametry: Pravděpodobnost p m že bude vybraná mutace na úkor křížení Pravděpodobnost vybrání uzlu jako kořene pro začátek mutace Pro zajímavost, je doporučeno p m =0 [Koza, 1992] nebo velmi malé, např. 0,05 [Banzhaf et al., 1998] Velikost potomků může přesáhnout velikost rodičů! Moderní metody optimalizace 14

Křížení Nejčastěji: výměny dvou náhodně vybraných podstromů mezi rodiči Před-selekce (over-selection) ve velkých populacích: Podle fitness je populace rozdělena na dvě části: skupina 1: nejlepších x%, skupina 2 zbytek (100-x)% 80% výběru bude ze skupiny 1, 20% ze skupiny 2 Pro populaci = 1000, 2000, 4000, 8000: x = 32%, 16%, 8%, 4% Moderní metody optimalizace 15

Rodič 1 Rodič 2 Potomek 1 Potomek 2 Moderní metody optimalizace 16

Tvorba nových řešení Nejprve je nastavena maximální hloubka stromu D max Plnící metoda (každá větev má délku = D max ): Uzly v hloubce d < D max jsou náhodně vybrány z množiny funkcí F Uzly v hloubce d = D max jsou vybrány z množiny terminálů T Růstová metoda (každá větev má délku D max ): Uzly v hloubce d < D max náhodně vybrány z F T Uzly v hloubce d = D max náhodně vybrány z T Běžně je počáteční populace tvořena půl-na-půl oběmi metodami Moderní metody optimalizace 17

Bloat Bloat = survival of the fattest, nebo-li, průměrná délka řešení narůstá přibližně lineárně s počtem iterací Možná řešení: Upravit operátory aby netvořily dlouhá řešení Penalizovat dlouhá řešení Vícekriteriální optimalizace Moderní metody optimalizace 18

Příklad: Symbolická regrese x 2 +x+1 Generation 0 Moderní metody optimalizace 19

Příklad: Symbolická regrese x 2 +x+1 Generation 1 Kopie z (a) Mutant z (c) Potomci z (a) a (b) Moderní metody optimalizace 20

Symbolická regrese: problém reálných čísel Začlenění náhodných reálných čísel jakožto terminálních symbolů U lineárních funkcí lze využít lineární regrese Multimodální optimalizace Moderní metody optimalizace 21

Příklad reálné aplikace: Tzv. Human competitive results Moderní metody optimalizace 22

Příklad stezka Santa Fe Moderní metody optimalizace 23

Příklad stezka Santa Fe Množina terminálů: T = {MOVE,LEFT, RIGHT} Množina funkcí: F = {IF-FOOD-AHEAD,PROG2,PROG3} s aritami {2,2,3} Fitness: Počet snědené potravy za 400 kroků Moderní metody optimalizace 24

Typické řešení: prošívač (F=12) Moderní metody optimalizace 25

Reference [1] Koza, J. R. (1992). Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press. [2] Koza, J. R. (1994). Genetic Programming II: Automatic Discovery of Reusable Programs. [3] Koza, J. R. (1999). Genetic Programming III: Darwinian Invention and Problem Solving. [4] Koza, J. R. ( 2003). Genetic Programming IV: Routine Human-Competitive Machine Intelligence. [5] www.genetic-programming.com Moderní metody optimalizace 26

Prosba. V případě, že v textu objevíte nějakou chybu nebo budete mít námět na jeho vylepšení, ozvěte se prosím na matej.leps@fsv.cvut.cz. Oprava 25.11.2009: Přidán slide o reálných číslech při symbolické regresi Datum poslední revize: 25.11.2009 Verze: 002 Moderní metody optimalizace 27