41
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 počítače Délka chromozomů = počtu patametrů úlohy Genotyp = fenotyp jednodušší výpočet Jak udělat efektivní křížení? střední hodnota proměnné přes celou populaci se nemění rozptyl vzdáleností jedinců v populaci roste

GA s reálnou reprezentací (RCGA)

Embed Size (px)

DESCRIPTION

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 počítače Délka chromozomů = počtu patametrů úlohy Genotyp = fenotyp  jednodušší výpočet Jak udělat efektivní křížení? - PowerPoint PPT Presentation

Citation preview

Page 1: GA s reálnou reprezentací (RCGA)

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 počítače Délka chromozomů = počtu patametrů úlohy Genotyp = fenotyp jednodušší výpočet

• Jak udělat efektivní křížení? střední hodnota proměnné přes celou populaci se

nemění rozptyl vzdáleností jedinců v populaci roste

Page 2: GA s reálnou reprezentací (RCGA)

• Rodiče: R1 = (r11, ..., r1n), R2 = (r21, ..., r2n)

• Potomek: P = (p1, ..., pn)

• Flat x-over: pi = rand(r1i , r2i)

• Simple x-over (1-bodové): P = (r11, r12, r13, r24, r25, r26)

• Discrete x-over (uniform): pi = r1i nebo r2i

• Arithmetical x-over: pi = · r1i + (1 - ) · r2i , (0.0, 1.0)

• BLX- x-over: pi = rand(rmin - I · , rmax + I · )

rmin = min(r1i , r2i), rmax = max(r1i , r2i)

I = rmax – rmin

RCGA – operátory křížení

Page 3: GA s reálnou reprezentací (RCGA)

RCGA: Mean-centric operátory

BLX-

UNDX – unimodal normal distribution x-over

SPX – sipmlex x-over

Page 4: GA s reálnou reprezentací (RCGA)

RCGA: Mean-centric operátory

UNDX SPX

• Pozice potomků závisí na vzdálenosti rodičů

Page 5: GA s reálnou reprezentací (RCGA)

RCGA - Simulated binary x-over

• SBX – používá rozložení p-sti v okolí rodičů

• Rodiče: xi(1,t) a xi

(2,t) Potomci: xi(1,t+1) a xi

(2,t+1)

• Faktor rozptýlení:

Page 6: GA s reálnou reprezentací (RCGA)

RCGA - Simulated binary x-over

• Vzdálenost potomků je úměrná rozložení rodičů

• Vzorky bližší rodičům jsou více pravděpodobnější než ty vzdálenější

• Samoadaptace Začátek výpočtu Konec výpočtu

Page 7: GA s reálnou reprezentací (RCGA)

Evoluční strategie• I. Rechenberg TU Berlín, 1964

Parametrické optimalizace Hydrodynamické optimalizační úlohy – optimalizace

potrubí Řízení – optimalizace PID regulátorů v nelineárních

systémech

• „2-členné“ populace vektorů reálných čísel

• Jediný rekombinační operátor je mutace

• Dvoučlenná populace jeden rodičovský vektor a jeho potomek vzniklý přidáním náhodných čísel s

normálním rozložením lepší z těchto dvou jedinců přežívá jako rodič do další

generace

Page 8: GA s reálnou reprezentací (RCGA)

Evoluční strategie: Model (1+1)-ES

• Model (1+1)-ES : (1+1)-ES = (P0, m, s, cd , ci , f, g, t)

P0 = (x0, 0) I populace I = n n

m : I I mutační operátor

s : I I I selekční operátor

cd , ci parametry řídící velikost změny

f : n n fitness funkce

gj : n n omezení

t : I I {0, 1} ukončovací podmínka

Page 9: GA s reálnou reprezentací (RCGA)

Mutace u modelu (1+1)-ES

• Mutace se aplikuje na všechny složky vektoru x najednou tak, že nový jedinec je podobný původnímu menší změny se vyskytují častěji než ty větší

