genetické programování - cvut.cz

30
Moderní metody optimalizace 1 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 velké populace (tisíce) Velice pomalá • Zvláštnosti: Ne-lineární chromosomy: stromy, grafy Mutace možná ale ne nutná

Upload: others

Post on 27-Mar-2022

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Genetické programování - cvut.cz

Moderní metody optimalizace 1

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 velké populace (tisíce)– Velice pomalá

• Zvláštnosti:– Ne-lineární chromosomy: stromy, grafy– Mutace možná ale ne nutná

Page 2: Genetické programování - cvut.cz

Moderní metody optimalizace 2

Problém automatického programování

Page 3: Genetické programování - cvut.cz

Moderní metody optimalizace 3

Problém automatického programování

Page 4: Genetické programování - cvut.cz

Moderní metody optimalizace 4

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

Page 5: Genetické programování - cvut.cz

Moderní metody optimalizace 5

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

Page 6: Genetické programování - cvut.cz

Moderní metody optimalizace 6

Ukázkový p íklad

• IF (DETI = 2) AND (P > 80000) THEN ANOELSE NE

• M že být reprezentován následujícím stromem:

AND

P2DETI 80000

>=

Page 7: Genetické programování - cvut.cz

Moderní metody optimalizace 7

Stromová reprezentace• Stromová struktura je univerzální, nap .• Aritmetický výraz

• Logický výraz

• Program

15)3(2 yx

(x true) (( x y ) (z (x y)))

i =1;while (i < 20){

i = i +1}

Page 8: Genetické programování - cvut.cz

Moderní metody optimalizace 8

Stromová reprezentace

15)3(2 yx

Page 9: Genetické programování - cvut.cz

Moderní metody optimalizace 9

Stromová reprezentace

(x true) (( x y ) (z (x y)))

Page 10: Genetické programování - cvut.cz

Moderní metody optimalizace 10

Stromová reprezentace

i =1;while (i < 20){

i = i +1}

Page 11: Genetické programování - cvut.cz

Moderní metody optimalizace 11

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(e1, …, en) je korektní vyjád ení pokud f F,

arita(f)=n a e1, …, en 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 jakoukolivg F jako sv j argument)

Page 12: Genetické programování - cvut.cz

Moderní metody optimalizace 12

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

Page 13: Genetické programování - cvut.cz

Moderní metody optimalizace 13

Mutace• Nej ast ji: vym náhodn vybraný podstrom

jiným, náhodn vytvo eným

Page 14: Genetické programování - cvut.cz

Moderní metody optimalizace 14

Mutace• Mutace má dva parametry:

– Pravd podobnost pm ž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 pm=0[Koza, 1992] nebo velmi malé, nap . 0,05 [Banzhaf et al., 1998]

• Velikost potomk m že p esáhnout velikost rodi !

Page 15: Genetické programování - cvut.cz

Moderní metody optimalizace 15

íž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%

Page 16: Genetické programování - cvut.cz

Moderní metody optimalizace 16

Potomek 2

Rodi 1 Rodi 2

Potomek 1

Page 17: Genetické programování - cvut.cz

Moderní metody optimalizace 17

Tvorba nových ešení• Nejprve je nastavena maximální hloubka stromu Dmax

• Plnící metoda (každá v tev má délku = Dmax):– Uzly v hloubce d < Dmax jsou náhodn vybrány z

množiny funkcí F– Uzly v hloubce d = Dmax jsou vybrány z množiny

terminál T• R stová metoda (každá v tev má délku Dmax):

– Uzly v hloubce d < Dmax náhodn vybrány z F T– Uzly v hloubce d = Dmax náhodn vybrány z T

• B žn je po áte ní populace tvo ena p l-na-p l ob mi metodami

Page 18: Genetické programování - cvut.cz

Moderní metody optimalizace 18

Bloat• Bloat = “survival of the fattest”, nebo-li,

pr 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

Page 19: Genetické programování - cvut.cz

Moderní metody optimalizace 19

íklad: Symbolická regrese x2+x+1Generation 0

Page 20: Genetické programování - cvut.cz

Moderní metody optimalizace 20

íklad: Symbolická regrese x2+x+1

Generation 1

Kopie z (a) Mutant z (c) Potomci z (a) a (b)

Page 21: Genetické programování - cvut.cz

Moderní metody optimalizace 21

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

Page 22: Genetické programování - cvut.cz

Moderní metody optimalizace 22

íklad reálné aplikace:Tzv. „Human competitive results“

Page 23: Genetické programování - cvut.cz

Moderní metody optimalizace 23

íklad – stezka Santa Fe

Page 24: Genetické programování - cvut.cz

Moderní metody optimalizace 24

í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

Page 25: Genetické programování - cvut.cz

Moderní metody optimalizace 25

Typické ešení: „prošíva “ (F=12)

Page 26: Genetické programování - cvut.cz

Moderní metody optimalizace 26

GPLAB• A Genetic Programming Toolbox for MATLAB• Autorka Sara Silva• http://gplab.sourceforge.net/

• Test: demoant.m• [v,b] =

gplab(po et_generací,po et_jedinc ,parametry);

Page 27: Genetické programování - cvut.cz

Moderní metody optimalizace 27

Symbolická regrese

GPdotNET https://gpdotnet.codeplex.com/

Page 28: Genetické programování - cvut.cz

Moderní metody optimalizace 28

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

Page 29: Genetické programování - cvut.cz

Moderní metody optimalizace 29

Reference[6] Vladislavleva, E. (2008). Model-based Problem Solving

through Symbolic Regression via Pareto Genetic Programming. PhD thesis, Tilburg University, Tilburg, The Netherlands.

[7] GPdotNET https://gpdotnet.codeplex.com/

[8] GPLab: A Genetic Programming Toolbox for MATLABhttp://gplab.sourceforge.net/

Page 30: Genetické programování - cvut.cz

Moderní metody optimalizace 30

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 [email protected].

Datum poslední revize: 16.12.2018Verze: 002

Oprava 25.11.2009: P idán slide o reálných íslech p i symbolické regresiOprava 16.12.2018: P idány reference