Evoluční algoritmy I - poznámky

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

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

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

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

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

Gramatická evoluce a softwarový projekt AGE

Metaheuristiky s populacemi

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

5.5 Evoluční algoritmy

Genetické algoritmy a jejich praktické využití

Masarykova univerzita. Fakulta informatiky. Evoluce pohybu


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

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

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

Základní pojmy I. EVOLUCE

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

Jak se matematika poučila v biologii

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

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ

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

P edpov ny J. Hollandem v 60. letech b hem jeho práce na celulárních automatech

Inovace studia molekulární a buněčné biologie reg. č. CZ.1.07/2.2.00/

Rozhodovací procesy v ŽP HRY A SIMULAČNÍ MODELY

Genetické programování

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

Barevné formy zebřiček a jejich genetika - část II. příklady

zejména Dijkstrův algoritmus pro hledání minimální cesty a hladový algoritmus pro hledání minimální kostry.

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

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

Výukový materiál zpracován v rámci projektu EU peníze školám

DETEKCE DISKREDIBILITY SENZORU U KOTLE NA BIOMASU OPTIMALIZAČNÍMI ALGORITMY


IB108 Sada 1, Příklad 1 Vypracovali: Tomáš Krajča (255676), Martin Milata (256615)

SPECIFICKÝCH MIKROPROGRAMOVÝCH ARCHITEKTUR

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ


(Auto)korelační funkce Statistické vyhodnocování exp. dat M. Čada ~ cada

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

Swarm Intelligence. Moderní metody optimalizace 1

1. Téma : Genetika shrnutí Název DUMu : VY_32_INOVACE_29_SPSOA_BIO_1_CHAM 2. Vypracovala : Hana Chamulová 3. Vytvořeno v projektu EU peníze středním

Úvod do teorie her. David Bartl, Lenka Ploháková

Problém identity instancí asociačních tříd

Základy genetiky populací

Optimalizační algoritmy inspirované chováním mravenců

Analytické programování v C#

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

Základní pravidla dědičnosti - Mendelovy a Morganovy zákony

A0M33EOA: Evoluční optimalizační algoritmy

Cluster Analysis based on Bio-Inspired Algorithms

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.

Algoritmus Minimax. Tomáš Kühr. Projektový seminář 1

"Učení nás bude více bavit aneb moderní výuka oboru lesnictví prostřednictvím ICT ". Základy genetiky, základní pojmy

Ant Colony Optimization

Intervalové stromy. Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme. 1. Změna jednoho čísla v posloupnosti.

Semestrální práce z předmětu m6f. 2 test dobré shody

Problém batohu. Zdeněk Hanzálek ČVUT FEL Katedra řídicí techniky. 5. dubna 2011

Genetické programování 3. část

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

GRAFY A GRAFOVÉ ALGORITMY

Základní škola a Mateřská škola G.A.Lindnera Rožďalovice. Za vše mohou geny

Testování hypotéz. 1. vymezení základních pojmů 2. testování hypotéz o rozdílu průměrů 3. jednovýběrový t-test

VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE. Optimalizace trasy při revizích elektrospotřebičů

Poslední nenulová číslice faktoriálu

Genetika populací. KBI / GENE Mgr. Zbyněk Houdek

Inovace studia molekulární a buněčné biologie reg. č. CZ.1.07/2.2.00/

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

Inovace studia molekulární a buněčné biologie reg. č. CZ.1.07/2.2.00/

Některé zákony rozdělení pravděpodobnosti. 1. Binomické rozdělení

Registrační číslo projektu: CZ.1.07/1.5.00/

Základní genetické pojmy

Extrakce a selekce příznaků

ŘEŠENÍ PROBLÉMU LOKACE HUBŮ POMOCÍ GENETICKÉHO ALGORITMU SOLVING THE SINGLE ALLOCATION HUB LOCATION PROBLEM USING GENETIC ALGORITHM

Mendelistická genetika

Antecepční aparát kolektivu konverguje

Fakulta elektrotechnická

ZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA STROJNÍ BAKALÁŘSKÁ PRÁCE Jan Šulc

ŠKOLNÍ VZDĚLÁVACÍ PROGRAM

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

Seminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr

Nauka o dědičnosti a proměnlivosti

Geneticky vyvíjené strategie Egyptská hra SENET

Transportation Problem

Heuristiky UNIVERZITA PALACKÉHO V OLOMOUCI KATEDRA MATEMATICKÉ ANALÝZY A APLIKACÍ MATEMATIKY. Vypracovala:

Software je ve světě IT vše, co není Hardware. Do softwaru patří aplikace, program, proces, algoritmus, ale i data (text, obrázky), operační systém

Gymnázium, Brno, Slovanské nám. 7 WORKBOOK. Mathematics. Teacher: Student:

2 Spojité modely rozhodování

6. T e s t o v á n í h y p o t é z

3. Matice a determinanty

Dynamic programming. Optimal binary search tree

Varianty Monte Carlo Tree Search

Pravděpodobnost vs. Poměr šancí. Pravděpodobnostní algoritmy: Bayesova věta. Bayesova teorie rozhodování. Bayesova věta (teorém) Vzorec. ...

Populační genetika II

Gymnázium, Brno. Matice. Závěrečná maturitní práce. Jakub Juránek 4.A Školní rok 2010/11

Drift nejen v malých populacích (nebo při bottlenecku resp. efektu zakladatele)

Kapitola 10: Diskové a souborové struktury. Klasifikace fyzických médií. Fyzická média

Nová éra diskových polí IBM Enterprise diskové pole s nízkým TCO! Simon Podepřel, Storage Sales

MATEMATIKA / 1. ROČNÍK. Strategie (metody a formy práce)

