Evoluční cyklus Rekombinace Mutace Populace PotomciRodiče Selekce Nahrazení.

Slides:



Advertisements
Podobné prezentace
Lineární klasifikátor
Advertisements

Grafové algoritmy.
GENEROVÁNÍ PSEUDONÁHODNÝCH ČÍSEL
J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK
Dynamické systémy.
Dualita úloh lineárního programování a analýza citlivosti
S mravencem ve Fukuoce na astronautickém kongresu IAF 2005 Japonsko Fakulta aplikované informatiky Univerzita Tomáše Bati ve Zlíně Ing. Zuzana Oplatková.
Programování funkcí v Excelu (pole)
Aplikace teorie grafů Základní pojmy teorie grafů
PA081 Programování numerických výpočtů Přednáška 2.
PA081 Programování numerických výpočtů
ALGO – Algoritmizace 1. cvičení
Algoritmy I Cvičení č. 2. Cíl hodiny Datové typy a přetypování (int, float, double, bool, char, long, short) Konstanty – Celočíselné Desítkové – 15, 0,
Programování v Pascalu Přednáška 3
Třídění Seminář IVT. Definice uspořádání skupiny dat (záznamů) dle daného klíče vzestupně (od nejmenší do největší hodnoty klíče) sestupně (od největší.
Optimalizace logistického řetězce
Architektury a techniky DS Tvorba efektivních příkazů I Přednáška č. 3 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
ENERGIE KLASTRŮ VODY ZÍSKANÁ EVOLUČNÍMI ALGORITMY
The power resides in the ability of adaptation to the problem  the considerations on the size, the complexity or the form of the solution should emerge.
Genetické algoritmy [GA]
Genetické algoritmy. V průběhu výpočtu používají náhodné operace. Algoritmus není jednoznačný, může projít více cestami. Nezaručují nalezení řešení.
Algoritmy I Cvičení č. 4.
Principy překladačů Mezikód Jakub Yaghob.
Skriptový jazyk, který se používá při tvorbě stránek.
Materiály k přednášce Úvod do programování Ondřej Čepek.
Využití umělých neuronových sítí k urychlení evolučních algoritmů
Návrh a optimalizace filtru OTA-C s využitím heuristických algoritmů ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Katedra teorie obvodů.
Odpovědi na otázky Praha 2007 Bc. Dalibor Barri ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Katedra mikroelektroniky.
Medians and Order Statistics Nechť A je množina obsahující n různých prvků: Definice: Statistika i-tého řádu je i-tý nejmenší prvek, tj., minimum = statistika.
Metody řazení s lineární časovou složitostí
Skip-List je datová struktura, která může být použita jako náhrada za vyvážené stromy. představují pravděpodobnostní alternativu k vyváženým stromům (struktura.
Decision Trees & Genetic Programming 1 Klasické DT V některých případech nepraktické.
1 Vyhledávání Principy vyhledávání Klasifikace klíče:  Interní klíč – je součástí prohlížených záznamů  Externí klíč – není jeho součástí, je jím např.
Jazyk vývojových diagramů
GA a predčasná konvergence Předčasná konvergence - výpočet konverguje příliš rychle k nějakému neoptimálnímu řešení Co způsobuje předčasnou konvergenci?
OSNOVA: a) Řetězce v C b) Funkce stdio.h pro řetězce c) Funkce string.h pro řetězce d) Příklad Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače.
REDUKCE DAT Díváme-li se na soubory jako na text, pak je tento text redundantní. Redundance vyplývá z:  některé fráze nebo slova se opakují  existuje.
TEORIE HER III. Hry a jejich bohové CO BYLO MINULE.
TI 7.1 NEJKRATŠÍ CESTY Nejkratší cesty - kap. 6. TI 7.2 Nejkratší cesty z jednoho uzlu Seznámíme se s následujícími pojmy: w-vzdálenost (vzdálenost na.
LOGICKÉ ŘÍZENÍ GEORGE BOOLE
Sémantická analýza Jakub Yaghob
Příklady jazyků Příklad 1: G=({S}, {0,1}, P, S)
Syntaxí řízený překlad
Gramatiky a jazyky Přednáška z předmětu Řízení v komplexních systémech
KOMBINAČNÍ LOGICKÉ FUNKCE
Genetické algoritmy Lukáš Kábrt.
Predikátová logika.
Genetické algoritmy [GA]. Historie:  1960: I. Rechenberg – první odborná práce na toto téma „Evolution strategies“  1975: John Holland – první genetický.
Dokumentace informačního systému
STROMY Datová struktura sestávající z uzlů
0 / 1X36DSA 2005The complexity of different algorithms varies: O(n), Ω(n 2 ), Θ(n·log 2 (n)), … Různé algoritmy mají různou složitost: O(n), Ω(n 2 ), Θ(n·log.
OSNOVA: a) Příkazy pro větvení b) Příkazy pro cykly c) Příkazy pro řízení přenosu d) Příklad Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače.
doc. RNDr. Zdeněk Botek, CSc.
Rozpoznávání v řetězcích
Základy ALgoritmizace 6. cvičení. Program cvičení Kontrolní bod 1 zakončení grafického zápisu algoritmů - vývojových diagramů –identifikátory a proměnné.
GA a predčasná konvergence Předčasná konvergence - výpočet konverguje příliš rychle k nějakému neoptimálnímu řešení Co způsobuje předčasnou konvergenci?
2. Vybrané základní pojmy matematické statistiky
Pracovní list - pro tisk Vloženo z stress.pptx Začátek.
Monte Carlo simulace Experimentální fyzika I/3. Princip metody Problémy které nelze řešit analyticky je možné modelovat na základě statistického chování.
GA s reálnou reprezentací (RCGA) Výhody reálné reprezentace:  Přirozené pro parametrické optimalizace v reálném oboru  Přesnost omezena přesností aritmetiky.
Vyhledávání vzorů (template matching)
Radim Farana Podklady pro výuku
Tutorial: Obchodní akademie Topic: Logical Functions Prepared by: Mgr. Zdeněk Hrdina Projekt Anglicky v odborných předmětech, CZ.1.07/1.3.09/ je.
Simulátory umělého života Aplikovatelné v environmentálních informačních systémech.
NEJKRATŠÍ CESTY Nejkratší cesty - kap. 6.
NÁZEV ŠKOLY: ČÍSLO PROJEKTU: NÁZEV MATERIÁLU: TÉMA SADY: ROČNÍK:
ZAL – 3. cvičení 2016.
Podprogramy.
Různé algoritmy mají různou složitost
Různé algoritmy mají různou složitost: O(n), Ω(n2), Θ(n·log2(n)), …
Transkript prezentace:

Evoluční cyklus Rekombinace Mutace Populace PotomciRodiče Selekce Nahrazení

Teorie o schématech (TS) - schéma Schéma - šablona, jež popisuje třídu řetězců, které se shodují na jistých pozicích Délka schématu L, odpovídá délce chromozomu Abeceda schémat: znaky 0 a 1 plus tzv. volný symbol * Schéma zahrnuje právě 2 r řetězců, kde r je počet * ve schématu Příklad schéma S = (0,1,*,*,0,1,*) Pokrývá 8 řetězců (0,1,0,0,0,1,0)(0,1,0,0,0,1,1) (0,1,0,1,0,1,0)(0,1,0,1,0,1,1) (0,1,1,0,0,1,0)(0,1,1,0,0,1,1) (0,1,1,1,0,1,0)(0,1,1,1,0,1,1)

Teorie o schématech – vlastnosti schémat Řád schématu – specifikovanost O(S) je počet specifikovaných pozic ve schématu S Pro S = (0,1,*,*,0,1,*)  o(S) = 4 Schéma řádu o(S) pokrývá 2 L-o(S) řetězců Definiční délka schématu - kompaktnost  (S) je největší vzájemná vzdálenost dvou specifických symbolů Schéma S = (0,1,*,*,0,1,*) má  (S) = 5 Schémata řádu 0 a 1 mají definiční délku 0 Fitness schématu f(S) - průměrná fitness všech řetězců v populaci, pokrytých daným schématem Zastoupení schématu v populaci v čase t: m(S,t)

Vliv reprodukce – vzorkování schémat Vliv křížení – rozbíjení schémat  P S – pravděpodobnost přežití  P K – pravděpodobnost křížení P S  1 – P K   (S) / (L - 1) Vliv mutace – rozbíjení schémat  P M – pravděpodobnost mutace 1 – o(S).P M Otázka zní: Kolik bude činit m(S,t+1)? TS – vliv reprodukce, křížení a mutace S 1 S * * * * 1 * * * * 1 1/(L-1) vs. (L-1) / (L-1)

