Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Genetické algoritmy Lukáš Kábrt. Obsah: Úvod Historie Základní pojmy Principy genetických algoritmů Možnosti použití Související metody AI Příklad – problém.

Podobné prezentace


Prezentace na téma: "Genetické algoritmy Lukáš Kábrt. Obsah: Úvod Historie Základní pojmy Principy genetických algoritmů Možnosti použití Související metody AI Příklad – problém."— Transkript prezentace:

1 Genetické algoritmy Lukáš Kábrt

2 Obsah: Úvod Historie Základní pojmy Principy genetických algoritmů Možnosti použití Související metody AI Příklad – problém obchodního cestujícího Příklad – umělý život Dotazy Zdroje

3 Úvod Aplikace Darwinovy evoluční teorie na informatiku Hlavní myšlenka – vyhovující organismus lze získat přirozenou selekcí, křížením a mutacemi „aneb vypěstujte si vlastní program“

4 Historie I. Rechenberg "Evolution strategies„ John Holland "Adaption in Natural and Artificial Systems„ 1992 John Koza - „Genetic programming"

5 Základní pojmy Jedinec – nositel genetické informace Genom – genetický materiál určitého druhu Gen – řetězec nukleotidů kódující jednu vlastnost Genotyp – konkrétní „nastavení genů“ u jedince Chromozom – řetězec genů

6 Algoritmus Vytvoř první populaci jedinců Ohodnoť jedince v populaci Vytvoř novou populaci –Vyber rodiče některou metodou selekce –Vytvoř nové jedince křížením a mutací –Ohodnoť nové jedince –Přidej potomky do populace Nahraď starou populaci novou Opakuj dokud nejsou splněny podmínky zadání

7 Reprezentace chromozomu Volba závisí na charakteru problému –Binárně –Permutace přirozených čísel –Sekvence hodnot –Stromová struktura

8 Binární reprezetace chromozomu Chromozom je reprezentován řadou 1 a 0 Velké množství možností s malým počtem genů Jednoduchá realizace Příklad použití – problém plného batohu

9 Reprezetace permutací čísel Každý gen reprezentuje pořadí v sekvenci Ideální pro úlohy řešící řazení Příklad – problém obchodního cestujícího

10 Posloupnost hodnot Gen reprezentuje nějakou složitější hodnotu Přirozená reprezentace mnoha problémů Pro křížení jsou nutné speciální operátory AABAFEDEACEBCGG (back)(left) (forward)

11 Stromová struktura Chromozom je stromová struktura obsahující ve svých uzlech a větvích nějaké objekty Příklady použití: + a* 3x list Genetické programování Regresní analýza

12 Algoritmus Vytvoř první populaci jedinců Ohodnoť jedince v populaci Vytvoř novou populaci –Vyber rodiče některou metodou selekce –Vytvoř nové jedince křížením a mutací –Ohodnoť nové jedince –Přidej potomky do populace Nahraď starou populaci novou Opakuj dokud nejsou splněny podmínky zadání

13 Fitness funkce Určuje úspěšnost jedince Na výsledku závisí jakou měrou se jedinec projeví v následující generaci

14 Algoritmus Vytvoř první populaci jedinců Ohodnoť jedince v populaci Vytvoř novou populaci –Vyber rodiče některou metodou selekce –Vytvoř nové jedince křížením a mutací –Ohodnoť nové jedince –Přidej potomky do populace Nahraď starou populaci novou Opakuj dokud nejsou splněny podmínky zadání

15 Selekce Uplatnění Darwinovy teorie – „Nejlepší přežijí a stvoří potomky“ Metody selekce Ruletové kolo Rank Selection Turnaj Elitářství

16 Ruletové kolo (roulette wheel selection) Pravděpodobnost výběru jedince

17 Rank selection Obdoba ruletového kola – nepracujeme s hodnotami fitness funkcí ale s pořadovým číslem jedince Nejhoršímu jedinci přiřadíme 1, dalšímu 2, atd. … Pro problémy, kde je velký rozdíl hodnot fitness funkcí Pomalejší konvergence