xp = xr + N0()

xr … rodič, xp … potomek

N0 je vektor náhodných čísel s gaussovským rozložením s nulovou střední hodnotou a standardní odchylkou

n , 1 = i = n = konst.

pro regulární optimalizační problémy je zaručena konvergence k optimu

Page 10: GA s reálnou reprezentací (RCGA)

Mutace u modelu (1+1)-ES• Pro dva problémy bylo odvozeno:

optimální hodnota je nepřímo úměrná počtu proměnných

při optimálním nastavení je pravděpodobnost úspěšných mutací

psucc 0.2

pravidlo 1/5 úspěšnosti [Rechenberg]: podíl úspěšných mutací ze všech provedených mutacích by měl být 1/5; pokud je větší, tak zvyš , když je nižší, tak sniž mutační parametr .

• Dynamická úprava vektoru : t +n = cd t , if ps

t < 1/5

ci t , if pst < 1/5

t , if pst = 1/5

pst … četnost úspěšných mutací

n … počet mutací po kterých se provádí úprava

doporučené hodnoty:cd = 0.82

cd = 1/0.82

Page 11: GA s reálnou reprezentací (RCGA)

Vícečlenné ES: (+1)-ES

• Z > 1 rodičů je generován jeden potomek

a = (xa, a), b = (xb, b) … rodiče

xp = (xp, p) … potomek

xpi = xai , if rand 0.5

xbi , if rand > 0.5

pi = ai , if rand 0.5

bi , if rand > 0.5

• Nový jedinec

xp = (xp, p)

podstoupí standardní mutaci a nejlepších jedinců postupuje do další populace

Page 12: GA s reálnou reprezentací (RCGA)

• 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 13: GA s reálnou reprezentací (RCGA)

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 14: GA s reálnou reprezentací (RCGA)

Genetické programování

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

Page 15: GA s reálnou reprezentací (RCGA)

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 16: GA s reálnou reprezentací (RCGA)

GP: Crossover

Page 17: GA s reálnou reprezentací (RCGA)

• Mutation replaces selected subtree with a randomly generated new one

• Permutation, editing, encapsulation, decimation ...

GP: Mutation and Others

Page 18: GA s reálnou reprezentací (RCGA)

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 19: GA s reálnou reprezentací (RCGA)

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 20: GA s reálnou reprezentací (RCGA)

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

Page 21: GA s reálnou reprezentací (RCGA)

Strongly typed GP

Resolves the problem of the generation of illigal trees

− Significant overhead when generating new trees− x-over becomes inefficient for large trees

Page 22: GA s reálnou reprezentací (RCGA)

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 23: GA s reálnou reprezentací (RCGA)

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 24: GA s reálnou reprezentací (RCGA)

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 25: GA s reálnou reprezentací (RCGA)

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 26: GA s reálnou reprezentací (RCGA)

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 27: GA s reálnou reprezentací (RCGA)

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 28: GA s reálnou reprezentací (RCGA)

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 29: GA s reálnou reprezentací (RCGA)

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 30: GA s reálnou reprezentací (RCGA)

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 31: GA s reálnou reprezentací (RCGA)

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 32: GA s reálnou reprezentací (RCGA)

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 33: GA s reálnou reprezentací (RCGA)

GP - hledání trigonometrické identity

• Ú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

cos 2x ?

Page 34: GA s reálnou reprezentací (RCGA)

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 35: GA s reálnou reprezentací (RCGA)

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 36: GA s reálnou reprezentací (RCGA)

• 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 37: GA s reálnou reprezentací (RCGA)

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 38: GA s reálnou reprezentací (RCGA)

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 39: GA s reálnou reprezentací (RCGA)

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 40: GA s reálnou reprezentací (RCGA)

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 41: GA s reálnou reprezentací (RCGA)

GE – symbolická regrese

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