EVA Iktiml.mff.cuni.cz/~neruda/eva1-16cz.pdfDarwinova evoluční teorie • 1859 – O původu...
Transcript of EVA Iktiml.mff.cuni.cz/~neruda/eva1-16cz.pdfDarwinova evoluční teorie • 1859 – O původu...
EVAINAIL025–2016/17RomanNerudaCZECHVERSION,13-01-2017
ÚVODTémata,literatura,osnova.
ROMANNERUDA:EVA1-2016/17 2
Literatura
• Mitchell,M.:Introduc)ontoGene)cAlgorithms.MITPress,1996.
• Eiben,A.EandSmith,J.E.:Introduc)ontoEvolu)onaryCompu)ng,Springer,2007.
• MichalewiczZ.:Gene)cAlgorithms+DataStructures=Evolu)onPrograms(3ed),Springer,1996
• Holland,J.:Adapta)oninNaturalandAr)ficialSystems,MITPress,1992(2nded).
• Goldberg,D.:Gene)cAlgorithmsinSearch,Op)miza)onandMachineLearning,Addison-Wesley,1989.
ROMANNERUDA:EVA1-2016/17 3
Témata• Modelyevoluce-základnípřístupyapojmy.Populace,rekombinace.Ohodnocení
úspěšnoseindividua.• Geneeckéalgoritmy.Zakódovánířešenéhoproblémudochromozómu.Základní
geneeckéoperace,selekce,křížení,mutace.• Selekce-simulacepřirozenéhovýběru.Účelováfunkce.Dynamickávs.staeckáselekce,
mechanismusrulety,turnaje,eliesmus.• Reprezentačníschémata,vlastnose,větaoschématech.Hypotézaostavebníchblocích.
Větaoimplicitnímparalelismu.• Vězňovodilema,iterovanévězňovodilema,strategie,ekvilibria,evolučnístabilita.• Evolučnístrategie,kooperaceindividuí,(1+1)ES,(m+1)ES,rychlostkonvergence,meta-
parametry.• Diferenciálníevoluce,CMA-ES.• EAakombinatoricképroblémy.ŘešeníNP-úplnýchúloh,problémobchodního
cestujícího,problémbatohu.• Strojovéučeníadatamining.Evoluceexpertníchsystémů,vnitřníreprezentace,
Michiganskývs.Piqsburghskýpřístup.• Klasifikačnísystémy.Učenípravidel"if-then",makléřskýalgoritmus,Q-učení,produkční
systémy.
ROMANNERUDA:EVA1-2016/17 4
EVOLUČNÍALGORITMYÚvod,biologickáinspirace,základníalgoritmus,vývojačáse.
ROMANNERUDA:EVA1-2016/17 5
Darwinovaevolučníteorie• 1859–Opůvodudruhů• omezenézdrojeprostředí• Základemživotaje
reprodukce• Jedincilépepřizpůsobení
prostředímajívětšíšancisereprodukovat
• Úspěšnéfentotypickérysysevícereprodukují,rekombinují,náhodněmění
ROMANNERUDA:EVA1-2016/17 6
Mendelovageneeka• 1856-Versucheüber
Pflanzenhybriden• Gen(původněfaktor)jako
základníjednotkadědičnose• Každýdiploidníjedinecmádva
páryalel,jednaznichsepřenesedopotomka,nezávislenaostatních
• Jetosložitější:– Polygenie–vícegenůovlivňuje
jedenznak– Pleiotropie–jedengen
ovlivňujevíceznaků– MitochondriálníDNA– Epigeneeka
ROMANNERUDA:EVA1-2016/17 7
DNA• 1953–Watson&Crick–dvojitá
šrouboviceDNA• Molekulárně-biologické
vysvětlení:– jakjegeneeckáinformaceuložena
vorganismu– jaksedědí
• DNAjetvořena4nukleoedy/bazemi–adenin,guanin,cytosin,thymin
• Kodon-trojicenukleoedůkódující1z23aminokyselin(redundance)
• Těchto23aminokyselinjezákladnístavebnísložkoubílkovinvevšechživýchorganismech
ROMANNERUDA:EVA1-2016/17 8
Molekulárnígeneeka• Křížení• Mutace• Transkripce:DNA->RNA• Translace:RNA->protein• GENOTYP->FENOTYP• Jednosměrnévelmi
komplexnízobrazení• Lamarckismus:
– existujezpětnýpřenosfenotyp->genotyp
– získanévlastnoselzedědit
ROMANNERUDA:EVA1-2016/17 9
EA-shrnu}
• Přírodníevoluce:prostředí,jedinci,fitness• Uměláevoluce:problém,kandidáeřešení,kvalitařešení
• EAjsoupopulačnístochasecképrohledávacíalgoritmy
• Rekombinaceamutacezajišťujívariabilitu• Selekcevedeprohledávánísprávnýmsměrem
ROMANNERUDA:EVA1-2016/17 10
ObecnýEA
• EAjsourobustnímeta-algoritmus
• Nofreelunchtheorem–neexistujejedennejlepšíalgoritmus
• Vypla}sevytvářetdoménověspecifickévariantyEA– Reprezentace– Operátory
ROMANNERUDA:EVA1-2016/17 11
ObecnýEA
• NáhodněvytvořiniciálnípopulaciP(0)
• VcykluvytvářejP(t)zP(t+1):– Výběrrodičů– Rekombinaceamutace– Tímvznikajínovíjedinci– EnvironmentálníselekcevybereP(t+1)nazákladěP(t)anovýchjedinců
ROMANNERUDA:EVA1-2016/17 12
Geneeckéalgoritmy
• 1975-Holland• Binárnězakódovaníjedinci• Ruletováselekce• Operace1-bodovéhokřížení• Bitovémutace• Inverze• TeorieschématkvysvětlenífunkceGA
ROMANNERUDA:EVA1-2016/17 13
Evolučníprogramování
• 1965–fogel,OwensaWalsh• Evolucekonečnýchautomatů• Smazánrozdílmezigenotypemafenotypem• Důraznamutace• Většinouneexistujekřížení• Turnajovéselekce
ROMANNERUDA:EVA1-2016/17 14
Evolučnístrategie
• 1964-Rechenberg,Schwefel• Opemalizacevektorůreálnýchčísel• Floaengpointzakódováníjedince• Základníoperacíjemutace• Krokmutacejeurčovánheurisekouneboadaptací(evolvujese)
• Determiniseckáseleceprostředí
ROMANNERUDA:EVA1-2016/17 15
Geneecképrogramování
• 1992–Koza• Evolucejedincůzakódovanýchjako(LISPovské)stromy
• Použi}(nejen)kevoluciprogramů• Specifickéoperátorykřížení,mutace,inicializace
• Dalšíaplikace(neuroevoluce,evolvinghw,…)
ROMANNERUDA:EVA1-2016/17 16
JEDNODUCHÝGENETICKÝALGORITMUS
HollandůvJGA,binárníreprezentace,variantyoperátorů
ROMANNERUDA:EVA1-2016/17 17
GA
• Geneeckéalgoritmy–70.létaUSA,Holland,DeJong,Goldberg,…
• PůvodnínávrhsednesoznačujeSGA(jednoduchýGA)– minimálnísadaoperací,conejjednoduššíkódování,teoreeckývýzkum
• PostupemčasuseGAobohaelyodalšízakódováníioperátory
ROMANNERUDA:EVA1-2016/17 18
SGA-princip• t=0;Náhodněvygeneruj
populaciP(0)nl-bitovýchjedinců
• PřechododP(t)kP(t+1):– Spočef(x)prokaždéxzP(t)
– Opakujn/2krát:• selekcívyberpárrodičůx,yzP(t)
• spravděpodobnos}pCaplikujkříženínax,y
• spravděpodobnos}pMmutujkaždýbitx,y
• Vložx,ydoP(t+1)
ROMANNERUDA:EVA1-2016/17 19
Selekce
• Ruletováselekce:– selekčnímechanismuszávislýnahodnotěfitnessjedince
– očekávanýpočetvybráníjedincebymělabýtzávislánapodílujehofitnessaprůměrnéfitnesspopulace
– Ruletováselekce:každýjedinecmáalokovánukruhovouvýsečruletyodpovídajícífitness,n-krátruletouzatočím.
ROMANNERUDA:EVA1-2016/17 20
Křížení
• VGAjekříženíhlavnímoperátorem• Rekombinujevlastnoserodičů• Doufáme,žerekombinacepovedeklepšífitness
• Jednobodovékřížení:– náhodnězvolímebodkřížení,– vyměnímeodpovídajícíčásejedinců– PravděpodobnostpCtypickyvrozsahudeseen
ROMANNERUDA:EVA1-2016/17 21
Mutace
• VGAhrajespíšepodřadnourolipojistkyproeuvíznu}vlokálníchextrémech.
• (VEPneboranýchEStobylnaopakjedinýzdrojvariability)
• Bitovámutace:– Spravděpodobnos}pMzměnímkaždýbitjedince– pMjemalá(např.tak,abyprůměrnězměnila1bitvjedinci)
ROMANNERUDA:EVA1-2016/17 22
Inverzeapod
• VpůvodnímnávrhuSGAHollandpoužívaldalšígeneeckýoperátor–inverzi
• Inverze– Obráceníčáseřetězce– Ovšemsezachovánímvýznamubitů– Složitějšítechnickéřešení– Inspiracevpřírodě– Neukázalasejakovýhodná
ROMANNERUDA:EVA1-2016/17 23
TEORIESCHÉMATVětaoschémetech,hypotézaostavebníchblocích,implicitníparalelismus,k-rukýbandita
ROMANNERUDA:EVA1-2016/17 24
Schémata
• Jedinecjeslovovabecedě{0,1}• Schémajeslovovabecedě{0,1,*}– (*=don'tcare)
• Schémareprezentujemnožinujedinců• Schémasr*reprezentuje2rjedinců• Jedinecdélkymjereprezentován2mschématy• Je3mschématdélkym• Vpopulacivelikosenje2mažn.2mschémat
ROMANNERUDA:EVA1-2016/17 25
Vlastnoseschémat
• ŘádschématuS:o(S)– Počet0a1(pevnýchpozic)
• Definujícídélka:d(S)– Vzdálenostmeziprvníaposlednípevnoupozicí
• Fitnessschématu:F(S)– Průměrnáfitnessodpovídajícíchjedincůvpopulaci
– Takžezávisínapopulaci.
ROMANNERUDA:EVA1-2016/17 26
Větaoschématech
• KrátkánadprůměrnásmalýmřádemschématasevpopulaciběhemGAexponenciálněmnoží.(Holland)
• Hypotézaostavebníchblocích:– GAhledásubopemálnířešeníproblémurekombinacíkrátkých,nadprůměrnýchsmalýmřádemschémat(buildingblocks).
– “justasachildcreatesmagnificentfortressthrougharrangementofsimpleblocksofwood,sodoesaGAseeknearopemalperformance...”
ROMANNERUDA:EVA1-2016/17 27
DůkazVoS
• PopulaceP(t),P(t+1),...njedincůdélkym• CosedějeskonkrétnímschématemSpři:– Selekci– Křížení– Mutaci
• C(S,t)...četnostschématuSvpopulaciP(t)– (početjedincůvreprezentovanýchSvP(t))
• PostupněodhadujemeC(S,t+1)
ROMANNERUDA:EVA1-2016/17 28
DůkazVoS
• Selekce:– Řetězecvmápravděpodobnostvybrání:ps(v)=F(v)/F(t),kdeF(t)jeΣF(u),{uzP(t)}
– SchémaSmápravděpodobnostvybrání:ps(S)=F(S)/F(t)
– Tedy:C(S,t+1)=C(S,t)nps(S)– Jinýmislovy:C(S,t+1)=C(S,t)F(S)/Fprum(t)– Fprum(t)=F(t)/n…průměrnáfitnessvP(t)
ROMANNERUDA:EVA1-2016/17 29
DůkazVoS
• ...ještěselekce:– Shrňmesito:C(S,t+1)=C(S,t)F(S)/Fprum(t)– Kdybybyloschéma“nadprůměrné”oe%:– F(S,t)=Fprum(t)+eFprum(t),prot=0,...– C(S,t+1)=C(S,t)(1+e)– C(S,t+1)=C(S,0)(1+e)t– Četnostnadprůměrnýchschématrostegeometrickouřadou(vpopulacích(poselekci)).
ROMANNERUDA:EVA1-2016/17 30
DůkazVoS
• Křížení:– Pravděpodobnost,žeschémakřížení(ne)přežije:– pd(S)=d(S)/(m-1) – ps(S)=1–d(S)/(m-1)– Kříženímápravděpodobnostaplikacepc:– ps(S)>=1–pc.d(S)/(m-1)
• Selekceakříženídohromady:– C(S,t+1)>=C(S,t).F(S)/Fprum(t)[1-pc.d(S)/(m-1)]
ROMANNERUDA:EVA1-2016/17 31
DůkazVoS• Mutace:– 1bitnepřežije:pm;– 1bitpřežije:1–pm– Schémapřežije(pm<<1):– ps(S)=(1–pm)o(S)– ps(S)=…asitak…=1–pm.o(S),promalépm
• Selekce,kříženíamutacedohromady:• C(S,t+1)>=C(S,t).F(S)/Fprum(t)[1-pc.d(S)/(m-1)-pm.o(S)]
• QED.
ROMANNERUDA:EVA1-2016/17 32
DůsledkyVoSaHoSB
• Nazakódovánízáleží• Navelikosezáleží• Předčasnákonvergenceškodí• CoGAnejde:– (111*******)a(********11)jsounadprůměrní– AleF(111*****11)<<F(000*****00)– Ideálje(1111111111);GAhotěžkonajde
• Podmínkanavýběrjedivná
ROMANNERUDA:EVA1-2016/17 33
Implicitníparalelismus
• GApracujesnjedinci,ale“implicitně”vyvíjí(mnohemvíce)schémat:2mažn.2m.
• KolikschématsevGAzpracujeefekevně:– Holland(adalší):(Zarůznýchpřepokladů,např.,žen=2m,schématazůstávajínadprůměrná,...)Početschémat,kterýmsevGAdostáváexponenciálníhorůstu,jeúměrnýn3.
• Jedinýpříkladkombinatorickéexplozenastranědobra.(Asianitone.)
ROMANNERUDA:EVA1-2016/17 34
Exploraeonvs.Exploitaeon
• PůvodníHollandovamoevace:GAje“adapevníplán”vyvažujícípřihledánířešenínapě}mezi– explorací(nacházenínovýchoblas}hledání)– exploatací(využi}stávajícíchznalos})
• Jenexplorace:náhodnéprocházky,nevyžívásepředchozíchznalos}
• Jenexploatace:uvíznu}vlokálníchextrémech,rigidita
ROMANNERUDA:EVA1-2016/17 35
1-rukýbandita
ROMANNERUDA:EVA1-2016/17 36
2-rukýbandita
• MámNmincí,stojímpředdvourukýmbanditou(rucevyplácejísestředníhodnotoum1,m2arozptylems1,s2).N-nalokujilepšíruce,nhorší.
• Cíl:maximalizovatzisk/minimalizovatztrátu.• Analyeckéřešení:alokovatexponenciálněvícepokusůproprávěvyhrávajícíruku.
• N-n*=O(exp(cn*));czávisínam1,m2,s1,s2
ROMANNERUDA:EVA1-2016/17 37
BanditaaSGA
• GAtakyalokujeexponenciálněmnohonadějnýmschématům
• Řešítedyopemálněproblémexploracevs.exploatace
• Schémataspoluhrajímnohorukébandity– Výhrajepočetpozicvpopulaci– Jeodhadnuthodnotoufintessschématu– Nejdřívesemyslelo:GAhraje3mrukéhobanditu,– Všechnyschématajsoukonkurenčníruce
ROMANNERUDA:EVA1-2016/17 38
…ale
• Hrajeseparalelněmnohemvíceher• Schémata“soutěží”o“konfliktní”pevnépozice• Schématařáduksoutěžívždyotěchkonkrétníchkpevnýchpozic–hrajíspolu2krukéhobanditu
• Takževždynejlepšíztétohrydostaneexponenciálněmnohomístvpopulaci
• Atoještějentehdy,kdyžGAmůževpopulacisprávněodhadnoutfitnessschémat
ROMANNERUDA:EVA1-2016/17 39
Takže,'blbá'úlohaproGAje...• =2;prox~111*...*• f(x)=1;prox~0*...*• =0;jinak• Proschématapla}:– F(1*...*)=1/2;– F(0*...*)=1
• JenžeGAodhadnouF(1*...*)~2,• Protože111*...*vpopulacipřeváží• GAzdenesamplujeschématanezávisle,takženeodhadnejejichskutečnoufitness.
ROMANNERUDA:EVA1-2016/17 40
Problémy
• Vbanditovijsourucenezávislé,GAalenesamplujeschématanezávisle
• Selekcenepracuje“ideálně”jakoveVoS,jedynamická.
• GAmaximalizujeon-lineperformance,jsouvelmivhodnéproadapevnípřípady.(Škodajezastavovat;-)
• (Paradoxně)senejčastějipoužívají“jen”prohledánínejlepšíhořešení.
ROMANNERUDA:EVA1-2016/17 41
StaeckáHoSB
• Grafenste]e,91:Lidipředpokládají,žeGAkonvergujekřešenímseskutečněnejlepšísta)ckouprůměrnoufitness;anektěmexistujícímvpopulacíchsnejlepšípozorovanoufitness.
• Topaklidimůžezklamat:• Kolaterálníkonvergence• Velkýrozptylfitnees
ROMANNERUDA:EVA1-2016/17 42
Kolaterálníkonvergence
• Kdyžužseněkamzačnekonvergovat,nemusejíbýtschématasamplovánastejnoměrně.
• Je-linapř.schéma111***...*dobré,převážívpopulacipopárgeneracích(skorovšechnyřetězcetakzačínají).
• Pakaleskorovšechnysamplyschématu***000...*jsouisamplyschématu111000*...*.
• TakžeGAneodhadneF(***000*...*)správně.
ROMANNERUDA:EVA1-2016/17 43
Velkýrozptylfitness
• Má-listaeckáprůměrnáfitnessschématuvelkýrozptyl,GAjizasenemusíodhadnoutdobře.
• Vizschéma1*...*znašehoblbéhopříkladu.• Rozptyljehofitnessjevelký,takžeGAnejspíšbudekonvergovatjennatěchčástechprostoru,kdemáfitnessvelkouhodnotu.
• Toaleza}žídalšísamplováníschématuchybou,takžeseneodhadnesprávnějehostaeckáfitness.
ROMANNERUDA:EVA1-2016/17 44
REPREZENTACEAOPERÁTORYCeločíselnéafloaengpointreprezentaceajejichstandardníoperátory,selekce
ROMANNERUDA:EVA1-2016/17 45
Kódování
• Binární– Odjakživa(odHollanda)– Mámepronějteoreeckévýsledky(anejenteoriischémat,jakuvidímepříš}semestr)
– Hollandargumentuje:binárnířetězcedélky100jsoulepšíneždesítkovédélky30,protožemajívícschémat(2100>230).
– aletonestačí,dnesvíme,žeschématanejsoutonejdůležitější
– Důležitéje,žebinárníkódováníječastonepřirozenéaneefekevníprodanýproblém.
ROMANNERUDA:EVA1-2016/17 46
Jinákódování• Víceznakovéabecedy• Celočíselné• Floaengpoint
• Ještějiná:– Permutace,– Stromy(programy),– Maece,– Neuronovésítě(různýmizpůsoby),– Konečnéautomaty,– Grafy,– Zvířátka…
ROMANNERUDA:EVA1-2016/17 47
Selekce-přehled
• Ruletováselekce– tradiční,pravděpodobnostvýběruúměrnáfitness
• SUS(stochasOcuniversalsampling)– jenjednanáhodnápozicevruletovémkole,dalšípozicesedopočítajíposunemo1/n
– „spravedlivějšíruleta“–proč?• Turnajováselekce– k-turnaj,porovnásekjedinců,vítězjevybrán– Typickykjemaléčíslo– Možnopoužítitam,kdefitnessneníexplicitnědána,např.kdyžseopravduhrajenějakáhranebosesimuluje
ROMANNERUDA:EVA1-2016/17 48
Celočíselnékódování• Mutace:– Buď„neza}žená“–nováhodnotazceléhorozsahu– Nebo„za}žená“–nováhodnotaposunemodaktuálníhodnoty
• Křížení:– Jednobodové,vícebodové,…– Uniformní–ukaždépoložkyjedinceházímemincí,zkteréhorodičehovezmeme
• Pozornaordinálníreprezentacetam,kdeuspořádánínemásmysl(pakaniza}ženámutacenemásmysl)
ROMANNERUDA:EVA1-2016/17 49
Floaengpointkódování
• Historickyprvnípokusyozakódováníreálnýchčíseldobitovéreprezentace,dnessenepoužívápokudneníopravdudobrýdůvod(kompreseprohledávacíhoprostoru,explicitníovládánípřesnosereprezentace).
• Dnessetypickyreálnáčíslakódujípřirozenoufloaeng-pointreprezentacíaodpovídajícíoperacetopakrepsektují(neřežesedočísel)
ROMANNERUDA:EVA1-2016/17 50
Floaengpointoperátory
• Mutace– Za}žená– Neza}žená
• Křížení– Strukturální
• Jednobodové,…uniformní
– Aritmeecké• Křížísehodnoty
ROMANNERUDA:EVA1-2016/17 51
Aritmeeckákřížení
• Nejčastějisepočítáprůměrhodnotobourodičů
• Varianty:– Místoprůměrunějakájinákonvexníkombinace:
• z=a*x+(1-a)*y,kde0<a<1– Kolikhodnotzjedincesekříží:
• Typickyvšechny• Někdyjen1náhodnězvolená• Někdykombinaces1bodovýmkřížením,křížísečást
ROMANNERUDA:EVA1-2016/17 52
EVOLUCEKOOPERACEVězniajejichdilemata,vonNeumann,Nash,Axelrod,Dawkins
ROMANNERUDA:EVA1-2016/17 53
Altruismusvs.darwinismus• Darwinismusjeinherentněkompeeevní–survivalofthe
fiqest– sociálnídarwinismus-odůvodněnílaissez-faire(„nechtobejt“)kapitalismu– AndrewCarnegie,TheGospelofWealth,1900Whilethelawofcompe))on
maybesome)meshardfortheindividual,itisbestfortherace,becauseitensuresthesurvivalofthefi]estineverydepartment.Weacceptandwelcome,therefore,ascondi)onstowhichwemustaccommodateourselves,greatinequalityofenvironment;theconcentra)onofbusiness,industrialandcommercial,inthehandsofthefew;andthelawofcompe))onbetweenthese,asbeingnotonlybeneficial,butessen)altothefutureprogressoftherace.
• Jakses}mslučujealtruismusakooperacevpříroděispolečnose?
• Hlavníproblémevoluční(socio)-biologie:JakmůžeevolucívzniknoutaltruisOckéchování,které(zdefinice)snižujefitnessjedince?
ROMANNERUDA:EVA1-2016/17 54
Teorieevolucealtruismu• Skupinováselekce
– evolucemůžepůsobitposkupinách(jižDarwin)– jakvysvětlitjedince,copodvádějíaničímnepomáhají
• Příbuzenskáselekce– Zachováníkopiígenůublízkýchpříbuzných– Alecoaltruismusucizích,čidokonceujedincůrůznýchdruhů
• Dawkins,sobeckýgen– jednotkouevoluceneníjedinecalegen– Wilson:„theorganismisonlyDNA'swayofmakingmoreDNA.“
• Trivers,1971:recipročníaltruismus– výhodnýproobaorganismy,někdyirůznéhodruhu– s}nbudoucnose,paralelasiterovanýmvězňovýmdilematem– Krakonošovasojka,upířínetopýři,péčeosrstumakaků
ROMANNERUDA:EVA1-2016/17 55
Vězňovodilema
ROMANNERUDA:EVA1-2016/17
i/j D C
D 2/2 0/5
C 5/0 3/3
i/j D C
D P/P S/T
C T/S R/R
• Tempta)on>Reward>Penalty>Suckerspayoff• R>P:vzájemnáspoluprácejelepšínežvzájemnázrada• T>RaP>S:zradajedominantnístrategiíproobahráče• (50.Léta-RANDcorp.)
56
Nash• Strategiesjedominantníproagentai,kdyždálepšínebostejnývýsledeknežjakékolivjinástrategieagentaiprovšechnystrategieagentaj
• StrategiesiasjjsouvNashověekvilibriu,když:– Hraje-liagentistrategiis1,agentjdosáhnenejlepšíhovýsledkuss2
– Hraje-lijs2,proijenejlepšíhráts1• Neboli,s1as2jsounasebevzájemnětounejlepšíodpovědí.
• TohlejeNashovoekvilibriumryzíchstrategií• AlenekaždáhramáNashovoekvilibriumvryzíchstrategiích• AněkteréhrymajívícNashovýchekvilibrií
ROMANNERUDA:EVA1-2016/17 57
NashaPareto• Smíšenéstrategie–náhodný
výběrmeziryzímistrategiemi– Nashovavěta:Každáhras
konečnýmpočtemstrategiímáNashovoekvilibriumvesmíšenýchstrategiích.
• ŘešeníjePareto-op)mální/efek)vní,– kdyžneexistujejinástrategie,
kterábyzlepšilaagentůvvýnosbezzhoršenívýnosujinéhoagenta.
– ŘešeníjeneefekevnípodlePareta:-lzezlepšitvýnosjednoho,anižbysezhoršilvýnosdruhého
ROMANNERUDA:EVA1-2016/17 58
Takže…
• Proracionálníagentytodilemanení/je:– DDjeNashovoekvilibrium– DDjejedinéřešení,kteréneníPareto-opemální– CCjeřešení,kterémaximalizujespolečnýužitek
• Tragedyofthecommons• Cotojeracionálníajsoulidéracionální?• S}nbudoucnose–iterovanéverze–Axelrod
ROMANNERUDA:EVA1-2016/17 59
Iterovanévězňovodilema• Soupeřihrajívíceher,
pamatujísivýsledky/akceproevníkaapodletohoupravujísvoustrategii
• T>R>P>S,• 2R>T+S–nevyplapse
pravidelněstřídatCaD• Pokudsehrahrajepřesně
Nkrát(avísetoN),indukcílzedokázat,ženejlepšístrategiíje„pořádzrazuj“.
ROMANNERUDA:EVA1-2016/17 60
Axelrodovyturnaje• Prvníturnaj
– 14strategiíplusRANDOM,200kroků,každýskaždým(isesebou),5xopakovaně
• TFT=TitForTat(„půjčkazaoplátku“)– Začnikooperací,avdalšíchtazíchkopírujtahysoupeře
• Druhýturnaj– 62strategií–všichnivěděli,jakdopadlpředchozíturnaj–vítězopětTFT
• Tře}–„ekologický“turnaj– NěcojakogeneraceGA,iniciálnígeneracebylystrategiez2.turnaje,hrálosena1000generací
– Množstvíjedincůvdalšígeneracizáviselonapočtuvítězstvívpředchozígeneraci
– AzaseTFT!
ROMANNERUDA:EVA1-2016/17 61
Cotoznamenáprostrategie?• 4důležitévlastnoseúspěšnýchstrategií:– Niceness–nezrazujprvní– Provocability–rychleoplácejzradu– Forgiveness–alerychleseuklidni– Clarity–buďjednoduchá,abytvýmakcímostatnírozuměli
• Neexistujejednastrategie,kterábyvyhrálaproevšemstrategiím
• Jetřebabýtúspěšnýproevelmirůznorodýmtypůmhry(ALL-D,TFTT,RANDOM,TRIGGER)
• Jetakédobrénaučitsehrátsamasesebou• PokusyvyzrátnadTFTpomocívícezradnepomohly
ROMANNERUDA:EVA1-2016/17 62
Cotoznamenáprokooperaci?
• Vprostředích,kterápodporujíkooperaci…– nastaveníodměn,– velkápravděpodobnostiteracePD(shadowofthefuture)
• …sekooperacevětšinouvyvine– Alenejenvnapř.ALL-Dsvětě
• Racionalita,inteligence,vědomí,…neníprovzájemnoukooperacidůležité,jenvýhodavětšíchhodnotfitness
• Počátečníkooperacemůžedokoncevzniknoutnáhodněapakseužudržet
ROMANNERUDA:EVA1-2016/17 63
Podvaceeletech
• VprostředíchsšumemjevýhodnástrategiePavlov(win-stay,lose-shi�)
• PokudbylaodměnaRneboP=>C,• ifTorS=>D
• Po20letechzopakovaliturnajsvícestrategiemiodjednohotýmu
• Vítěznéstrategiekooperovaly• Několik(10)tahůnarozpoznánísoupeře,pakvšechnypomohlyjednékopii(taťkovi)získatvětšískóre
• Účastnícidokoncebojovalisorganizátory(falešníúčastníci,bojomístavpopulaci…)
ROMANNERUDA:EVA1-2016/17 64
EVOLUČNÍSTRATEGIEMoevace,populačnícyklus,floaengpointmutace,meta-evoluce
ROMANNERUDA:EVA1-2016/17 65
Evolučnístrategie• Rechenberg,Schwefel,60.léta• opemalizacereálnýchfunkcímnohaparametrů• 'evoluceevoluce'• evolvovanýjedinec:– Gene)cképarametryovlivňujícíchování– Strategicképarametryovlivňujícíevoluci
• novýjedinecakceptovánjen,je-lilepší• navznikusemůžepodíletvícejedinců• DnesnejkomplexnějšíverzíjeCMA-ES(correlaeonmatrixadaptaeon-ES)
ROMANNERUDA:EVA1-2016/17 66
ESnotace• Důležitéparametry:– Mpočetjedincůvpopulaci– Lpočetvznikajícíchpotomků– Rpočet'rodičů'
• Zvláštnínotacesouvisíseselekcí:– (M+L)ES–MjedincůdonovépopulacejevybránozM+Lstarýchinovýchjedinců
– (M,L)ES–MnovýchjedincůjevybránojenzLnovýchpotomků• Ukazujese,že(M,L)jevětšinourobustnějšíkuvíznu}vlokálníchextrémech.
• JedinecC(i)=[Gn(i),Sk(i)],k=1,nebon,nebo2n
ROMANNERUDA:EVA1-2016/17 67
ESpopulačnícyklus
• n=0;NáhodněinicializujpopulaciPnMjedinců• OhodnoťjedincePnpomocífitness• Dokudnenířešenídostatečnědobré:– OpakujLkrát:
• vyberRrodičů,• zkřiž,mutuj,ohodnoťnového
– VyberMnových(podletypuES)– ++n
ROMANNERUDA:EVA1-2016/17 68
ESjedinecamutace• C(i)=[Gn(i),Sk(i)]• Skjsoustandardníodchylkyfloaengpointmutací• k=1:
– jednaspolečnáodchylkaprovšechnyparametry• k=n:
– nekorelovanémutace– Každýparametrmásvouodchylku– Geometrickysemutujepoelipserovnoběžnésosami
• k=2n:– vylepšenéorotace,nemutujesejenpodleosdimenzí– korelovanémutace,odpovídajímutovánízn-rozměrnéhonormálního
rozdělení– Násobísemaecírotaceprourčeníopemálníchsměrů– (stačívektor:n-rozměrný),takžemetaparametrůje2n
ROMANNERUDA:EVA1-2016/17 69
ESmutace• Geneecképarametry:– Přičtenínáhodnéhočíslaznormálníhorozdělení(spříslušnouodchylkou(apříp.rotací))
• Odchylky:– Zvětšovatnebozmenšovatpodleúspěšnosemutace1/5pravidlo(heuriseka,„nejlepšíje,kdyžmutacemá20%úspěšnost“,takžesepřimenšíúspěšnoseodchylkazvětšíapřivětšíúspěšnosezmenší)
– AnebotradičněpřičtenínáhodnéhočíslazN(0,1)• Rotace:– PřičtenínáhodnéhočíslazN(0,1)
ROMANNERUDA:EVA1-2016/17 70
ESkřížení
• Uniformní• Gangbangvícerodičů– Lokální(R=2)– Globální(R=M)
• Dvěverze– Diskrétní– Aritmeecké(průměr)
ROMANNERUDA:EVA1-2016/17 71
DIFERENCIÁLNÍEVOLUCEAlternaevnígeometrickymoevovanýfloaeng-pointevolučníalgoritmus
ROMANNERUDA:EVA1-2016/17 72
DE–schémaainicializace
• Inicializace:náhodnéhodnotyparametrů• Mutace:„posun“podleostatních• Křížení:uniformní„spojistkou“• Selekece:porovnáníapřípadnénahrazenílepšímpotomkem
ROMANNERUDA:EVA1-2016/17 73
Mutace
• Každýjedinecvpopulaciprojdemutací,kříženímaselekcí
• Projedincexi,pzvolmetřirůznéjedincexa,p,xb,p,xc,p
• Definujmedonorav:vi,p+1=xa,p+F.(xb,p-xc,p)• Fjeparametrmutace,konstantazintervalu<0;2>
ROMANNERUDA:EVA1-2016/17 74
Křížení
• Uniformníkříženípůvodníhojedincesdonorem• ParametrCurčujepravděpodobnostzměny• Vevýsledkuzajištěnoaspoň1prvekzdonora• Pokusnývektorui,p+1:• uj,i,p+1=vj,i,p+1;iffrandji<=Corj=Irand• uj,i,p+1=xj,i,p+1;iffrandji>CandjǂIrand• randjijepseudonáhodnéčísloz<0;1>• Irandnáhodnýintz<1;2;...;D>
ROMANNERUDA:EVA1-2016/17 75
Selekce
• Porovnámefitnessxavalepšíhovezmeme:– xi,p+1=ui,p+1;ifff(ui,p+1)<=f(xi,p)– xi,p+1=xi,p;jinak– proi=1,2,...,N
• Mutaci,kříženíaselekciopakujemedokudnenísplněnonějakéukončovacíkriterium,(typickynapř.fitnessnejlepšíhoužjedostdobrá)
ROMANNERUDA:EVA1-2016/17 76
PARTICLESWARMOPTIMIZATIONJedinecječáseceaplujesivhejnunadkrajinoufitness
ROMANNERUDA:EVA1-2016/17 77
PSO
• Populačníprohledávacíalgoritmus• Eberhart,Kennedy,1995• Inspiracehejnyhmyzu/ryb• Jedinecjetypickyvektorreálnýchčísel• Říkásemučás/ce• Nejsouzdeoperacekřížení,• Animutacetak,jakjiznáme• JedincisepohybujívhejnuprostoremparametrůROMANNERUDA:EVA1-2016/17 78
PSOalgoritmus• Inicializujkaždoučáseci• Do• Foreachčásece• Spočítejfitnessčásece• Je-lifitnesslepšíneždosudnejlepšídosaženáfitnessčásece(pBest)• pBest:=fitness;• End
• NastavgBestjakonejlepšífitnessnejlepšíčásece• Foreachčásece• spočítejrychlostčásecedlerovnice(a)• aktualizujpozicičásecedlerovnice(b)• End• Whilemaximumiteraeonsorminimumerrornenísplněno
ROMANNERUDA:EVA1-2016/17 79
PSOrovnicepohybu
• v:=v++c1*rand()*(pbest-present)++c2*rand()*(gbest-present)(a)
• present=persent+v(b)• vjerychlostčásece,presentjepozicečásece.• pbestnejlepšípozicečásecevhistorii• gbestnejlepšíglobálnípozicevhistorii• rand()náhodnéčísloz(0,1).• c1,c2konstanty(učícífaktory)častoc1=c2=2.
ROMANNERUDA:EVA1-2016/17 80
PSOdiskuse
• SpolečnésGA:– Začínajíznáhodnékonfigurace,prohledávajíprostor,majífitnessjakoohodnocení,používajístochaseckémetody
• Odlišné:– Nejsouzdegeneeckéoperace– Čásecemajípaměť– Výměnainformacíjejenodnejlepšíchčásecostatním
ROMANNERUDA:EVA1-2016/17 81
EVOLUČNÍSTROJOVÉUČENÍMichiganvs.Piqsburg,machinelearningireinforcmentlearning
ROMANNERUDA:EVA1-2016/17 82
Strojovéučení
• Učenípravidelnazákladěpředkládanýchdat– Datamining– Expertnísystémy– Učeníagentů,robotů(posilovanéučení)
• Základnípřístupy:– Michiganský(Holland):pravidlojejedinec
• HollandovyLCS:učícíseklasifikačnísystémy(vhodnéproposilovanéučení)
– Piasburský:jedinecjemnožinapravidel
ROMANNERUDA:EVA1-2016/17 83
Michigan
• Hollandv80.letech:learningclassifiersystems• JedinecGAjepravidlo,celápopulacepakfungujejakořídícíčiexpertnísystém
• Jednoduchápravidla:– Pravástrana:příznaknastal/ne/don'tcare– Levástrana:kódakcečiklasifikacekategorie
• Pravidlamajíváhu(úspěšnost)• Taurčujefitnessvevoluci• EvolucenemusíprobíhatvgeneracíchROMANNERUDA:EVA1-2016/17 84
Michigan-LCS
• Evoluceprobíhájenobčasajennačásepopulace
• Problémreakevnose(absencevnitřnípaměe)– Pravidlamohoumítnapravéstraně–kroměklasifikačníhovýstupu–dalšívnitřnípříznaky-„zprávy“
– analevéstraně„receptory“najejichpříjem,– Systémmápakfrontuzprávamusírealizovatalgoritmusodměnpropravidla
ROMANNERUDA:EVA1-2016/17 85
LCS–bucketbrigade• Jenněkterápravidlavedou
kakci,zakterounásledujeodměna/trestodprostředí,
• Rozdělěníodměny–procelýřetězúspěšnýchpravidel
• Pravidlamusejídátčástsvésíly(jakobypeněz),kdyžchtějísoupeřitomožnostbýtvcestěkřešení
• Bucketbrigadealgoritm,vpraxikomplikovanéatěžkopádné,ekonomikaodměnsetěžkovyvažuje
ROMANNERUDA:EVA1-2016/17 86
Z(ero)CS
• (Wilson,1994)zjednodušenéLCS– Žádnéinternízprávy– Žádnýsložitýmechanismusalokaceodměny
• Pravidlajsoujenreprezentacebitovýchmap:– IF(vstupy)THEN(výstupy)
• Coveroperátor:– Pokudsenenajdežádnépravidloprodanousituaci,jevygenerovánoadhoc
– Přidajísenáhodně*avyberesenáhodnývýstup
ROMANNERUDA:EVA1-2016/17 87
ZCSpokr.
• Jaksepřidělujeodměna–upravujesílapravidel:– Pravidla,kteráneodpovídajídanésituaci,taknic– Pravidla,kteráodpovídajívstupu,alemajíjinývýstup:sílasezmenšínásobenímkonstantou0<T<1
– VšempravidlůmsezmenšísílaomaloučástB– Tahlesílaserozdělírovnoměrněmezipravidla,kteráminuleodpovědělasprávně,zmenšenáofaktor0<G<1
– Nakonec,odpověďodsystémusezmenšíoBarozdělírovnoměrněmezipravidla,kteráteďodpovědělasprávně
ROMANNERUDA:EVA1-2016/17 88
XCS–vylepšeníZCS
• NevýhodyZCS:– ZCSnemánutkánívyvíjetkompletnípravidlovýsystémpokrývajícívšechnypřípady
– Pravidlanazačátkuřetězuakcíjsoumáloodměňována(anepřežijí)
– Pravidlavedoucíkakcímsmalouodměnounemusejípřežívat(ikdyžjsoudůležitá)
• XCS:– Oddělitfitnessodpředpokládanéhovýdělkupravidla– Fitnesszaložitnapřesnosepravidla,nenamnožství
ROMANNERUDA:EVA1-2016/17 89
Piq
• Jedincijsoumnožinypravidel• Ohodnoceníkomplikovanější– Prioritypravidel,konflikty– Falseposieves,falsenegaeves
• Geneeckéoperátorykomplikovanější– Typickyvedekdesítkámoperátorůpracujícíchnaúrovnicelýchmnožin,jednotlivýchpravidel,termůvpravidlech
• Důraznabohatoureprezentacidomén(množiny,výčtovétypy,intervaly,...)
ROMANNERUDA:EVA1-2016/17 90
Piq,napříkladGIL
• Binárníklasifikačníúloha• Jedinecklasifikujeimplicitnědojednétřídy(nemápravoustranu)
• Každýjedinecjedisjunkcekomplexů• Komplexjekonjunkceselektorů(z1proměnné)• Selektorjedisjunkcehodnotzdoményproměnné• Reprezentujesebitovoumapou:
• ((X=A1)AND(Z=C3))OR((X=A2)AND(Y=B2))• [001|11|0011OR010|10|1111]
ROMANNERUDA:EVA1-2016/17 91
GILpokr.• Operátorynaúrovníjedince:– výměnapravidel,kopírovánípravidel,generalizacepravidla,smazánípravidla,specializacepravidla,zahrnu}jednohopozievníhopříkladu
• Operátorynaúrovnikomplexů:– rozděleníkomplexuna1selektoru,generalizaceselektoru(nahrazení11...1),specializacegeneralizovanéhoselektoru,zahrnu}negaevníhopříkladu
• Operacenaselektorech:– Mutace0<->1,rozšíření0->1,zúžení1->0,
ROMANNERUDA:EVA1-2016/17 92
VÍCEKRITERIÁLNÍOPTIMALIZACEMule-ObjeceveEvolueonaryAlgorithms(MOEA),Paretovafronta,NSGAII
ROMANNERUDA:EVA1-2016/17 93
Problém• Místojednéfitness(účelovéfunkce)jichmámecelývektor
fi,i=1...n• Uvažujememinimalizačníformulaci,takžesesnažímeoco
nejmenšíhodnotuvevšechfi,tojealetěžké.• Definicedominance(jedinec,neboliřešení):
– Jedinecxslabědominujejedincey,právěkdyžfi(x)<=fi(y),proi=1..n
– xdominujey,kdyžhoslabědominujeaexistujej:w(x)<w(y)– xayjsounesrovnatelní,kdyžxnedominujey,aniynedominujex
– xnedominujey,kdyžbuďyslabědominujexanebojsouxaynesrovnatelní
ROMANNERUDA:EVA1-2016/17 94
Paretovafronta
• Paretovafrontajemnožinajedinců,kteřínejsoudominovánižádnýmjinýmjedincem.
ROMANNERUDA:EVA1-2016/17 95
Jednoduše
• JakřešitMOEAjednoduše:• Agregovatfitness:– tzn.udělatzevšechfiváženousumoujednuf– ařešittojakonormálníjednokriteriálníopemalizaci
– téseněkdyvkontextuMOEAříkáSOEA(singleobjeceveEA,tojsmeaždoteďdělali,neleknětese)
• alenevíme,jaknastavitváhyujednotlivýchf
ROMANNERUDA:EVA1-2016/17 96
VEGA(VectorEvaluatedGA)
• JedenzprvníchMOEAalgoritmů,1985• Idea:– populaciNjedincůutřídímpodlekaždéznúčelovýchfunkcí
– prokaždéivyberuN/nnejlepšíchjedincůdlefi– tykřížímamutujuavyberudodalšígenerace
• Mátomnohonevýhod:– těžkoseudržujediverzitapopulace– mátotendencikonvergovatkextrémůmjednotlivýchfi
ROMANNERUDA:EVA1-2016/17 97
NSGA(non-dominatedsorengGA)
• 1994,používáideudominanceprofitness• Toalenezaručujerozptýlenípopulace,kterésemusířešitjinak(niching)
• Algoritmus:– PopulacePjerozdělenanapostupněkonstruovanéfrontyF1,F2,...• F1jemnožinavšechnedominovanýchjedincůzP• F2jemnožnavšechnedominovanýchjedincůzP-F1• F3jem.v.n.j.zP-(F1sjednocenoF2)• ...
ROMANNERUDA:EVA1-2016/17 98
NSGApokr.• Prokaždéhojedinceisespočítánichingfaktorjakosoučet
sh(i,j)přesvšechnyjedincejzestejnéfronty,kde:– sh(i,j)=1-[d(i,j)/dshare]^2,prod(i,j)<dshare– sh(i,j)=0jinak
• d(i,j)jevzdálenostiodj• dsharejeparametr,kterýjenutnourčitpředem
• Jedincizprvnífrontydostanounějakou„dummy“fitness,kterásedělinichingfaktorem
• Jedincizdruhéfrontydostanoudummyfitnessmenšínežfitnessnejhoršíhozprvnífronty,opětsedělíjejichnichingfaktorem
• ...provšechnyfronty
ROMANNERUDA:EVA1-2016/17 99
NSGAII• 2000,odstraňujechybyNSGA:– Nutnosturčenídshare– Neexistencieliesmu
• Niching– Dshareanichecountjenahrazenocrowdingdistance:– Tojesoučetvzdálenos}knejbližšímsousedům.– Nejlepšíjedincivzhledemkjednotlivýmfimajícrowdingdistancenekonečno
• EliOsmus– Staráanovápopulacejsouspojeny,utříděnyavybereselepšíčástdodalšígenerace
ROMANNERUDA:EVA1-2016/17 100
NSGAIIpokr.
• Fitness:– Každýjedinecmápřiřazenočíslonedominovanéfrontyacrowdingdistance
– Kdyžseporovnávajídvajedinci,taknejdřívseberevpotazčíslofronty(menšíjelepší),přistejnéfrontěseberecrowdingdistance(většíjelepší)
– Avětšinousežádnáfitnessopravdunepočítá,jenomsevturnajíchporovnávajítahledvěčísla
ROMANNERUDA:EVA1-2016/17 101
KOMBINATORICKÁOPTIMALIZACEEVAřešíNP-težkéúlohy,problémobchodníhocestujícího,specifikapermutačníreprezentace
ROMANNERUDA:EVA1-2016/17 102
EVAřešítěžkéúlohy
• Batoh(0-1knapsackproblem)– Jednoduchézakódování– Jednoduchá(aleproblemaecká)fitness– Standardníoperátory
• Obchodnícestující-POC(TSP)– Jednoducháfitness– Problemaeckékódováníapříslušnéop(křížení)– rozvrhování,plánování,dopravníproblémy...
ROMANNERUDA:EVA1-2016/17 103
Batoh
• Máme:– batohkapacityCMAX– aNvěcí,– každámácenuv(i)– aobjemc(i)
• Úkolemjevybratznichtakové,abychom– maximalizovalisumuv(i)– azároveňsevešlidobatohu,t.j.sumac(i)<=CMAX
ROMANNERUDA:EVA1-2016/17 104
Batoh
• Zakódovánípřímočaré–bitovámapa:– 0110010–beremevěci2,3a6– jetoažtriviální– alejedincinemusejísplňovatpodmínkuoCMAX
• Operátory:– Přímočarékřížení,mutace,selekce
• Fitness:dvačleny:– max[sumav(i)]vs.min[CMAX–sumac(i)]
ROMANNERUDA:EVA1-2016/17 105
Batoh
• Problémsvíceúčelovouopemalizacílzeřešitrůzně:– Obačlenyfitnesszvážitasečíst– Použít1zobecnýchEAprovíceúčelovéfunkce– Anebochytřezměnitzakódování:
• 1znamená:DEJvěcdobatohuPOKUDsenepřeplní• takhledosáhnemeitoho,ževšechnyřetězcejsoupřípustnářešení
ROMANNERUDA:EVA1-2016/17 106
Obchodnícestující
• MámeNměst,chcemejeobjetsminimálnímináklady
• Fitnessjezřejmá–nákladynacestu• Reprezentacejsourůznorodé– Variantyreprezentacípomocívrcholů– Reprezentacepomocíhran,...
• Operátoryjsouzávislénareprezentaci– KříženíumožňujevyužítheurisekykřešeníPOC
ROMANNERUDA:EVA1-2016/17 107
Reprezentacesousednose
• Cestajeseznamměst,městojjenapozicii,vede-licestazidoj
• Příklad– (248397156)odpovídácestě1-2-4-3-8-5-9-6-7
• Každácestamájen1reprezentaci,aleněkteréseznamynegenerujípřípustnoucestu
• Klasickékříženínefunguje(různéopravy)• Aleschémataano:– Např(*3*...)značívšechnycestyshranou2-3
ROMANNERUDA:EVA1-2016/17 108
Reprezentacebufferem–ordinální
• Moevována}m,abyšlopoužítnormální1-bodovékřížení(alemásmysl?)– Mějmebuffervrcholů(třebauspořádaný)areprezentacepředstavujepořadíměstavbufferu
– Městasezbufferupopouží}mažou
• Příklad:– Buffer(123456789)acesta1-2-4-3-8-5-9-6-7jerepezentovánajako(112141311)
ROMANNERUDA:EVA1-2016/17 109
Reprezentacecestou–permutací
• Každéhoasinapadneprvní,• Mávýznamiprokódováníjinýchúloh.– cesta5-1-7-8-9-4-6-2-3jetedyrepr.(517894623)
• Nefungujekřížení,protobylyajsouvyvíjenyoperátory,kteréprodukujísprávnéreprezentaceanavícobsahujínějakouideuotom,jakudělatdobréřešení– PMX,CX,OX,...
ROMANNERUDA:EVA1-2016/17 110
PMX
• Pareallymappedcrossover(Goldberg)• Snažísezachovatconejvíceměstnapozicíchzdanýchměst,jde-lito.
• 2-bodovékřížení• (123|4567|89)PMX(452|1876|93):– (...|1876|..)(...|4567|..)azobr.1-48-57-66-7– lzedoplnit(.23|1876|.9)(..2|4567|93)– adlezobr.(423|1876|59)(182|4567|93)
ROMANNERUDA:EVA1-2016/17 111
OX
• Ordercrossover(Davis)• Zachovávárelaevnípořadíměstdlejednotl.cest
• (123|4567|89)OX(452|1876|93):– (...|1876|..)(...|4567|..)apřeuspořádámecestu2oddruhéhobodukřížení9-3-4-5-2-1-8-7-6
– vyhodímepřekříženáměstaz1,zbyde:9-3-2-1-8– doplnímepotomka1:(218|4567|93)– obdobněpotomek2:(345|1876|92)
ROMANNERUDA:EVA1-2016/17 112
CX
• Cycliccrossover(Oliver)• Snažísezachovatabsolutnípoziciměstavcestě
• (123456789)CX(412876935)– prvnípozice,náhodnětřebazprvníhoP1=(1........),– teďmusímevzít4,P1=(1..4....),pak8,3a2– P1=(1234...8.),dálužnelze,doplnímezdruhého– P1=(123476985)– ObdobněP2=(412856739)
ROMANNERUDA:EVA1-2016/17 113
ER
• Edgerecombinaeon(Whitleyetal)• Předchozíkříženízachovajímax60%zobourodičů,
• snahaERjezachovatjichconejvíc.– Prokaždéměstosiudělámseznamyhran,– Začnuněkde(1.městem),– Vybírámměstasméněhranami,– Vpřípaděshodpočtuhransemezinimirozhodnunáhodně
ROMANNERUDA:EVA1-2016/17 114
(123456789)ER(412876935)• 1:924• 2:138• 3:2495• 4:351• 5:463• 6:579• 7:68• 8:792• 9:8163
• Začnuv1,následnícijsou9,2,4• 9vypadává,má4násl.,z2a4náhodně
vyberu4• násl.4jsou3a5,beru5,neboť5má3
násl,za}mco3má4násl.(tojealenepřehledné)
• Teďmáme(145......),podobněpokračujeme
• ...(145678239)• Můžedojítktomu,ženelzehranu
vybrat,akříženíselže,alejenzřídka(1-1.5%případů)
ROMANNERUDA:EVA1-2016/17 115
(123456789)ER2(412876935)
• 1:9#24• 2:#138• 3:2495• 4:3#51• 5:#463• 6:5#79• 7:#6#8• 8:#792• 9:8163
• ER2–vylepšeníER• Zachovávávícespolečnýchhran• Označímsityhrany,kteréjsou2x-#• Dámjimpřednostpřivýběru• Toseprojevíjenuvrcholůsetřemi
následníky,že
ROMANNERUDA:EVA1-2016/17 116
InicializaceproTSP
• Nejbližšísousedi:– Začnisnáhodnýmměstem,– vybírejdalšíjakonejbližšízdosudnevybraných
• Vkládáníhran:– KcestěT(začnihranou)vybernejbližšíměstocmimo
– Najdihranuk-jvTtak,žeminimalizujerozdílmezik-c-jak-j
– Vyhoďk-j,vložk-cac-jdoT
ROMANNERUDA:EVA1-2016/17 117
MutaceproTSP
• Inverze(!)• Vkládáníměstadocesty• Posunpodcesty• Záměna2měst• Záměnapodcest• Heuriseky2-optapod.
ROMANNERUDA:EVA1-2016/17 118
Dalšípřístupy
• (Binární)maecováreprezentace:• Buď1jenprohranuzidoj• Nebo1propředcházenívcestě(častější)
– Specifickéoperátorykříženímaec–• Průnik–ANDanáhodnédoplněníhran• Sjednocení–rozdělitnakvadranty,2vyhodit,odstranitkontradikce,doplnitnáhodně
• Kombinaceslokálnímiheurisekami– ES,kterávylepšujecestyvpopulacipomocí“mutací”-heurisekjakoje2-opt,3-opt
ROMANNERUDA:EVA1-2016/17 119
Dalšíúlohy-rozvrhování• Rozvrhování,víme,žejeNPtěžké:– Jedinecjerozvrh,přímočarékódovánímaecí
• Řádkyodpovídajíučitelům,sloupcehodinám,hodnotyjsoukódypředmětů
• Mutace–zamíchejpředměty• Křížení–vyměň„lepší“řádkyzjedinců
– Fitness• fitnessřádku(jakjespokojenučitel)• dalšíso�kritériakvalityrozvrhu
– Hardomezujícípodmínky• nutnorespektovatvoperátorech,jinaksegenerujemnohonepřípustnýchřešení
• kdymohouučitelé,coakdelzeučit,…
ROMANNERUDA:EVA1-2016/17 120
Dalšíúlohy–jobshopscheduling• Plánovánívýroby
• Výrobkyo1…oN,sestávajícízčás}p1…pK,prokaždoučástvíceplánů,jakjívyrobitnastrojíchm1…mM,strojemajírůznédobynastavenínajinývýrobek
• Fitness–časvýroby• Zakódováníjekriecké:– Permutační–plánjejenpermutacepořadívýrobků.Dekodérpakmusízvolitplánypročáse.Výhody–jednoducháreprezentace,možnostpožítkříženízTSP.Aleukazujese,žetoneníefekevní.Dekodérřešítukomplikovanoučástúlohy,TSPoperátorynejsouvhodné.
– Přímáreprezentacejedincejakoceléhoplánu–kladenárokynaspecializované(komplexí)evolučníoperátory.
ROMANNERUDA:EVA1-2016/17 121
NEUROEVOLUCEJenzákladníprincipy,současnépřístupyažvEVAII
ROMANNERUDA:EVA1-2016/17 122
UčeníNSpomocíEVA
• Prvnípokusyod80.let• Učeníparametrů(vah)• Učenístruktury(spoje,architektura)• Učenívahiarchitekturynajednou• Použi}vúloháchreinforcementlearning–nenímožnéučitmetodamiučenísučitelem(roboeka)
• Hybridnímetody–kombinaceEAslokálnímprohledávánímapod
ROMANNERUDA:EVA1-2016/17 12
3
Učenívah• Přímočaré– Zakódovánívahdovektoru,– floaengpointGA,– standardníoperátory
• Většinoujepomalejšínežspecializovanégradientníalgoritmy(častořádově)
• +Lzehoparalelizovat• +Lzehopoužítiproúlohy,kdemámfitness,alenechybuvkaždémkroku,takžegradientníalgoritmynemohupoužít
ROMANNERUDA:EVA1-2016/17 124
Učenístruktury
• Fitness=postavitsíť,inicializovat,zkusitučit,nejlépevíckrát
• Přímékódování– Realizujistrukturusítěnapř.jakobinárnímaeci,– pracujisevolucílinearizovanýchdlouhýchbinárníchvektorů
• Gramaeckékódování– Kitanonavrhlvyvíjet2Dformálnígramaeky,kteréjsou„programem“provytvořenímaece
ROMANNERUDA:EVA1-2016/17 125