Evoluční algoritmy Historie evolučních výpočetních technik (EVT) Standardní genetické algoritmy (SGA) přírodní motivace struktura jednoduchého genetického algoritmu teorie o schématech a její zobecnění na stavební bloky GA s reálnou reprezentací Genetické programování (GP) stromová reprezentace, podmínka uzavřenosti, typování genetické operátory Gramatická evoluce (GE) Lineární reprezentace 1-bodové alias vlnkové křížení Porovnání s GP
Evoluční výpočetní techniky - historie Fraser, Bremermann, Reed (50-tá, 60-tá léta) – první pionýři L. Fogel 1962 (San D.,CA): Evolutionary Programming Rechenberg & H.-P. Schwefel 1965 (Berlin, Germany): Evolution Strategies J. Holland 1975 (Ann Arbor, MI): Genetic Algorithms J. Koza 1989 (Palo Alto, CA): Genetic Programming . . . Gene expression programming, Grammatical evolution, competent GAs ... D. Fogel: „Měli bychom mít radost z toho, že evoluční výpočty vyšly asi z deseti nezávislých počátků v období let od 1953 do 1968. Je to klasický příklad konvergující evoluce.“
Evoluční programování (EP), L. Fogel Cílem bylo evolučním postupem odvodit chování konečného automatu ve smyslu schopnosti predikovat změny prostředí, v němž se automat nachází prostředí je popsáno jako posloupnost symbolů z konečné abecedy výstupem je automat předpovídající další symbol této posloupnosti kvalita automatu je hodnocena spolehlivostí predikce 5 mutačních operátorů pro modifikaci populace N (náhodně utvořených) automatů: změna závislosti výstupního symbolu na vnitřním stavu, změna přechodové funkce vnitřních stavů automatu, změna počátečního stavu automatu, odstranění vnitřního stavu, přidání vnitřního stavu.
Evoluční strategie (ES), Schwefel Optimalizace tvaru vstřikovacích trysek Reprezentace: počet segmentů a jejich parametry http://ls11-www.cs.uni- dortmund.de/people/schwefel /EADemos/Demos/Duese/dueseGIFE.html Počáteční tryska Nalezená optimální tryska
EVT – přírodní motivace Stochastické optimalizační algoritmy pracují na principu "vyšlechtění" kvalitního řešení postupnou evolucí populace potenciálních řešení [Davis L. et al.]: V přírodní evoluci je základní úlohou biologického druhu vyhledávání výhodných adaptací vůči složitému a dynamicky se měnícímu prostředí. ‚Znalost‘, která charakterizuje každý biologický druh, byla získána vývojem a je shrnuta v chromozómech každého jedince Abstrakce genetické dědičnosti (J.G. Mendel) a zápasu o přežití, kde vítězí ti nejsilnější (Ch. Darwin) Názvosloví gen, chromozóm, jedinec, populace, generace, křížení, mutace, ...
Genetické algoritmy (GA) Holland, 1975 (Americký biolog) Pokus o vysvětlení diversity druhů v přírodě GA řešení jsou reprezentována chromozomy každé řešení je ohodnoceno populace potenciálních řešení je vyvíjena pomocí selekce křížení mutace
Reprezentace Chromosomy jako lineární řetězce ale i Genotyp Fenotyp binární (klasické GA): 1 0 1 1 0 1 1 0 0 1 0 1 1 0 1 parametrické optimalizace reálných čísel: 3,24 1,78 -2,61 znaků (permutační problémy - TSP): DEACB ale i stromy: x*3 + y^2 matice, ... Genotyp Fenotyp genetickou informaci o řešení konkrétní hodnoty parametrů řešení ke každému genotypu musí být definován fenotyp + x 3 ^ y 2
Ohodnocovací funkce Fitness Prohledávaný prostor může být jediná informace o řešeném problému, kterou poskytneme GA musí být definována pro všechny možné chromozomy Prohledávaný prostor může být mnohorozměrný nelineární multimodální vícekriteriální diskrétní Fitness nemusí být definována analyticky Výsledky simulace optimalizovaného systému Úspěšnost klasifikace
Příklad na kódování Funkční optimalizace hledání maxima funkce f(x,y) = x2 + y2 na intervalu celých čísel 0, 31 x a y jsou kódovány na 5 bitech genotyp fenotyp fitness 0 0 0 0 0, 0 1 0 1 0 0, 10 100 0 0 0 0 1, 1 1 0 0 1 1, 25 625 + 1 = 626 0 1 0 1 1, 0 0 0 1 1 11, 3 121 + 9 = 130 1 1 0 1 1, 1 0 0 1 0 27, 18 729 + 324 = 1053
Evoluční cyklus Selekce Rodiče Rekombinace Populace Mutace Nahrazení Potomci
Standardní genetický algoritmus (SGA) begin t:=0; Inicializace P(t); Ohodnocení P(t); Statistika P(t); while (not ukončovací podmínka) do t=t+1; Reprodukce P(t) z P(t-1); Rekombinace P(t); Nahrazení P(t); end
Paralelismus v GA snížení pravděpodobnosti uváznutí v lokálním extrému
Vývoj populace řešení rovnoměrné navzorkování prohledávaného prostoru zaostření na slibné oblasti prohledávaného prostoru
Inicializace počáteční populace Náhodná inicializace náhodný výběr zvoleného počtu chromozomů (náhodný generátor nul a jedniček s p-stí 0,5) žádná apriorní znalost o podobě hledaného řešení spoléhá pouze na šťastné navzorkování celého prohledávaného prostoru omezeným počtem příkladů Informovaná využívá apriorní znalost může vést jednak k nalezení lepších řešení může zkrátit celkový výpočet může způsobit nevratné nasměrování GA k suboptimálnímu řešení Předzpracování jedinců pro počáteční populaci
Předzpracování počáteční populace Předšlechtění jedinců pro počáteční populaci (metaGA)
Efekt predzpracování počáteční populace fitness Počet operací ohodnocení
Selekce (reprodukce) Modeluje přírodní princip „přežívání nejsilnějších“ upřednostňuje zdatnější jedince před slabšími každý jedinec má šanci přispět svým kódem do další generace Ruletové kolo pravděpodobnost výběru jedince je úměrná jeho fitness
Genetické operátory - křížení Myšlenka: „Máme-li dvě dobrá řešení daného problému, pak jejich vhodným zkombinováním lze možná získat řešení, které bude ještě lepší“ Křížení Vzorkování „exploration“ prohledávaného prostoru Příklad: 1-bodové křížení
Genetické operátory - mutace udržení diversity populace minimalizování možnosti ztráty potenciálně užitečné části genetického kódu selekce + mutace může být dostatečně silná i bez křížení viz evoluční strategie
Nahrazovací strategie Určuje: jak velká část populace (a kteří jedinci konkrétně) bude nahrazena v jednom gener. kroku Generační strategie – stará populace je kompletně nahrazena novou populací (short-lived species) Steady-state – pouze část populace je nahrazena, ostatní jedinci zůstávají (longer-lived species)
Oblasti nasazení GA GAs jsou populární pro jejich jednoduchost, efektivnost a robustnost. Holland: “Nejlepší uplatnění GA je v oblastech, kde nemáme žádnou představu o tom, jak by mělo řešení vypadat. Právě tam nás často překvapí s čím přijdou." Aplikace: control, design, scheduling, routing problems optimal resource allocation, layout planning, design of neural networks, image processing marketing, credit & insurance modelling stock prediction, credit scoring, risk assessment
Tracking a criminal suspect Task is to guide the witness through a huge database of faces in order to identify the criminal suspect Chromosome structure: Human serves as an objective function evaluator UK Home Office, Police Systems Research and Development Group hair_colour skull_shape hair_cut eye_colour beard spectacles 0 0 1 0 1 0 1 1 0 1 0 1 1 0 0 1 0 0 0 1 0 1 0 1 0 . . . 1 1 0 1 0
Job Shop Scheduling Problem (Nakano) Machines: M=6, Jobs: N=6
Evoluce topologie a nastavení vah ANN Binární reprezentace vícevrstvé dopředné sítě granularita – počet bitů použitých pro kódování hodnot vah spojovací bity – indikují přítomnost/absenci spojení mezi neurony bity kódující váhy
Materiály D.E. Goldberg, Genetic Algorithms in Search, Optimisation and Machine Learning, Addison-Wesley, ‘89 J. Koza, Genetic Programming, MIT Press, 1992 Z. Michalewicz, Genetic Algorithms + Data Structures = Evolution Programs, Springer, 3rd ed., 1996 Th. Bäck, Evolutionary Algorithms in Theory and Practice, Oxford University Press, 1996 D.B. Fogel, Evolutionary Computation, IEEE Press, 1995 H.-P. Schwefel, Evolution and Optimum Seeking, Wiley & Sons, 1995 Marek Obitko: http://cs.felk.cvut.cz/~xobitko/ga/