18 Turnaj Náhodně vybraní jedinci z populace podstupují „souboj o přežití“ Vybrán je jedinec s lepším ohodnocením Výhody - jednoduchá implementace, zajišťuje rozmanitost i selekční tlak

19 Elitářství Do další generace je zachováno beze změny několik nejlepších jedinců Zajišťuje zachování dosud nejlepších jedinců Může znatelně urychlit řešení

20 Algoritmus Vytvoř první populaci jedinců Ohodnoť jedince v populaci Vytvoř novou populaci –Vyber rodiče některou metodou selekce –Vytvoř nové jedince křížením a mutací –Ohodnoť nové jedince –Přidej potomky do populace Nahraď starou populaci novou Opakuj dokud nejsou splněny podmínky zadání

21 10 Křížení Metoda, jejímž použitím získáme nové jedince, kteří nebyli součástí předchozí populace Dle typu úlohy existuje několik typů operátorů křížení –Crossover –Edge recombination crossover –A mnoho dalších …

22 Mutace Náhodná změna vybraných genů jedince Rozšiřuje prohledávaný prostor o řešení, které nelze dosáhnou křížením Zabraňuje uváznutí v lokální maximu / minimu

23 Parametry genetických algoritmů Počet jedinců v generaci Pravděpodobnost křížení Pravděpodobnost mutace

24 Využití Optimalizační úlohy Úlohy, kde neznáme algoritmus řešení, nebo je tento algoritmus výpočetně příliš náročný Rozvrhování Automatické navrhování elmech. systémů Optimalizace rozmístění telekomunikačních zařízení Učení neuronových sítí Učení robotů Zkoumání a vývoj léků

25 Příbuzné obory Evolution strategies – Jedinci se mění pouze mutacemi; řešení problémů v oboru reálných hodnot Interactive genetic alogithms – místo fitness funkce zastává člověk Hybrid genetic algorithms – idea memů, které na rozdíl od genů mohou modifikovat sami sebe Genetické programování – u GA se vyvíjí parametry nějakého algoritmu, u GP se vývíjí samotný algoritmus

26 Příklad - problém obchodního cestujícího Úkol – navštívit všechna zadaná města a vrátit se zpět do výchozího bodu, tak aby cesta byla co nejkratší NP úplný problém – nalezení Hamiltonovi kružnice v grafu

27 Příklad – umělý život Svět obsahující rostliny a brouky, kde se brouci snaží „pojídat“ rostliny Svět je rozdělen na políčka, která mohou obsahovat brouka, rostlinu nebo mohou být prázdná Brouci mohou provést jednu z 4 akcí –Posun o 1 pole dopředu –Posun o 1 pole dozadu –Otočení o 90° doprava –Otočení o 90° doleva Brouci mají malou vnitřní paměť Brouci vidí jedno políčko dopředu Chování brouků je určeno genovou výbavou, předmětem, který vidí a stavem paměti

28 Dotazy

29 Zdroje Scienceworld (http://www.scienceworld.cz/)http://www.scienceworld.cz/ Wikipedia – the free encyklopedia (http://www.wikipedia.org)http://www.wikipedia.org Introduction to the genetic algorithms (http://cs.felk.cvut.cz/~xobitko/ga/)http://cs.felk.cvut.cz/~xobitko/ga/ Neuronové sítě a genetické algoritmy – Tomáš Pevný Genetické algoritmy a jejich aplikace Doc. Ing. Pavel Ošmera CSc. Artifical Life (http://math.hws.edu/xJava/GA/)http://math.hws.edu/xJava/GA/ Travelling salesman problem ( )


Stáhnout ppt "Genetické algoritmy Lukáš Kábrt. Obsah: Úvod Historie Základní pojmy Principy genetických algoritmů Možnosti použití Související metody AI Příklad – problém."

Podobné prezentace


Reklamy Google