TS – odpověď na otázku (?) Rovnice růstu reprodukce schémat Teorém o schématech : Krátká schémata nízkého řádu s nadprůměrnou fitness získávají v následující populaci exponenciálně rostoucí zastoupení. Hypotéza o stavebních blocích : Podřetězce, které odpovídají pevně určeným pozicím ve schématech, se nazývají stavební bloky. Během výpočtu genetického algoritmu jsou upřednostňovány důležité stavební bloky, jež jsou vzájemně kombinovány ve snaze nalézt celkové optimální řešení daného problému. Y. Davidor : “Celá teorie GA je založena na předpokladu, že můžeme něco prohlásit o celku pouze ze znalosti jeho částí. Ony části jsou stavební bloky a celek je hodnota fitness příslušného chromozomu.“

Selekce (reprodukce) Modeluje přírodní princip „přežívání nejsilnějších“  upřednostňuje zdatnější jedince před slabšími  každý jedinec má šanci přispět svým kódem do další generace Ruletové kolo  pravděpodobnost výběru jedince je úměrná jeho fitness

Špatná funkce reprodukce – předčasná konverg.

Špatná funkce reprodukce - stagnace náhodný výběr  náhodné prohledávání

Škálování fitness Úprava ohodnocení jedinců, aby bylo dosaženo požadovaného selekčního tlaku: Lineární škálování: Parametry a, b jsou spočítány tak, aby platilo, že:  průměrná hodnota fitness se nezmění (takže f'avg=favg ) a  maximální hodnota f'max bude nejvýše c  f'avg.  c je parametrem metody ( 1,5 – 2,0 )

Efekt škálování působení lineárního škálování proti předčasné konvergenci působení lineárního škálování proti stagnaci výpočtu

Selekce - turnaj Vyber toho nejlepšího z k náhodně zvolených různých jedinců  k je parametr procedury  výběr není řízen absolutními rozdíly fitness jedinců v populaci ale jejich pořadím

Pořadová selekce Nová fitness odvozena z pořadí jedince v populaci  N je počet jedinců v populaci,  funkce rank(i) vrací pořadí i -tého jedince v populaci  shift udává hodnotu f' nejhoršího jedince v populaci

2-bodové křížení Rodiče si vyměňují segmenty mezi dvěma body křížení  s řetězci a schématy zacházeno, jako by tvořily kruh  maximální pravděpodobnost rozbití mají ta schémata, ve kterých leží specifikované bity na protilehlých pozicích pomyslného kruhu  obě níže uvedená schémata jsou nejodolnější S 1 S * * * * 1 * * * * 1 1/(L-1) & 1/(L-1)

Rovnoměrné křížení (uniform) Pro každou pozici se rozhodujeme, od kterého rodiče příslušný bit použít Efektivita nezávisí na definiční délce schémat  Konst. pravděpodobnost rozbití schémat: P R = 1 – (0.5) o(S)  Je to zároveň to nejhorší, co může být rodič 1 rodič 2 potomek

Problém umělého mravence – Santa Fe mřížka 32x32, 89 návnad Překážky – {1x, 2x} rovně, {1x, 2x, 3x} do zatáčky Úkolem je najít konečný automat, který by simuloval chování mravence tak, aby v "rozumném" počtu kroků našel a zkonzumoval co nejvíce potravy.

Problém umělého mravence Mravenec umí:  detekovat, zda je před ním potrava (vstup automatu – 0/1) vidí pouze na nejbližší políčko před sebou  udělat následující akce krok vpřed a sníst potravu (je-li tam) – akce MOVE „vlevo v bok“ o 90°– akce LEFT „vpravo v bok“ o 90° – akce RIGHT NO-OP – no operation  krokem se zde rozumí zevně pozorovatelná akce mravence, např. obrat "vlevo v bok"

Problém umělého mravence – reprezentace Collins a Jefferson 1991, klasické genetické algoritmy Reprezentace: binární chromozomy pevné délky  chromozomy reprezentují tabulku přechodů a počáteční stav  příklad pro maximálně 4-stavový automat (32 bitů)

Problém umělého mravence Příklad konečného automatu  Když mravenec narazí na překážku, začne se točit dokola Mravenec  uspěje, pouze když bude cestička s návnadami bez překážek  v opačném případě se před překážkou zasekne a do konce života se bude rozhlížet Co stav 10?

Problém umělého mravence - řešení Reprezentace  umožňující až 32 stavů  453 bitů = 64 x Fitness získaná na základě 400 kroků PopSize !!! Počet generací 200

The power resides in the ability of adaptation to the problem  the considerations on the size, the complexity or the form of the solution should emerge during the own evolution process Used for learning programs, learning decision trees, learning rules, learning strategies,... Applications - symbolic regression, classifiers, learning strategies for agents in complex, dynamic systems (e.g. inventory management, production planning, investment decisions and logistic systems, prediction, data mining,... EAs operating on trees

Genetické programování Struktury podstupující adaptaci v GP jsou stromy proměnné velikosti a tvaru, které reprezentují hierarchické programy. Stromy jsou tvořeny z funkcí (vnitřní uzly) a terminálů (listové uzly), zvolených pro danou úlohu:  terminály T - vstupní proměnné programu, reálné, celočíselné nebo logické konstanty, funkce bez argumentů mající nějaký efekt  funkce F aritmetické funkce (+, -, *, / ) algebraické funkce ( sin, cos, exp, log ) logické funkce ( AND, OR, NOT ) podmíněné operátory ( If-Then-Else, cond?true:false ) jiné operace specifické pro daný problém Uzavřenost - je nutné, aby výstup libovolné funkce či terminálu mohl figurovat jako argument jiné funkce

Genetické programování Př.: Stromová reprezentace LISPovského S-výrazu 0.23  Z+X-0.78

Genetické programování - inicializace Metody generování stromů při zadané max. hloubce D init :  Úplné generování - pro uzly na úrovni < D init omezujeme volbu následníků na prvky F a v poslední úrovni na T.  Růstové generování - kdy žádná omezení neklademe a stromy jsou pak nerovnoměrně hluboké  Lineární půl na půl - D init = 6 a generuje 20% stromů s hloubkou 2, 20% s hloubkou 3, atd., z čehož je vždy polovina vytvářena úplným a polovina růstovým generováním

GP: Crossover

Mutation replaces selected subtree with a randomly generated new one Permutation, editing, encapsulation, decimation... GP: Mutation and Others

Fuzzy Classifier System Linguistic terms - small, medium small, medium, medium large, large Fuzzy membership functions - approximate the confidence with which a numerical value is described by a linguistic term

Fuzzy Rule Base Representation EA used to extract the set of fuzzy-rules of the type IF (x1 is low) and (x2 is medium) THEN class = c1 with cf = 0.7

GP: Illegal Tree Expression Does not represent a proper rule base

Strongly typed GP  Resolves the problem of the generation of illigal trees −Significant overhead when generating new trees (GE) −x-over becomes inefficient for large trees

Genetické programování - mravenec Stanovení množiny terminálů  příkazy pro motorickou sekci  T = { MOVE, LEFT, RIGHT } Stanovení množiny neterminálů  tímto stanovujeme možné tvary generovaných programů  IF-FOOD-AHEAD – detekce potravy 2 argumenty – je / není potrava  PROG2, PROG3 - sekvence 2/3 akcí Fitness - počet snědených návnad v nějakém rozumném čase kroků Pozn.: Mravenec se chová tak, že cyklicky opakuje „svůj program“, dokud mu nevyprší jeho čas nebo dokud nepozře všech 89 návnad

Mravenec – průběh experimentu Typická individua v počáteční populaci jsou např: neboli v LISP-ovské notaci (PROG2 (RIGHT) (LEFT))  nic nesnědl  fitness=0  podobně (IF-FOOD-AHEAD (LEFT) (RIGHT))  tento (PROG2 (MOVE) (MOVE)) čistě náhodou pozří 3 návnady RIGHT PROG2 LEFT

Mravenec – průběh experimentu prošívač (quilter) (PROG3(RIGHT) (PROG3 (MOVE) (MOVE) (MOVE)) (PROG2 (LEFT) (MOVE))) Systematické prohledávání  při dostatku času najde všechny návnady

Mravenec – průběh experimentu Tento mravenec (IF-FOOD-AHEAD (MOVE) (RIGHT)) pracuje velmi dobře, dokud nenarazí na chybějící návnadu na cestě; pak se „zacyklí“

Mravenec – průběh experimentu Tento mravenec se dokonale vyhýbá předložené potravě (I-F-A (RIGHT) (I-F-A (RIGHT) (PROG2(MOVE) (LEFT) ) ) )

GP Mravenec – průběh experimentu Průměrná fitness v počáteční populaci 3,5 V generaci 21 byl ve studovaném běhu poprvé nalezen jedinec, který byl schopen nalézt všech 89 (I-F-A(MOVE) (PROG3(I-F-A(MOVE) (RIGHT) (PROG2(RIGHT) (PROG2(LEFT) (RIGHT) ) ) ) (PROG2(I-F-A(MOVE) (LEFT) ) (MOVE) ) ) ) Tento „program“ řeší průchod každou stezkou s týmž typem iregularit jako stezka Santa Fe.

GP - hledání trigonometrické identity cos 2x  ? Úkolem je najít pravou stranu rovnosti Množina terminálů: T = {X, konstanta 1,0} Množina funkcí: F = {+, -, , %, SIN} Testovací případy: 20 párů hodnot (x i, y i ), kde x i jsou náhodně vybrané hodnoty z intervalu  0, 2  a y i = cos 2 x i Fitness: Součet 20 absolutních hodnot diferencí mezi y i a hodnotou generovanou testovaným výrazem pro dané x i. Zastavovací pravidlo: Nalezen jedinec, jehož hodnota fitness je menší než 0,01

GP - hledání trigonometrické identity Ve 13. generaci byl nalezen jedinec ve tvaru (v prefixové notaci): (- (- 1 (* (sin X) (sin X)))) (* (sin X) (sin X))) což odpovídá výrazu (po editaci) 1 – 2 sin 2 x. V jiném běhu byl ve 34. generaci nalezen jedinec (- 1 (* (* (sin X) (sin X)) 2)) Zajímavý výsledek vyšel v dalším běhu ve 30. generaci, a to: (sin (- (- 2 (* X 2)) (sin (sin (sin (sin (sin (sin (* (sin (sin 1)) (sin 1)) ))))))))) Po podrobnější numerické analýze výrazu na druhém a třetím řádku zjistíme, že dává hodnotu přibližně  /2, takže odhalená identita je cos 2x = sin(  /2 – 2x)

