Evoluční algoritmy. Rayův umělý život (sebekopírující assembler) Hollandovy klasifikační systémy (pravidla)



Podobné dokumenty
Genetické algoritmy. Informační a komunikační technologie ve zdravotnictví

Evoluční algoritmy. Podmínka zastavení počet iterací kvalita nejlepšího jedince v populaci změna kvality nejlepšího jedince mezi iteracemi

5.5 Evoluční algoritmy

Genetické algoritmy. Vysoká škola ekonomická Praha. Tato prezentace je k dispozici na:

Evoluční algoritmy a umělý život

Emergence chování robotických agentů: neuroevoluce

Přírodou inspirované metody umělé inteligence

Navrženy v 60. letech jako experimentální optimalizační metoda. Velice rychlá s dobrou podporou teorie

Evoluční výpočetní techniky (EVT)

Metaheuristiky s populacemi

Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma

Genetické programování

Biologicky inspirované výpočty. Schématické rozdělení problematiky a výuky

Gramatická evoluce a softwarový projekt AGE


EVA I NAIL /15 Roman Neruda

Jak se matematika poučila v biologii

Moderní systémy pro získávání znalostí z informací a dat

PŘEDNÁŠKA 03 OPTIMALIZAČNÍ METODY Optimization methods

Grammar-based genetic programming

METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1

UČENÍ BEZ UČITELE. Václav Hlaváč

Zpětnovazební učení Michaela Walterová Jednoocí slepým,

Genetické programování 3. část

EVA II NAIL /14 Roman Neruda

Úvod do optimalizace, metody hladké optimalizace

Teorie (ještě teoretičtější)

Využití metod strojového učení v bioinformatice David Hoksza

Evoluční algoritmy I - poznámky

Popis zobrazení pomocí fuzzy logiky

Geneticky vyvíjené strategie Egyptská hra SENET

A0M33EOA: Evoluční optimalizační algoritmy


oddělení Inteligentní Datové Analýzy (IDA)

Genetické algoritmy. a jejich praktické využití. Pavel Šturc. průmyslu, stejně tak je zde uvedeno i několik případů jejich úspěšné implementace.

Základy umělé inteligence

GLOBÁLNÍ OPTIMALIZACE S VYUŽITÍM SOFTWARU MATHEMATICA

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Dynamické programování

Binární vyhledávací stromy pokročilé partie

Univerzita Pardubice Fakulta ekonomicko-správní. Návrh a realizace systému pro genetické programování Bc. Petr Sotona

Markov Chain Monte Carlo. Jan Kracík.

1. Číselné posloupnosti - Definice posloupnosti, základní vlastnosti, operace s posloupnostmi, limita posloupnosti, vlastnosti limit posloupností,

EVA I. NAIL /17 Roman Neruda CZECH VERSION,

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

Teorie her a ekonomické rozhodování. 2. Maticové hry

Principy počítačů I Netradiční stroje

Evolučníalgoritmy. Dále rozšiřována, zde uvedeme notaci a algoritmy vznikléna katedře mechaniky, Fakulty stavební ČVUT. Moderní metody optimalizace 1

Masarykova univerzita. Fakulta informatiky. Evoluce pohybu

Algoritmy komprese dat

Užití systému Matlab při optimalizaci intenzity tepelného záření na povrchu formy

Úvodem Dříve les než stromy 3 Operace s maticemi

SPECIFICKÝCH MIKROPROGRAMOVÝCH ARCHITEKTUR

Binární faktorová analýza genetickým algoritmem

EKO-KOLONIE. Ústav informatiky, Filozoficko-přírodovědecká fakulta Slezské univerzity v Opavě 24.

Algoritmy I, složitost

Klasifikace a rozpoznávání. Lineární klasifikátory

Varianty Monte Carlo Tree Search

ZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA STROJNÍ BAKALÁŘSKÁ PRÁCE. 2016/2017 Monika Knolová

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Algoritmy a struktury neuropočítačů ASN - P11

Umělá inteligence a rozpoznávání

Pokročilé operace s obrazem

Úloha ve stavovém prostoru SP je <s 0, C>, kde s 0 je počáteční stav C je množina požadovaných cílových stavů

Katedra kybernetiky laboratoř Inteligentní Datové Analýzy (IDA) Katedra počítačů, Computational Intelligence Group