Konzervační genetika INBREEDING. Dana Šafářová Katedra buněčné biologie a genetiky Univerzita Palackého, Olomouc OPVK (CZ.1.07/2.2.00/28.

Dnešní program odvozování v Bayesovských sítích exaktní metody (enumerace, eliminace proměnných) aproximační metody y( (vzorkovací techniky)

Transkript:

Evoluční algoritmy I - poznámky Martin Všetička Knihy Goldberg: Generic algorithms, 89 John Holland - Adaptation in natural and artifical algorithms, 75 a 91. Holland položil základy genetickým algoritmům, napsal na evoluční algoritmy disertaci. Mellanie Mitchell: Introduction to Genetic algorithms 95 - obsahuje vše, co bude na přednáškách. Michalewicz: Genetic algorithms + Data structures = Evolutionary Programs, 3ed Úvod Evoluční algoritmy jsou algoritmy, které se inspirují přírodou a aplikují její mechanismy (selekce, křížení a mutace) na hledání (alespoň suboptimálního) řešení různých problémů. Nejčastěji jde o problémy optimalizačního charakteru. Nejsou to však pravé optimalizační algoritmy, je lepší se na ně dívat opravdu jako na pouhou simulaci přírody, která jako vedlejší produkt řeší nějakou optimalizační úlohu. Příklady použití evolučních algoritmů Hledání Hamiltonovské kružnice 1

Důležitým abstraktním pohledem na obecné řešení problémů je dívat se na hledání řešení jako na prohlédávání prostoru potenciálních řešení. Tento pohled na řešení problémů se v evolučních algoritmech objevuje velmi často. 1.1 Okénko do historie Zakladatelem genetiky se stal Gregor Mendel, brněnský mnich, který se zabýval křížením hrachu a důsledky, které to přenáší na potomstvo. Neznal však podstatu genetiky, pouze si všiml jisté zákonitosti. Charles Darvin byl britský přírodovědec a zakladatel evoluční biologie. Dostal grant od královny na cestu kolem světa, na Galapágách si všiml, že zde žijí zvířecí druhy, které se adaptovali ve svém životním prostředí. Sepsal knihu O původu druhů, ve které evoluční teorii opřel o proces, který nazval jako přírodní výběr. 1.1.1 Jean-Baptiste Lamarck Vědec, který se přel s Darwinem o tom, kdy se může měnit genetická informace jednotlivce. Tvrdil, že to může být po celou dobu života jednotlivce. Příklad Pokud rachitický člověk bude mít dítě s děvčetem, tak bude také rachitické, pokud se ale rachitický člověk vypracuje ve svalovce, tak dítě bude také svalovec. 1.1.2 John Holland Holland prisel s myslenkou, ze si vezme to podstatne s genetiky. Inspiroval se konceptem evoluce od Charlese Darwina a od Mendelovy genetiky. 2 No free lunch theorem The no free lunch theorem for search and optimization (Wolpert and Macready 1997) applies to finite spaces and algorithms that do not resample points. All 2

algorithms that search for an extremum of a cost function perform exactly the same when averaged over all possible cost functions. So, for any search/optimization algorithm, any elevated performance over one class of problems is exactly paid for in performance over another class. 3 Genetické algoritmy Jsou založené na pozorování přírody. Vezměme si například králíky a lišky. Pomalí králící nepřežijí, protože je liška dohoní. Čím je tedy králík rychlejší, tím má větší šanci, že přežije a tím pádem, že se i rozmnoží. Populace králíků, která přežije má šanci se rozmnožit. Množí se pomalí králíci s rychlými, rychlí s rychlími, pomalí s pomalými apod. Příroda navíc čas od času zasáhne a v genetickém materiálu se objeví mutace. Podstatné je, že ve výsledku bude následující generace v průměru rychlejší než minulá. U lišek probíhá to samé (jinak by již žádného králíka nedohonily). Genetické algoritmy využívájí princip nastíněný výše k řešení různých problémů. Evoluční proces určité populace jedinců (řešení problému) prohledává prostor řešení a přitom musí udržet v rovnováze dva navzájem konfliktní cíle: prohledat co nejširší prostor a zároveň využít současné nejlepší řešení k budoucímu zlepšení. Pomocí genetických algoritmů se řeší spousta praktických úloh, například úloha obchodního cestujícího (TSP), optimalizace databázových dotazů,... 3.1 Pojmy Jedinec (nebo také řetězec nebo chromozom) je jedno řešení problému (odpovídá jednomu králikovi z příběhu výše :-)). V genetickém algoritmu se jedná o pole bitů. Geny jsou jednotky, ze kterých je složen chromozom. Gen reprezentuje nějakou vlastnost objektu, například rychlost králíka, IQ králíka apod. U genetického algoritmu odpovídá gen jednomu bitu pole. Allela je konkrétní hodnota genu. U genetického algoritmu je to 1 nebo 0. 3

Genotyp je vektor genů 1 jednotlivce (víc informací). Fenotyp je konkrétní instance genotypu. Selekce TODO Křížení TODO Mutace TODO Míra mutace TODO Fitness funkce (také účelová funkce) je funkce, která pro daného jedince vrací reálné číslo, které udává, jak moc je jedinec dobrý. Z pohledu přírody jde tedy o číslo, které udává, jak moc je daný jedinec v prostředí adaptovaný. Podle fitness funkce se typicky řídí selekce (např. vyberu nejlepších n jedinců do další generace). Explorace je prohledávání prostoru řešení. Exploatace je využití slibných oblastí. prostoru řešení ke zlešení. Hillclimbing je příkladem exploatace. Jde o iterativní strategii pro prohledávání prostoru řešení využívající nejlepší současné řešení, aby našla v okolí tohoto řešení řešení ještě lepší. Tato strategie končí v lokálním nebo globálním maximu prostoru řešení. Protože jeden hillclimber by ve velkém prostoru řešení skončil s velkou pravděpodobností v lokálním maximu, tak se vysadí do prostoru řešení mnoho hillclimberů, čímž se zvýší pravděpodobnost, že nalezneme globální maximum. 3.2 Genetický algoritmus Klasické genetické algoritmy používají k reprezentaci jedinců binární řetězce pevné délky. (Binární) mutace je pak jednoduchá změna jednoho či více bitů na opačný. Přesněji máme danou nějakou pravděpodobnost (typicky malé číslo v řádu procent) s jakou se má změnit bit na opačný, generujeme tedy pro každý bit náhodné číslo z intervalu [0,1] a pokud je menší než stanová pravděpodobnost, pak změnu provedeme. Toto opakujeme pro všechny bity. 4

(Binární) křížení proběhne tak, že vezmeme dva jedince (dvě pole), rozdělíme je ve stejných místech a prohodíme ocásky, čímž vzniknou dva potomci. 3.3 Obecný genetický (i evoluční) algoritmus procedure Evolution_program begin t <- 0 5

initialize P(t) evaluate P(t) while (not termination-condition) do begin t <- t + 1 select P(t) from P(t-1) alter P(t) evaluate P(t) end end 3.4 Jednoduchý genetický algoritmus - Osnova algoritmu: - Prohledavaci metaheuristika - Generacni princip - Zakodovany problem v - Geneticke operatory - Reseni - Parametry si zakodujeme do binarniho retezce. [ ] - Ilustrace na problemu batohu: - v_1,..., v_n (veci davane do batohu), kapacita batohu C [0 0 1 0 1] <- dame do batohu v_3 a v_5 6

- Musime si udelat ohodnoceni, hantyrkou fitness funkce f: f(j) ~> \sum v_i (pokud nepresahnu C) - oo (staci i nula) (pokud presahnu sumou C) Pozn: Fitness funkci se take rika ucelova funkce. Pozn #2: Fitness funkce se obecne spocita velmi jednoduse, pouze projde zakodovany retezec. - P_0... nahodne K jedincu - P_i -> P_{i+1} - ohodnot P_i - pokud uz je nejaky jedinec dost dobry, tak skonci - jinak: - selekce - vybira ze stare populace jedince - vetsinou jednoduse tak, ze vybereme dva jedince a - roulette wheel selection: \sum_{i \in P} f_i = 1 Kazdou fitness dokazu preskalovat, tak aby jeji hodnoty byly v interval Pak f(i) odpovida pravdepodobnosti vyberu i. - krizeni - vybereme jedince x z populace P_i y P_i pak krizime jedince x, y a dostavame x a y. [oooooooooo] [----------] nekde udelam caru 7

[----ooooo] - mutace - vezmeme jedince a koukam na jednotlive bity zakodovani a s nejakou pravdepodobnosti u kazdeho bitu zmenim hodnotu na opacnou. - vloz x, y do P_{i+1} Pozn. pravdepodobnost krizeni je typicky velka: 0.5, 0.6 pst. mutace je vetsinou mala: setina, tisicina,... Inicializace bývá náhodný výběr jedinců, případně se mohou k inicializaci použít řešení, které získáme z nějaké heuristiky pro daný problém. Proč fungují genetické algoritmy TODO page 57 (Michalewitz) Genetické vs. evoluční algoritmy Genetické algoritmy jsou podtřídou evolučních algoritmů, jelikož evoluční algoritmy nemusí používat binární reprezentaci jedinců a operátory pro mutaci a křížení mohou být také jiné. 3.5 Teorie schémat Def: Schéma je slovo v abecedě {0, 1, }, které reprezentuje množinu (binárních) řetězců 1. Znak * je zástupný za hodnotu 1 nebo 0. Příklad: Schéma reprezentuje 2 5 řetězců (jedinců). Reprezentuje například jedince 10101. EPozorování: Existuje 3 m schémat délky m. EPozorování: Řetězec 1řetězec = jedinec délky m je reprezentován 2 m schématy. 8

Důkaz. Pro každý bit řetězce vyberu bud jeho hodnotu nebo použiju hvězdičku, tedy mám dvě volby na jeden bit, z toho plyne 2 m schémat. EPozorování: V populaci velikosti n je 2 m až n 2 m schémat, kde m značí délku řetězců. Důkaz. Jednomu řetězci odpovídá 2 m schémat. Horní odhad na počet schémat pro n řetězců je n 2 m. Def: Řád schématu S, značíme o(s), je počet nul a jedniček v zápisu schémata 2. Def: Definující délka schématu S, značíme d(s), vzdálenost mezi první a poslední pevnou pozicí 3. Příklad: d(1**10*) = 4 Def: Fitness schématu S, značíme F (S), je průměrná fitness všech řetězců v populaci. Věta: Krátká 4 nadprůměrná 5 s malým řádem schémata se v populaci během běhu genetického algoritmu exponenciálně množí 6. Poznámka: Líbí se nám naprůmění jedinci, protože jsou to kandidáti na dobré řešení. Malý řád nám vyhovuje proto, že neomezuje řešení. Malá délka je vhodná proto, aby kompaktní bloky zůstaly zachovány. A věta říká, že tací jedinci se množí exponenciálně. Důkaz. Označme si populace v jednotlivých generacích P (t), P (t + 1),.... Proměnná n označuje počet jedinců ve všech generacích a m označuje délku každého jedince. Důkaz je založen na rozebrání, co se děje s konkrétním schématem S při: selekci, křížení a mutaci. 2 Jednoduše nepočítáme hvězdičky 3 Pevná pozice značí 0 nebo 1. 4 Ve smyslu definující délky. 5 Mající fitness větší než průměrnou. 6 Bez příkras: Krátká schémata, která mají nadprůměrnou hodnotu fitness funkce a mají malý řád, se v populaci během práce Genetického algoritmu exponenciálně množí. 9

Označme si C(S, t) četnost schématu S v populaci P (t), tedy počet řetězců v populaci, které vyhovují schématu S. Důkaz je založen na postupném odhadování hodnoty C(S, t + 1), tedy sledujeme, jak se změní hodnota v další generaci. Selekce Řetězec v má pravděpodobnost vybrání: p S (v) = F (v)/f (t) (1) kde F (t) = F u P (t) (u). Hodnota p S (v) je jednoduše poměr fitness jedince v a součtu všech fitness. Tento poměr 7 je pravděpodobností výběru jedince jednoduše proto, že přesně takto funguje ruletová selekce. Schéma S má pravděpodobnost vybrání: p S (S) = F (S)/F (t) (2) Selekce jedince probíhá n-krát 8. Při každém výběru mám pro dané schéma S fixní pravděpodobnost p S (S), že jej vyberu. Pravděpodobnost vynásobím četností schématu S v současné populaci a dostanu četnost schématu S v následující populaci. Ve tvaru rovnice tedy: C(S, t + 1) = C(S, t) n p S (S) (3) Rovnice říká kolikanásobně se zvětší četnost schématu S. Rovnici můžeme přepsat takto: C(S, t + 1) = C(S, t) F průměrná (t) = F (t) n F (S) F průměrná (t) (4) (5) 7 Hodnota p S (v) je normalizovaná hodnota fitness funkce. 8 Z populace velikosti n musím opět vybrat n jedinců. 10

Křížení Mutace 4 Evoluční algoritmy TODO Pro jeden konkrétní problém je často možné vymyslet mnoho fitness funkcí, mnoho způsobů křížení, selekce ale i mutace. Nicméně společný základ evolučních algoritmů spočívá v tom, že v jednom kroku algoritmu provedádíme transformace populace a jedinci v evolučním procesu bojují o přežití. 4.1 Selekce 4.1.1 Ruleta (Roulette Wheel) Původní Hollandova selekce na populaci velikosti n fungovala takto: sum = f 1 + f 2 + + f n je součet hodnot fitness funkce všech jedinců v populaci. f i p i = má význam očekávaného počtu vybrání jedince do populace. U sum jedince s p i = 0.5 tedy očekáváme, že ho vybereme v polovině případů. 11

Algoritmus: /* Rucicka rulety; nahodne cislo z intervalu [0,1] */ ptr = Rand(); for (sum = i = 0; i < N; i++) for (sum += p(i,t); sum > ptr; ptr++) Select(i); Popis v jgapu: A basic implementation of NaturalSelector that models a roulette wheel. When a Chromosome is added, it gets a number of slots on the wheel equal to its fitness value. When the select method is invoked, the wheel is spun and the Chromosome occupying the spot on which it lands is 12

selected. Then the wheel is spun again and again until the requested number of Chromosomes have been selected. Since Chromosomes with higher fitness values get more slots on the wheel, there s a higher statistical probability that they ll be chosen, but it s not guaranteed. 4.1.2 Turnajová selekce Dva jedinci a, b jsou náhodně vybráni z populace, kde fitness(a) < fitness(b). Je zvoleno náhodně číslo r [0, 1]. Pokud r < k, kde k je nějaká předem zvolená konstanta z intervalu [0, 1] (např. 0.75), pak je puštěn do nové populace jedinec a, pokud podmínka neplatí, je puštěno b. 4.1.3 Selekce nejlepších Ze současné generace vybereme n nejlepších do další generace. V knihovně jgap se operátor nazývá BestChromosomesSelector. 4.1.4 Elitismus Elitismus funguje tak, že někteří jedinci mají zajištěno, že budou puštěni do další generace. Bývá to určité procento nejlepších jedinců v populaci (typicky 5% až nějakých 15%). Tito jedinci jsou tedy automaticky zkopírováni do nové populace. Nejsou tam však přesunuti, jinak by na těchto jedincích nemohly pracovat operátory křížení a mutace. Ukázalo se, že elitismus hodně pomáhá zlepšovat výkon genetických algoritmů. 4.2 Vězňovo dilema (The prisoner s dilemma) Je jednoduchá hra pro dva hráče. Alice a Bob jsou zatčeni pro spáchání společného zločinu a jsou drženi v oddělených celách. Mezi celami nelze nijak komunikovat. Alici je nabídnuta následující dohoda: Pokud se přizná a bude svědčit proti Bobovi, pak dostatne podmíněný trest se zkušební lhůtou a Bob půjde do vězení na 5 let. Nicméně pokud v tu samou dobu se Bob přizná 13

a bude souhlasit, že bude svědčit proti Alici, její svědectví bude zdiskreditováno a oba dostanou 4 roky za své svědectví. Alici je řečeno, že Bob dostal přesně tu samou dohodu. Bob a Alice ví, že pokud ani jeden z nich nebude svědčit proti tomu druhému, pak mohou být obviněni pouze na základě méně závažných obvinění a oba dostanou 2 roky vězení. Bob/Alice Nesvědčí Svědčí Nesvědčí 2,2 5,0 Svědčí 0,5 4,4 Měla by Alice zradit Boba a doufat v podmíněný trest a přitom riskovat čtyřletý žalář pokud zradí i Bob? Nebo by měla spolupracovat s Bobem (přestože nemohou komunikovat) a doufat, že bude také spolupracovat a tedy že oba dostanou pouze dva roky vězení a přitom riskovat, že Bob ji zradí a ona dostane 5 let? V tomto případě je lepší zradit. Pokud by se však hra hrála iterovaně, pak již mohou nastoupit různé strategie. Anatol Rapoport v soutěži v roce 1984 vyhrál s algoritmem TIT-FOR-TAT (oplácení). V prvním kroku algoritmus spolupracuje. V dalších krocích dělá to, co udělal protivník v minulém kole. Tedy oplací spolupraci nebo oplácí zradu. 5 Diferenciální evoluce PSO (Particle Swarm Optimality) = OHČ (Optimalizace Hejnem Častic) Turing... Von Neumann... sebereprodukovaci algoritmus; vymyslel teorii celluarnich automatu; Celulární automaty Conway s Game of Life Zivot reprodukci Thomas Ray (biolog) - byl fascinovan tim, ze v pameti to zije... 14

- udelal smrtaka, ktery obcas nejaky program zabil - programy mutovali - bojovalo se o strojovy cas - programy zacaly parazitovat (upravoval cizi program, tak aby kopiroval tohoto parazita) - po nejake se vyvinuli jedinci, kteri se byli schopni parazitismu branit. - system, ktery postupne vyvinul se jmenuje Tierra (alternativa http://en.wikipedia.org/wiki/avida) Brooks - hierarchicky relativni model Diferencialni evoluce Populace x_t = (x_1, \dots, x_n) \downarrow --- vyber kamaradu (vyberu nejlepsiho a 2 kamarady: a,b,c NEBO 3 kamarady(typic \downarrow x_{t+1} \leftarrow for i = 1 \dots n do (x_t)_i [Pokud mam krizit (dle nahodneh 6 Diferenciální evoluce (pokračování) 6.1 Evoluční data-mining Evolutionary data mining Michigan vs Pittsburgsky model - lisi se v tom, co povazuji za jedince v modelu - jedinec je jedno pravidlo (Michigan), resp. jedinec je mnozina pravidel 7 SAT a TSP Dnešním tématem jsou těžké kombinatorické úlohy. 7.1 SAT Na kódování problému se nám vyloženě hodí binární kódování, což je kódování, které máme rádi, protože operátory se na něm často vytvářejí velmi jednoduše - binární mutace, binární křížení. 15

U SATu je ovšem problém se zvolením fitness funkce. Jak fitness funkci zvolit? Můžeme počítat například počet splněných klauzulí, což je strategie, na kterou lze velmi snadno vymyslet protipříklady, kdy EV uvízne v lokálním maximu. Na druhou stranu problém je velmi těžký a nakonec o mnoho lepší fitness funkce nevymyslíme. Problém SATu je svou povahou podobný problému batohu. U tohoto problému máme informaci o naplnění, přesto může být nutné batoh vysypat a začít znovu. 7.2 TSP (úloha obchodního cestujícího) Oproti SATu je zde situace obrácená: fitness - velmi jednoduše, není s ní problém kódování - obtížné (nejpřirozenější je asi kódování pomocí permutací) Příklad: TSP má mnoho reálných využití, například vrtání plošných spojů, kde se snažíme, co nejvíce zkrátit dobu, kterou vrtačka stráví přesuny mezi danými body. Poznámka: Řešení, která jsou suboptimální, jsou často dostatečná. U příkladu s vrtačkami může být řešení, které je o deset procent horší než optimální stále ještě dostatečně dobré. Řešení, které budu mít za noc hotové je lepší než řešení, které bych získal až za rok, ale bylo by optimální. Poznámka: K TSP se vrátil jakýsi německý obchodní cestující, který napsal příručku pro obchodní cestující, kde byly popsáno, jak se má obchodní cestující chovat a také se zde zmiňuje hledání nejlepší trasy. 7.2.1 Kódování Město j je na pozici i vede hrana z i j. 1-2-4-3-8-5-9-6-7 <-- cesta 2 4 8 3 9 7 1 5 6 <-- zakodovaní 16

K čemu je to dobré? Souvislost se schématy. Je však nutno poznamenat, že ne každý kód je validní. 1. Alternující křížení [2] 3 [8] 7 [9] 1 [4] 5 [6] <-- vybiram liche 7 [5] 1 [6] 9 [2] 8 [4] 3 <-- vybiram sude Vznikne: nemůžeme sem dát 2 v 2 5 8 6 9 3 4 1 7 Podtržené číslice jsem musel vybrat náhodně, ale tak, aby nevznikl cyklus. 2. Uniformní křížení - to samé, co v křížení výše, jen beru políčka nad sebou. 3. Alternování podcest Vyberu náhodně podcestu náhodné délky z jednoho jedince Vyberu náhodně podcestu náhodné délky z druhého jedince 8 Zdroje Přednášky An Introduction to Genetic Algorithms Genetic Algorithms + Data Structures = Evolution Programs 17