Grammatical Evolution (GE) Designed to evolve programs in any language, that can be described by a context free grammar Backus Naur Form (BNF)  production rules P  terminals T – non-expandable items  non-terminals N – can be expand into one or more items  N  T N = {S, Rule, Cond} T = {cl, cf, att, lt} S – starting symbol P: (1)S ::= Rule Rule [0] (2)Rule ::= Cond cl cf [0] | Rule Rule [1] (3)Cond ::= att lt [0] | Cond Cond [1]

GE does not work with a natural tree representation  It runs the evolution on binary strings Genotype – phenotype mapping 1.Binary string is translated into a sequence of integers (codons) Each codon specifies the production rule to be applied for currently expanded non-terminal choice = codon MOD number_of_rules 3.Mapping finishes as all of the N have been expanded Multiple codon values can select the same rule Useful redundancy in genetic code !!! Only syntactically correct programs can be generated !!! Grammatical Evolution - representation

Construction of the program tree 6  4  9  cos 3  5  x 8  + 8  x 6  * 2  x Grammar in the Backus-Naur FormChromosome:

Grammatical Evolution - example The prefix string IF IS OR IF IS IF AND IS IS is represented by the codons as a sequence of choices N = {S, Rule, Cond} T = {cl, cf, att, lt} S – starting symbol P: (1)S ::= Rule Rule [0] “OR” (2)Rule ::= Cond cl cf [0] “IF” | Rule Rule [1] “OR” (3)Cond ::= att lt [0] “IS” | Cond Cond [1] “AND”

1-point crossover

Grammatical Evolution - recombination Simple 1-point crossover (riple x-over) The head sequence of codons does not change its meaning  the tale sequence may or may not change its interpretation Good generative and explorative characteristics

GE – bidirectional representation Each individual has two chromosomes  one expresses the program in a prefix notation and the other one in a postfix notation Crossover is applied on both the prefix and postfix chromosomes

GE – symbolická regrese N = {expr, op, pre-op, var} T = {+, −, , /, sin, cos, exp, log, X} S = expr startovní symbol P: (1) ::= [0] | (2) ::=+[0] |−[1] |  [2] |/[3] (3) ::=sin[0] |cos[1] |exp[2] |log[3] (4) ::=X[0]

GE – symbolická regrese Kromě správné funkce byly nalezeny i tyto varianty