Minikurz aplikované statistiky. Minikurz aplikované statistiky p.1

Heuristické řešení problémů. Seminář APS Tomáš Müller

1. Úvod do genetických algoritmů (GA)

KOMPRESE OBRAZŮ. Václav Hlaváč, Jan Kybic. Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání.

Ambasadoři přírodovědných a technických oborů. Ing. Michal Řepka Březen - duben 2013

Úvod do mobilní robotiky AIL028

4EK201 Matematické modelování. 10. Teorie rozhodování

Úvod do mobilní robotiky NAIL028

Pokroky matematiky, fyziky a astronomie

Strukturální regresní modely. určitý nadhled nad rozličnými typy modelů

Paralelní grafové algoritmy

Kybernetika a umělá inteligence, cvičení 10/11

Aproximativní algoritmy UIN009 Efektivní algoritmy 1


Cvičení 5. Přednášející: Mgr. Rudolf B. Blažek, Ph.D. prof. RNDr. Roman Kotecký, DrSc.

Trénování sítě pomocí učení s učitelem

NEURONOVÉ SÍTĚ A EVOLUČNÍ ALGORITMY NEURAL NETWORKS AND EVOLUTIONARY ALGORITHMS

PJC Cvičení #2. Číselné soustavy a binární reprezentace proměnných

K možnostem krátkodobé předpovědi úrovně znečištění ovzduší statistickými metodami. Josef Keder

Algoritmy a struktury neuropočítačů ASN P4. Vícevrstvé sítě dopředné a Elmanovy MLNN s učením zpětného šíření chyby

Algoritmy a struktury neuropočítačů ASN P9 SVM Support vector machines Support vector networks (Algoritmus podpůrných vektorů)

Funkcionální programování. Kristýna Kaslová

ZÍSKÁVÁNÍ ZNALOSTÍ Z DATABÁZÍ

Datové struktury 2: Rozptylovací tabulky

OSA. maximalizace minimalizace 1/22

04 - Databázové systémy

10. cvičení z PST. 5. prosince T = (n 1) S2 X. (n 1) s2 x σ 2 q χ 2 (n 1) (1 α 2 ). q χ 2 (n 1) 2. 2 x. (n 1) s. x = 1 6. x i = 457.

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Lékařská biofyzika, výpočetní technika I. Biostatistika Josef Tvrdík (doc. Ing. CSc.)

Časová a prostorová složitost algoritmů

Seminář z umělé inteligence. Otakar Trunda

Programování v C++ Úplnej úvod. Peta (maj@arcig.cz, SPR AG )

Dynamické programování

Úvod do teorie her

Maturitní témata. IKT, školní rok 2017/18. 1 Struktura osobního počítače. 2 Operační systém. 3 Uživatelský software.

Transkript:

Evoluční algoritmy Hollandovy genetické algoritmy (binární řetězce) Fogelovo evoluční programování (automaty) Kozovo genetické programování (stromy) Schwefelovy evoluční strategie (parametry funkcí) Rayův umělý život (sebekopírující assembler) Hollandovy klasifikační systémy (pravidla)

Odkazy: Holland: Adaptation in natural and artificial systems, MIT Press, 1992. Goldberg: Genetic algorithms in Optimization, Search and Learning, Addison-Wesley, 1989. Koza: Genetic Programming, I-III, MIT Press, 1992, 1994, 1999. Mitchell: Introduction to GA, MIT Press, 1996. Hitch-hiker's guide to EC: http://www.faqs.org/faqs/ai-faq/genetic/

Obecný evoluční algoritmus Populace P(t) jedinců {x 1 (t),... x n (t)} Každý jedinec je zakódované řešení problému Každý jedinec má fitness (jak dobře řeší problém) Vytváření populace P(t+1): Výběr (selekce) Křížení apod Mutace apod

OEA pokr. Evolution program() { t=0; initialze P(t); evaluate P(t); while (! end) { } t++; select P(t) from P(t-1); alter P(t); evaluate P(t); }

Jednoduchý genetický algoritmus genetická reprezentace řešení vytvoření iniciální populace ohodnocovací/účelová/fitness funkce genetické operátory: výběr, křížení, mutace parametry GA: velikost populace, pravděpodobnosti operátorů

JGA pokr. Reprezentace: Binární řetězce Mutace: Náhodná změna bitu Křížení Jednobodové Selekce Ruletová

