Genetické algoritmy. Vysoká škola ekonomická Praha. Tato prezentace je k dispozici na: http://www.utia.cas.cz/vomlel/



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

Gramatická evoluce a softwarový projekt AGE

Masarykova univerzita. Fakulta informatiky. Evoluce pohybu

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

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

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

5.5 Evoluční algoritmy

Genetické algoritmy a jejich praktické využití

SPECIFICKÝCH MIKROPROGRAMOVÝCH ARCHITEKTUR

Simulované žíhání jako nástroj k hledání optimálního řešení


FAKULTA INFORMAČNÍCH TECHNOLOGIÍ

ANALYTICKÉ PROGRAMOVÁNÍ

Dokumentace programu piskvorek

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE FORMALISMY PRO SYNTAXÍ ŘÍZENÝ PŘEKLAD: PŘEKLADOVÉ A ATRIBUTOVÉ GRAMATIKY.

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

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

Analytické programování v C#

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

TECHNICKÁ UNIVERZITA V LIBERCI EKONOMICKÁ FAKULTA. VZOR PŘIJÍMACÍ ZKOUŠKY DO NAVAZUJÍCÍHO STUDIA Obor: Manažerská informatika

Jak se matematika poučila v biologii

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

Řešení problému vážené splnitelnosti booleovské formule pokročilou iterativní metodou

D E T E K C E P O H Y B U V E V I D E U A J E J I C H I D E N T I F I K A C E

Pokud nebude na příkazové řádce uveden právě jeden argument, vypište chybové hlášení a stručný

Obsah. Zelinka: UI v problémech globální optimalizace BEN technická literatura 3

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

GENETICKÉ UČENÍ NEURONOVÝCH SÍTÍ GENETIC LEARNING OF NEURAL NETWORKS. Roman Biskup, Anna Čermáková

Metaheuristiky s populacemi

A0M33EOA: Evoluční optimalizační algoritmy

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

Dynamické datové struktury III.

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

2. RBF neuronové sítě

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.

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

Fakulta informačních technologií. Zbyšek Gajda

Zabezpečení datových přenosů pomocí CRC

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

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ , 5.1 a 5.2 8/14

A0M15EZS Elektrické zdroje a soustavy ZS 2011/2012 cvičení 1. Jednotková matice na hlavní diagonále jsou jedničky, všude jinde nuly

TGH07 - Chytré stromové datové struktury

Úvod do zpracování obrazů. Petr Petyovský Miloslav Richter

Genetické programování

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

(n, m) (n, p) (p, m) (n, m)

Řešení problému batohu dynamickým programováním, metodou větví a hranic a aproximativním algoritmem

Přednáška č. 2 Poslání podniku. Teze pro přednášku :

Princip optimalizačních metod inspirovaných přírodou

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

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

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

Numerické metody optimalizace - úvod

DATABÁZOVÉ SYSTÉMY. Vladimíra Zádová, KIN, EF TUL - DBS

Jarníkův algoritmus. Obsah. Popis



Rámcový manuál pro práci s programem TopoL pro Windows

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

Úloha - rozpoznávání číslic

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

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

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.

A B = A A B P A B C = P A P B P C = =

Simulované žíhání jako nástroj k hledání optimálního řešení

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

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

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ


Ant Colony Optimization

ÚDRŽBA HNACÍCH VOZIDEL ZAMĚŘENÉ NA BEZPORUCHOVOST

Základy algoritmizace. Pattern matching

Extrakce a selekce příznaků

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

EXTRAKT z mezinárodní normy Extrakt nenahrazuje samotnou technickou normu, je pouze informativním materiálem o normě.

Rámcový rezortní interní protikorupční program

Petr Chvosta. vlevo, bude pravděpodobnost toho, že se tyč na počátku intervalu τ B nachází nad vpravo

Neuropočítače. podnět. vnímání (senzory)

Experimentální hodnocení kvality algoritmů

Architektury počítačů

Kapitola 1: Reálné funkce 1/13

Když už má vykopané cesty, může postavit domyr opět přesně podle obrázku. Domy se objeví najednou. Program opět čeká.

