46
Evoluční cyklus Rekombinace Mutace Populace Potomci Rodiče Selekce Nahrazení

Evoluční cyklus

  • Upload
    liona

  • View
    53

  • Download
    2

Embed Size (px)

DESCRIPTION

Rodiče. Popula ce. Potomci. Evoluční cyklus. Sele kce. Re kombinace. Muta ce. Nahrazení. Teorie o sch é matech (TS) - schéma. Sc hé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 - PowerPoint PPT Presentation

Citation preview

Page 1: Evoluční cyklus

Evoluční cyklus

Rekombinace

MutacePopulace

Potomci

RodičeSelekce

Nahrazení

Page 2: Evoluční cyklus

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ě 2r řetězců, kde r je počet * ve schématu

• Příkladsché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)

Page 3: Evoluční cyklus

Teorie o schématech – vlastnosti schémat

• Řád schématu – specifikovanostO(S) je počet specifikovaných pozic ve schématu SPro S = (0,1,*,*,0,1,*) o(S) = 4

Schéma řádu o(S) pokrývá 2L-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)

Page 4: Evoluční cyklus

• Vliv reprodukce – vzorkování schémat

• Vliv křížení – rozbíjení schémat PS – pravděpodobnost přežití

PK – pravděpodobnost křížení

PS 1 – PK  (S) / (L - 1)

• Vliv mutace – rozbíjení schémat PM – pravděpodobnost mutace

1 – o(S).PM

• Otázka zní: Kolik bude činit m(S,t+1)?

TS – vliv reprodukce, křížení a mutace

m S t m S t

f S

favg

, , 1

S1 S2

1 1 * * * * 1 * * * * 1

1/(L-1) vs. (L-1) / (L-1)

Page 5: Evoluční cyklus

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.“

m S,t m o( ) ( , )( )

(( )

( ) )

1 11

S tf S

fP

S

lS P

avgK M

Page 6: Evoluční cyklus

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

Pf

f

ii

jj

PopSize

1

Page 7: Evoluční cyklus

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

Page 8: Evoluční cyklus

Špatná funkce reprodukce - stagnace

náhodný výběr náhodné prohledávání

Page 9: Evoluční cyklus

Š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 cf'avg. c je parametrem metody (1,5 – 2,0)

f

favg

max

f a f bi i'

Page 10: Evoluční cyklus

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

Page 11: Evoluční cyklus

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

Page 12: Evoluční cyklus

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

f N rank i shifti'

0,0000

0,0200

0,0400

0,0600

0,0800

0,1000

0,1200

0,1400

0,1600

0,1800

0,2000

120 122 98 107 80 89 85 43 20 34

Page 13: Evoluční cyklus

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šíS1 S2

1 1 * * * * 1 * * * * 1

1/(L-1) & 1/(L-1)

Page 14: Evoluční cyklus

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: PR = 1 –

(0.5)o(S) Je to zároveň to nejhorší, co může být

rodič 1

rodič 2

potomek

Page 15: Evoluční cyklus

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.

Page 16: Evoluční cyklus

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"

Page 17: Evoluční cyklus

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ů)

Page 18: Evoluční cyklus

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?

Page 19: Evoluční cyklus

Problém umělého mravence - řešení

• Reprezentace umožňující až 32 stavů 453 bitů = 64 x 7 + 5

• Fitness získaná na základě 400 kroků

• PopSize 65 536 !!!

• Počet generací 200

Page 20: Evoluční cyklus

• 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

Page 21: Evoluční cyklus

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

Page 22: Evoluční cyklus

Genetické programování

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

Page 23: Evoluční cyklus

Genetické programování - inicializace

• Metody generování stromů při zadané max. hloubce Dinit:

Úplné generování - pro uzly na úrovni < Dinit 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 - Dinit = 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

Page 24: Evoluční cyklus

GP: Crossover

Page 25: Evoluční cyklus

• Mutation replaces selected subtree with a randomly generated new one

• Permutation, editing, encapsulation, decimation ...

GP: Mutation and Others

Page 26: Evoluční cyklus

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

Page 27: Evoluční cyklus

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

Page 28: Evoluční cyklus

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

Page 29: Evoluční cyklus

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

Page 30: Evoluční cyklus

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 - 400 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

Page 31: Evoluční cyklus

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

Page 32: Evoluční cyklus

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

Page 33: Evoluční cyklus

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í“

Page 34: Evoluční cyklus

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) ) ) )

Page 35: Evoluční cyklus

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.

Page 36: Evoluční cyklus

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 (xi, yi), kde xi jsou náhodně vybrané hodnoty z intervalu 0, 2 a yi = cos 2 xi

• Fitness: Součet 20 absolutních hodnot diferencí mezi yi a hodnotou generovanou testovaným výrazem pro dané xi.

• Zastavovací pravidlo: Nalezen jedinec, jehož hodnota fitness je menší než 0,01

Page 37: Evoluční cyklus

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 sin2 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)

Page 38: Evoluční cyklus

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]

Page 39: Evoluční cyklus

• GE does not work with a natural tree representation It runs the evolution on binary strings

• Genotype – phenotype mapping1. Binary string is translated into a sequence of integers

(codons)

1 0 1 1 0 1 0 0 1 0 1 0 0 1 0 1 0 1 1 1

11 4 10 5 7

2. 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

Page 40: Evoluční cyklus

Construction of the program tree

6  <expr> <op> <expr> 4  <pre-op> <expr> 9  cos3  <expr> <op> <expr> 5  x8  +8  x6  *2  x

Grammar in the Backus-Naur Form Chromosome: 6 4 9 3 5 8 8 6 2

Page 41: Evoluční cyklus

Grammatical Evolution - example

The prefix string IF IS OR IF IS IF AND IS IS

is represented by the codons

6 4 9 4 8 12 15 6 2

as a sequence of choices

0 0 1 0 0 0 1 0 0

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”

Page 42: Evoluční cyklus

1-point crossover

Page 43: Evoluční cyklus

Grammatical Evolution - recombination

• Simple 1-point crossover (riple x-over)3 2 11 7 6 9 12 5 2 3 8 4 66 4 9 4 8 12 15 6 2

• 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

Page 44: Evoluční cyklus

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

Page 45: Evoluční cyklus

GE – symbolická regreseN = {expr, op, pre-op, var}

T = {+, −, , /, sin, cos, exp, log, X}

S = expr startovní symbol

P:

(1) <expr> ::= <expr> <op> <expr> [0]

| <pre-op> <expr>

| <var>

(2) <op> ::= + [0]

| − [1]

| [2]

| / [3]

(3) <pre-op> ::= sin [0]

| cos [1]

| exp [2]

| log [3]

(4) <var> ::= X [0]

Page 46: Evoluční cyklus

GE – symbolická regrese

Kromě správné funkce byly nalezeny i tyto varianty