Schémata Schéma je slovo v abecedě 0, 1 a* (don't care) Schéma reprezentuje množinu řetězců Schéma s r * reprezentuje 2 r řetězců Řetězec délky m je reprezentován 2 m schématy Je 3m schémat délky m V populaci velikosti n je 2m až n.2 m schémat

Schémata pokr. Řád schématu S: o(s) Počet 0 a 1 (pevných pozic) Definující délka: d(s) Vzdálenost mezi první a poslední pevnou pozicí Fitness schématu: F(S) Průměrná fitness odpovídajících řetězců v populaci

Věta o schématech Krátká nadprůměrná s malým řádem schémata se v populaci během GA exponencielně množí. Hypotéza o stavebních blocích: GA hledá suboptimální řešení problému rekombinací krátkých, nadprůměrných s malým řádem schémat (building blocks). just as a child creates magnificent fortress through arrangement of simple blocks of wood, so does a GA seek near optimal performance...

Důkaz věty o schématech 1 Populace P(t), P(t+1),... n jedinců délky m Co se děje s konkrétním schématem S při: Selekci Křížení Mutaci C(S,t)... četnost schématu S v populaci P(t) (počet řetězců v reprezentovaných S v P(t)) Postupně odhadujeme C(S,t+1)

Důkaz věty o schématech 2: Selekce: Řetězec v má pravděpodobnost vybrání: p s (v)=f(v)/f(t), kde F(t) je suma F(u), u z P(t) Schéma S má pravděpodobnost vybrání: p s (S)=F(S)/F(t) Tedy: C(S,t+1) = C(S,t) n p s (S) Jinými slovy: C(S,t+1)=C(S,t) F(S)/F prum (t) F prum (t)=f(t)/n průměrná fitness v P(t)

Důkaz věty o schématech 3:... ještě selekce: Shrňme si to: C(S,t+1)=C(S,t) F(S)/F prum (t) Kdyby bylo schéma nadprůměrné o e%: F(S,t)=F prum (t) + e F prum (t), pro t=0,... C(S,t+1)=C(S,t) (1+e) C(S,t+1)=C(S,0) (1+e) t Četnost nadprůměrných schémat roste geometrickou řadou (v populacích (po selekci)).

Důkaz věty o schématech 4: Křížení: Pravděpodobnost, že schéma křížení (ne)přežije: p d (S) = d(s)/(m-1); p s (S) = 1 d(s)/(m-1) Křížení má pravděpodobnost pc: p s (S)>= 1 p c. d(s) / (m-1) Selekce a křížení dohromady: C(S,t+1) >= C(S,t). F(S)/F prum (t) [1- p c. d(s) / (m-1)]

Důkaz věty o schématech 5: Mutace: 1 bit (ne)přežije: p m ; 1 p m Schéma nepřežije (p m <<1): p s (S) = (1 p m ) o(s) = asi tak = 1 p m. o(s) Selekce, křížení a mutace dohromady: C(S,t+1)>=C(S,t).F(S)/F prum (t) [1-p c.d(s)/(m-1)-p m.o(s)] QED.

Význam VoS a HoSB Na zakódování záleží Na velikosti záleží Předčasná konvergence škodí Co GA nejde: (111*******) a (********11) jsou nadprůměrní Ale F(111*****11) << F(000*****00) Ideál je (1111111111); GA ho těžko najde Podmínka na výběr je divná

Implicitní paralelismus GA pracuje s n jedinci, ale implicitně vyvíjí (mnohem více) schémat: 2 m až n.2 m. Kolik schémat se v GA zpracuje efektivně: Holland (a další): (Za různých přepokladů, např., že n = 2 m, schémata zůstávají nadprůměrná,... ) Počet schémat, kterým se v GA dostává exponenciálního růstu, je úměrný n 3. Jediný příklad kombinatorické exploze na straně dobra.

Exploration vs. Exploitation Původní motivace: GA je adaptivní plán vyvažující při hledání řešení napětí mezi explorací (nacházení nových oblastí hledání) explorací (využití stávajících znalostí) Jen explorace: náhodné procházky, nevyžívá se předchozích znalostí Jen exploatace: uvíznutí v lokálních extrémech, rigidita

1-ruký bandita

2-ruký bandita Mám N mincí, stojím před dvourukým banditou (ruce vyplácejí se střední hodnotou m 1, m 2 a rozptylem s 1, s 2 ). N-n alokuji lepší ruce, n horší. Cíl: maximalizovat zisk / minimalizovat ztrátu. Analytické řešení: alokovat exponenciálně více pokusů pro právě vyhrávající ruku. N-n = O(exp(c n)); c závisí na m 1, m 2, s 1, s 2

... a GA GA taky alokuje exponenciálně mnoho nadějným schématům Řeší tedy optimálně problém expl. vs. expl. Schémata spolu hrají mnohoruké bandity Výhra je počet pozic v populaci Je odhadnut hodnotou fintess schématu Nejdříve se myslelo: GA hraje 3 m rukého banditu, Všechny schémata jsou konkurenční ruce

Ale... Hraje se paralelně více her Schémata soutěží o konfliktní pevné pozice Schémata řádu k soutěží vždy o těch konkrétních k pevných pozic hrají spolu 2 k rukého banditu Takže vždy nejlepší z této hry dostane exp. mnoho míst v populaci A to ještě jen tehdy, když GA může v populaci správně odhadnout fitness schémat

Takže, blbá úloha pro GA je... = 2; pro x ~ 111*... * f(x) = 1; pro x ~ 0*...* = 0; jinak Pro schémata platí: F(1*...*) = ½ ; a F(0*...*) = 1 Jenže GA odhadnou F(1*...*) ~ 2, Protože 111*...* v populaci převáží GA zde nesampluje schémata nezávisle, takže neodhadne jejich skutečnou fitness.

Problémy V banditovi jsou ruce nezávislé, GA ale nesampluje schémata nezávisle Selekce nepracuje ideálně jako ve VoS, je dynamická. GA maximalizuje on-line performance, jsou velmi vhodné pro adaptivní případy. (Škoda je zastavovat ;-) (Paradoxně) se nejčastěji používají jen pro hledání nejlepšího řešení.

statická hypotéza o blocích Grafenstette, 91: Lidi předpokládají, že GA konverguje k řešením se skutečně nejlepší statickou průměrnou fitness; a ne k těm existujícím v populacích s nejlepší pozorovanou fitness. To pak lidi může zklamat: Kolaterální konvergence Velký rozptyl fitnees

Kolaterální konvergence Když už se někam začne konvergovat, nemusejí být schémata samplována stejnoměrně. Je-li např. schéma 111***...* dobré, převáží v populaci po pár generacích (skoro všechny řetězce tak začínají). Pak ale skoro všechny samply schématu ***000...* jsou i samply schématu 111000*...*. Takže GA neodhadne F(***000*...*) správně.

Velký rozptyl fitness Má-li statická průměrná fitness schématu velký rozptyl, GA ji zase nemusí odhadnout dobře. Viz schéma 1*...* z našeho blbého příkladu. Rozptyl jeho fitness je velký, takže GA nejspíš bude konvergovat jen na těch částech prostoru, kde má fitness velkou hodnotu. To ale zatíží další samplování schématu chybou, takže se neodhadne správně jeho statická fitness.

Pokusy o jemnější analýzu GA Royal road fitness, IGA (idealizovaný GA) Mitchell, Forrest, Holland, 91-94 Přesné matematické uchopení GA Pravděpodobnostní přístupy, Markovovské řetězce Vose, Liepins. Whitley, 90.léta Statistické (en-bloc) popisy Statistická mechanika Pruegel-Bennett, Shapiro, 94

IGA Udělat fitness, která by byla ideální pro GA: Krátká, kompaktní, dobrá schémata Snadná rekombinovatelnost Rozdělím schéma na s i, ty budu v řetězci hledat R(x) = Σ i o(s i ) δ i (x); kde δ i (x)=1 pro x~s i R1(x) pracovala s 8 bloky o 8 1kách R1(111111110...0) = 8; R1(111111110...011111111) = 64;

Pokusy s R1 Zdá se, že R1 je pro GA ideální, takže GA předhoní všechny hill-climbing techniky Random Mutation Hill Climbing: 1) Vyber S náhodně 2) Vytvoř S' změnou náhodnho bitu v S, 3) Je-li F(S')> F(S), S = S' 4) Goto 2 5) To vše, until S je dost dobrý