Podnikání na internetu

Hodinová dotace + vzdělávací cíl:

Národní informační středisko pro podporu kvality

Principy operačních systémů. Lekce 7: Souborový systém

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

II. Úlohy na vložené cykly a podprogramy

Úvod. Tradiční hry. Sportovní hry

NPRG030 Programování I 3/2 Z --- NPRG031 Programování II --- 2/2 Z, Zk

Název: Hmoto, jsi živá? I

Karnaughovy mapy. Pravdivostní tabulka pro tři vstupní proměnné by mohla vypadat například takto:

ENVIRONMENTÁLN LNÍ VÝCHOVA. Organismus jako systém. edí. Organismus a prostřed

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

Pokročilé operace s obrazem

Rozhodovací stromy a jejich konstrukce z dat

Přijímací zkouška na navazující magisterské studium 2018

Univerzita Karlova v Praze Matematicko-fyzikální fakulta. Vedoucí práce: RNDr. Martin Pergel, Ph.D.

EXTRAKT z české technické normy

7. Pracovní postupy. Fakulta informačních technologií MI-NFA, zimní semestr 2011/2012 Jan Schmidt

Transkript:

Genetické algoritmy Jiří Vomlel Laboratoř inteligentních systémů Vysoká škola ekonomická Praha Tato prezentace je k dispozici na: http://www.utia.cas.cz/vomlel/

Motivace z Darwinovy teorie evoluce Přírodní evoluce je úspěšná a robustní metoda adaptace v biologických systémech. děti dědí vlastnosti rodičů lepší jedinci lépe přežívají a mají tudíž více potomků Evoluce v přírodě vyžaduje čas - ovšem pomocí počítačů můžeme vytvořit a ohodnotit tisíce umělých individuí během zlomku vteřiny. 2

Korespondence s Darwinovou teorií evoluce v přírodě v genetických algoritmech jedinec řetězec symbolů, např. h = (1001) přírodní výběr výběr podle hodnotící funkce f (h) křížení kombinace dvou řetězců např. (000 1) + (101 0) (0000) + (1011) mutace náhodná záměna 0 a 1 v řetězci např. (0010) (1010) 3

Příklad převzatý z http://cs.felk.cvut.cz/~xobitko/ga/ Je dána funkce f : X R a cílem genetického algoritmu je najít x X v němž funkce nabývá globálního minima. 4

počáteční generace 5

elitářství - nejlepší jedinci přecházejí přímo do nové generace 6

dva jedinci jsou vybráni pro křížení 7

vznikli noví potomci, kteří jsou přesnými klony rodičů 8

dochází k mutaci genetické informace potomků 9

potomci jsou přidáni do nové populace 10

opět dva jedinci jsou vybráni pro křížení 11

dochází ke křížení 12

dochází k mutaci 13

potomci jsou opět přidáni do nové populace 14

a po čase je uvedeným postupem vytvořena nová generace 15

nová generace nahrazuje starou 16

po několika dalších generacích 17

závěrečná generace 18

Genetický algoritmus - pojmy h f t p P c P m jedinec (hypotéza) hodnotící funkce (angl. fitness) jedinců - f (h) obvykle udává kvalitu jedince h, t.j. chceme f maximalizovat. prahová maximální hodnota pro hodnotící funkci velikost populace pravděpodobnost křížení pravděpodobnost mutace 19

Genetický algoritmus Inicialize: H je náhodná počáteční populace Ohodnocení: pro každé h H, spočti f (h) Pokud max h f (h) < t opakuj Pravděpodobnostní výběr (1 P c ) p jedinců z H do H. Křížení: Pravděpodobnostní výběr P c p 2 dvojic jedinců z H. Pro každou dvojici vytvoř dva potomky křížením. Přidej potomky do H. Mutace: Invertuj náhodně vybrané bity u jedinců z H s pravděpodobností P m. Aktualizace: H H Ohodnocení: pro každé h H, spočti f (h) Navrat jedince h H nabývajícího nejvyšší hodnoty f (h) 20

