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

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

Genetické algoritmy Lukáš Kábrt.

Podobné prezentace


Prezentace na téma: "Genetické algoritmy Lukáš Kábrt."— 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
„aneb vypěstujte si vlastní program“ Aplikace Darwinovy evoluční teorie na informatiku Hlavní myšlenka – vyhovující organismus lze získat přirozenou selekcí, křížením a mutacemi naše prostředí – prostor řešení

4 Historie 1960 - 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ů Fenotyp – jak se genotyp projevuje navenek (dominantní geny)

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 1 1

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 1 4 2 7 9 3 5 8 6 7 4 1 8 2 5 3 6 9

10 Posloupnost hodnot 1.54 2.95 4.92 1.32 4.07 A B F E D C G (back)
Gen reprezentuje nějakou složitější hodnotu Přirozená reprezentace mnoha problémů Pro křížení jsou nutné speciální operátory 1.54 2.95 4.92 1.32 4.07 A B F E D C G (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í: 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 Metody 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 Nikdy nepostoupí nejhorší, pokud je k souboji vybrán nejlepší postupuje vždy

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 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 … 1 1 1 1 1 1 1 1

22 Mutace 1 1 1 1 1 1 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 1 1 1 1 1 1

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/)
Wikipedia – the free encyklopedia (http://www.wikipedia.org) Introduction to the genetic algorithms (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/) Travelling salesman problem (http://www.codeguru.com/code/legacy/misc/TSPApp_exe.zip)


Stáhnout ppt "Genetické algoritmy Lukáš Kábrt."

Podobné prezentace


Reklamy Google