Výsledky s R1 GA porazily kdekoho RHMC porazil GA o faktor 10. Časová složitost RHMC se dá analyticky odvodit. Čas k nalezení K bloků N jedniček u RHMC je řádově ~ 2 K N ln N Ale GA takhle analyzovat nejde. Navržen IGA: teoretický nástroj, který splňuje statickou HoBB

IGA 1) V každém kroku zvol náhodně řetězec 2) Když najdeš v řetězci schéma, schovej si ho 3) Když najdeš v řetězci ještě neobjevené schéma, skřiž ho se schovaným, tak, aby schovaný měl všechny dosud objevená schémata Všechna schémata jsou samplována nezávisle Selekce je modelována schováním nadějného Křížení je modelováno ideálním křížení

IGA poráží RHMC Časová složitost RHMC: Čas k nalezení N bloků K jedniček u RHMC je řádově ~ 2 K N ln N Časová složitost IGA: Čas k nalezení N bloků K jedniček u RHMC je řádově ~ 2 K ln N O faktor N (počet bloků)

Teď ale vážně IGA neexistuje Nezávislé samply: velká populace, existence mutace Uchování dobrých schémat: Vlastnosti selekce (silná, pomalá) Rychlé křížení: prostě rychlé Zrychlení vůči hill-climbingu: N, počet potenciálních bloků musí mít smysl