Metody náhodného výběru Proporcionálně k hodnotící funkci, t.j. P(h i ) = f (h i) p j=1 f (h j). Existuje nebezpečí sekupení všech jedinců blízko sebe. Pomocí turnaje. Vyber náhodně dva jedince h 1, h 2. Každý jedinec má stejnou pravděpodobnost výběru. S pravděpodobností P t vyber jedince s vyšší hodnotou f, jinak vyber jedince s nižší hodnotou f. Podle pořadí. Seřad jedince podle jejich hodnotící funkce (sestupně). Pravděpodobnost výběru jedince je inverzně proporcionální vzhledem k jeho pořadí. 21

Volba vhodné reprezentace: Reprezentace jedinců Řetězec by měl nějakým způsobem odrážet vlastnosti objektu, který reprezentuje. Je žádoucí, aby všichni jedinci reprezentovali přípustná řešení problému, nebot vyřazování nepřípustných řešení může výrazně zpomalit algoritmus. Jedinec může být například reprezentován řetězcem nul a jedniček - binární reprezentace nebo řetězcem čísel - číselná reprezentace nebo řetězcem písmen abecedy - znaková reprezentace stromem nějakých objektů (např. funkcí nebo příkazů programovacího jazyka) - genetické programování 22

Binární reprezentace (+) snadná implementace genetických operátorů ( ) pro mnoho problémů není však přirozená Příklady Hledání minima funkce: f : N R, kde N je množina celých čísel od 0 do 255. Pro celá čísla použijeme binární řetězce délky 8. Např. 23 = (00010111) Problém batohu (Knapsack problem): V místnosti jsou věci různé velikosti a různé ceny. Zloděj chce do batohu určité omezené kapacity zabalit věci tak, aby maximalizoval celkovou hodnotu věcí v batohu. Každý bit v reprezentaci říká, zda-li odpovídající věc je nebo není v batohu. 23

Single-point crossover: Způsoby křížení Initial strings Crossover Mask Offspring 11101001000 00001010101 11111000000 11101010101 00001001000 Two-point crossover: 11101001000 00111110000 11001011000 00001010101 00101000101 Uniform crossover: 11101001000 10011010011 10001000100 00001010101 01101011001 Point mutation: 11101001000 11101011000 24

Problém obchodního cestujícího (TSP) Obchodní cestující dostane seznam měst, která má navštívit. Jsou mu známy vzdálenosti mezi jednotlivými městy. Obchodní cestující má navštívit všechna města (právě jednou) a vrátit se do výchozího bodu. Cílem je minimalizovat celkovu vzdálenost, kterou urazí. 25

Kódování TSP - kódování a křížení Každému městu je přiřazeno celé číslo. Města se v řetězci vyskytují v pořadí jakém jsou navštívena. Např. (9340125768) Hladové křížení (angl. Greedy crossover) Vyber první město jednoho rodiče. Porovnej druhá města u obou rodičů a vyber to, které je blíže k prvnímu vybranému. Jestliže město je již v řetězci, vyber město od druhého rodiče. Jestliže i toto město je již v řetězci vyber náhodně nějaké město, které v řetězci ještě není. Obdobně pokračuj pro třetí, čtvrté,... město. 26

TSP - mutace Hladové přehození (angl. Greedy swap) Vyber náhodně dvě města a prohod je v řetězci. Pokud je nově vytvořená cesta kratší, přijmi mutaci, jinak zachovej původní cestu. Např. (0123456) (0321456). Mutace 2opt Demo: TSPApp.exe 200 měst v kruhu - porovnání p = 10 a p = 100, heuristics (2opt mutace) 0 a 5. 27

Cvičení - problém osmi dam na šachovnici Příklad řešení: Úkolem je umístit osm dam na šachovnici 8 8, tak aby žádná dáma neohrožovala žádnou jinou. Cvičení: Navrhněte genetický algoritmus pro řešení problému osmi dam. To znamená navrhnout: vhodnou reprezentaci řešení problému pomocí řetězce, hodnotící funkci, operátor křížení, a operátor mutace. 28

