Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

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.

Podobné prezentace


Prezentace na téma: "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."— Transkript prezentace:

1 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

2 Rodiče :R1 = (r1 1,..., r1 n ), R2 = (r2 1,..., r2 n ) Potomek :P = (p 1,..., p n ) Flat x-over : p i = rand(r1 i, r2 i ) Simple x-over (1-bodové) : P = (r1 1, r1 2, r1 3, r2 4, r2 5, r2 6 ) Discrete x-over (uniform): p i = r1 i nebo r2 i Arithmetical x-over: p i =  · r1 i + (1 -  ) · r2 i,  (0.0, 1.0) BLX-  x-over : p i = rand(r min - I · , r max + I ·  ) r min = min(r1 i, r2 i ), r max = max(r1 i, r2 i ) I = r max – r min RCGA – operátory křížení

3 RCGA: Mean-centric operátory BLX-  UNDX – unimodal normal distribution x-over SPX – sipmlex x-over

4 RCGA: Mean-centric operátory UNDX SPX Pozice potomků závisí na vzdálenosti rodičů

5 RCGA - Simulated binary x-over SBX – používá rozložení p-sti v okolí rodičů Rodiče: x i (1,t) a x i (2,t) Potomci: x i (1,t+1) a x i (2,t+1) Faktor rozptýlení:

6 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

7 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

8 Evoluční strategie: Model (1+1)-ES Model (1+1)-ES : (1+1)-ES = (P 0, m, s, c d, c i, f, g, t) P 0 =(x 0,  0 )  I populace I =  n   n m:I  I mutační operátor s:I  I  I selekční operátor c d, c i  parametry řídící velikost změny f:  n   n fitness funkce g j :  n   n omezení t: I  I  {0, 1} ukončovací podmínka

9 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ší x p = x r + N 0 (  )  x r … rodič, x p … potomek  N 0 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

10 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í p succ  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 =c d   t, if p s t < 1/5 c i   t, if p s t < 1/5  t, if p s t = 1/5 p s t … četnost úspěšných mutací n … počet mutací po kterých se provádí úprava  doporučené hodnoty: c d = 0.82 c d = 1/0.82

11 Vícečlenné ES: (  +1)-ES Z  > 1 rodičů je generován jeden potomek a = (x a,  a ), b = (x b,  b ) … rodiče x p = (x p,  p ) … potomek x pi =x ai, if rand  0.5 x bi, if rand > 0.5  pi =  ai, if rand  0.5  bi, if rand > 0.5 Nový jedinec x p = (x p,  p ) podstoupí standardní mutaci a nejlepších  jedinců postupuje do další populace

12 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

13 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

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

15 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

16 GP: Crossover

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

18 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

19 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

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

21 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

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

23 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"

24 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?

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

26 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

27 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

28 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

29 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

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

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

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

33 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 (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 cos 2x  ?

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

35 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]

36 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

37 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”

38 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

39 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

40 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]

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


Stáhnout ppt "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."

Podobné prezentace


Reklamy Google