Takže, kdy je GA dobrý? Slabé metody: nevyžadují nic speciálního od problému (náhodné procházky,...) GA většinou lepší než jiné slabé metody Hlavně v případech složitějšího prohledávacího prostoru, velkého prohledávacího prostoru Více maxim, šum, apod Není nutné najít globální maximum

A kdy ne? Už jsme viděli Hledá se 1 dobře skryté globální maximum U dobře prozkoumaných prohledávacích prostorů (obchodní cestující, apod.) jsou často velmi dobré heuristické algorimy využívající specifika problému (silné metody)

Kódování Binární Odjakživa Teoretické výsledky Holland: binární řetězce délky 100 jsou lepší než desítkové délky 30, protože mají víc schémat (2 100 >2 30 ). Ale často nepřirozené a neintuitivní pro daný problém.

A jiná kódování Víceznakové abecedy Floating point Úplně jiné: Stromy, Matice, Neuronové sítě Zvířátka

Genetické programování Programy ve formě stromů (LISP) Operace: Křížení, Mutace, Selekce: fitness dle řešené úlohy Strom: Terminály - vstupy Neterminály operace

Genetické programování Evoluce programů Reprezentace syntaktickými stromy S-expressions, LISP Křížení, Mutace, Procedury

GP 3 Škálovatelnost: ADF Generalizace (mimo tréninkovou množinu) Omezení růstu stromů Alternativy: Programy na kreslení elektrických obvodů Programy na kreslení antén,... Strojový kód

Alife T.S.Ray : Tierra Množící se programy ve strojovém kódu Modelování ekosystému: Zdroje: strojový čas, paměť Implicitní fitness (přežívání) Parazitismus, emergence chování život in silicio

Evoluce neuronových sítí Evoluce vah (alternativa k jiným učícím alg.) Montana, Davis 89: Síť zakódována jako vektor vah Floating point kódování vah Mutace: přičítání malého náhodného čísla Křížení: pro každý neuron vyberu náhodně 1 rodiče a beru váhy od tohoto rodiče Prý rychlejší než Back Prop

Evoluce vah 2 Schaffer, Whitley, Enselmann 94: QuickProp rychlejší než GA Neruda, 98: kanonický GA pro NS využívající redundance v prostoru parametrů (zmenšuje prostor prohledávání na 1/k! (k počet skrytých neuronů) GA lépe paralelizovatelné GA použitelné i tam, kde BP/QP selžou

Evoluce architektury sítí Přímé kódování (Miller,...): Topologie sítě: binární matice NxN Evolvuje se jako jedinec v GA Křížení: výměna řádek matice Fitness: chyba po učení BP nějakou dobu Gramatické kódování (Kitano, 90): Snaha o redukci prohledávacího prostoru Vyvíjí se gramatika pro vytvoření binární matice

Další možnosti Evoluce učícího pravidla: Klasická BP: w(t+1) = w(t) C de/dw Možnosti: druhé derivace, předchozí směr,... Kombinace BP a fuzzy kontroleru změny konstant na základě změny chyby,... Jeden krok BP jako speciální mutace