Genetické programování - příklad Aproximující funkce Cílem je nalezení funkce, která by nejlépe aproximovala dané trojice hodnot (x 1, y 1, z 1 ), (x 2, y 2, z 2 ),..., (x n, y n, z n ). T.j. pro daná první dvě čísla z trojice x i, y i by vrátila výstup z i co nejblíže třetímu číslu trojice z i. Jedinci jsou funkce ve stromu. Např. funkce sin(x) + x 2 + y + sin x + ^ y x 2 29

Genetické programování - příklad křížení + + sin ^ sin x 2 + x + x y ^ y x 2 + + sin ^ sin x 2 ^ x + x 2 + y x y 30

Schémata Schéma = řetězec obsahující 0, 1, * ( cokoliv ) Příklad schématu: 10 0 Jedinci odpovídající výše uvedenému schématu: 100000, 100001, 100100, 100101, 101000, 101001, 101100, 101101. Charakteristika populace: p... počet jedinců v populaci m t (s)... počet jedinců odpovídajících schématu s v čase t f (h)... hodnota (fitness) jedince (hypotézy) h f t... průměrná hodnota populace v čase t H t (s)... množina jedinců odpovídajících schématu s v čase t 31

Věta o schématech (pro výběr) f t (s)... průměrná hodnota jedinců z množiny H t (s) = 1 m t (s) h Ht (s) f (h) E[m t+1 (s)]... očekávaný počet jedinců odpovídajících schématu s v čase t + 1 P(h)... pravděpodobnost výběru jedince h P(h) df = f (h) p i=1 f (h i) = f (h) p f t P(h H t+1 (s)) = h H t (s) f (h ) p f = f t (s) m t (s) t p f t E[m t+1 (s)] = p P(h H t+1 (s)) = f t (s) f t m t (s) 32

Věta o schématech (jednobodové křížení a mutace) P c... pravděpodobnost aplikace operátoru křížení l... délka řetězce, který reprezentuje jedince d(s)... vzdálenost mezi definovanými prvky schématu s nejvíce vlevo a nejvíce vpravo. Např. u s = ( 0 1 110 ) je vzdálenost 9 3 = 6. o(s)... počet definovaných prvků ve schématu s ( ) 1 P c d(s) l... dolní odhad pravděpodobnosti, že křížení nenaruší schéma (1 P m ) o(s)... pravděpodobnost, že mutace nenaruší schéma E[m t+1 (s)] f t (s) f t m t (s) ( 1 P c d(s) ) l (1 P m ) o(s) 33

Vlastnosti genetických algoritmů (+) Dají se použít pro řešení problémů jinak těžko řešitelných (například, když interakce mezi jednotlivými částmi jsou těžko popsatelné). (+) Většinou neuváznou v lokálním maximu. (+) Vždy poskytnou nějaké řešení. (+) Jsou snadno implementovatelné a paralerizovatelné. ( ) Nemáme žádnou záruku, že nalezené řešení je optimální. ( ) Někdy mohou být velmi pomalé (obzvášt pokud nejsou dobře navrženy reprezentace jedinců a operátory křížení a mutace). ( ) Vyžadují vhodné nastavení většího množství parametrů algoritmu (např. P C, P M, p). 34

Stručná historie genetických algoritmů 1960: Ingo Rechenberg představuje myšlenku evolučních výpočtů ve své práci Evolution strategies 1975: John Holland poprvé popisuje genetický algoritmus a vydává svoji knihu Adaptation in Natural and Artificial Systems 1992: John Koza použil genetický algoritmus pro vývoj programů, které mají plnit určité zadané úlohy. Svoji metodu nazval genetické programování. 35

Příklady aplikací genetických algoritmů dle encyklopedie wordiq.com Optimalizace nákládání kontejnerů. Učení chování robotů. Optimalizace infrastruktury pro mobilní komunikaci. Optimalizace struktury molekul. Návrh uspořádání výrobních hal. Různé plánovací problémy (např. když jednotlivé úlohy jsou navzájem závislé). Predikce akciových trhů. 36