genetické programování - cvut.cz
TRANSCRIPT
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á
Moderní metody optimalizace 2
Problém automatického programování
Moderní metody optimalizace 3
Problém automatického programování
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
…
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
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
>=
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}
Moderní metody optimalizace 8
Stromová reprezentace
15)3(2 yx
Moderní metody optimalizace 9
Stromová reprezentace
(x true) (( x y ) (z (x y)))
Moderní metody optimalizace 10
Stromová reprezentace
i =1;while (i < 20){
i = i +1}
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)
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é)
Moderní metody optimalizace 13
Mutace• Nej ast ji: vym náhodn vybraný podstrom
jiným, náhodn vytvo eným
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 !
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%
Moderní metody optimalizace 16
Potomek 2
Rodi 1 Rodi 2
Potomek 1
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
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
Moderní metody optimalizace 19
íklad: Symbolická regrese x2+x+1Generation 0
Moderní metody optimalizace 20
íklad: Symbolická regrese x2+x+1
Generation 1
Kopie z (a) Mutant z (c) Potomci z (a) a (b)
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
Moderní metody optimalizace 22
íklad reálné aplikace:Tzv. „Human competitive results“
Moderní metody optimalizace 23
íklad – stezka Santa Fe
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
Moderní metody optimalizace 25
Typické ešení: „prošíva “ (F=12)
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);
Moderní metody optimalizace 27
Symbolická regrese
GPdotNET https://gpdotnet.codeplex.com/
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
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/
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