Top Banner
Umělá inteligence Genetické algoritmy
20

Umělá inteligence

Jan 02, 2016

Download

Documents

seth-mendez

Umělá inteligence. Genetické algoritmy. Iterativní algoritmy. Algoritmus je postup, sekvence kroků. Iterativní algoritmus používá k vyřešení problému cyklicky opakovaných kroků : algoritmy pro řazení a vyhledávání matematické výpočty například druhá odmocnina. Stochastické algoritmy. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Umělá inteligence

Umělá inteligence

Genetické algoritmy

Page 2: Umělá inteligence

Iterativní algoritmy

• Algoritmus je postup, sekvence kroků.• Iterativní algoritmus používá k vyřešení

problému cyklicky opakovaných kroků:• algoritmy pro řazení a vyhledávání• matematické výpočty• například druhá odmocnina

Page 3: Umělá inteligence

Stochastické algoritmy

• V průběhu výpočtu používají náhodné operace.• Algoritmus není jednoznačný, může projít více

cestami.• Nezaručují nalezení řešení.• Nezaručují přesnost nalezeného řešení• Aproximativní × Stochastické• Aproximativní algoritmy zaručují nalezení řešení po

určitém počtu kroků a přesnost řešení po určitém počtu kroků.

Page 4: Umělá inteligence

K čemu?

• Pokud známe (a můžeme použít) deterministický algoritmus pro řešení úlohy, pak je stochastický algoritmus nevhodný.

• Stochastické algoritmy jsou dobré všude tam, kde není nic lepšího.

• Modelové úlohy:• TSP• Batoh• Tření, ráz, dvě tělesa

Page 5: Umělá inteligence

Genetické algoritmy

• Stochastické algoritmy založené na simulaci evolučního procesu.

• Obecný přístup, který má velké množství modifikací.

• Mají dobré schopnosti prohledávání prostoru řešení.

• Paralelní algoritmy:• v jednom okamžiku poskytuje systém několik

možných řešení úlohy.• výpočet každého řešení probíhá nezávisle• výpočet buď sériově nebo paralelně spuštěný

Page 6: Umělá inteligence

Genetické algoritmy

• Mohou být spuštěné z náhodných počátečních podmínek.

• Na počátku náhodně vygeneruje několik řešení – obyčejně velmi špatných.

• Každé řešení ohodnotí podle nějakých kritérií.• Nejlepší řešení zkombinuje tak, aby mohlo

vniknout ještě lepší řešení.• Přidá několik náhodně vygenerovaných řešení.• Všechny řešení znovu ohodnotí a kombinuje.

Page 7: Umělá inteligence

Genetický algoritmus

• Hypotetický příklad pro ilustraci odlišnosti přístupu:

• Výpočet druhé odmocniny čísla 64• Náhodná řešení:• 34, 7654, 43, 567, 542, 1, 6

• Hodnocení: (x*x = 64)• Nejlepší řešení: (1, 6, 34)• Po kombinaci nejlepších řešení ():• 1, 6, 34, 3.5, 20, 17.5

Page 8: Umělá inteligence

Genetický algoritmus

• Chromozom – posloupnost znaků/čísel do které je zakódováno řešení

• Jedinec + Populace – řešení zadané úlohy• Kódování – systém, který řešení úlohy zakóduje do

chromozomu• Fitness funkce – funkce, která každému jedinci přiřadí

hodnocení• Konvergence – proces přibližování se ke správnému

řešení• Křížení – operace, při které vzniká nový jedinec kombinací

několika jiných• Mutace – operace, při které vzniká nový jedinec

náhodnou změnou jiného

Page 9: Umělá inteligence

Vývojový diagram

Page 10: Umělá inteligence

Příklad – hledání funkce

• Ukázka:

Page 11: Umělá inteligence

Příklad – hledání minima funkce

• Využití pro složité funkce více proměnných.• Pro funkci jedné proměnné:

Page 12: Umělá inteligence

Křížení• Před křížením se musí aplikovat selekce.• Křížení:

Page 13: Umělá inteligence

Výhody a nevýhody

• Genetické algoritmy nevyžadují nastavení počátečních podmínek (viz. lineární optimalizace).

• Není nutné splnit množství matematických podmínek (spojitá, hladká funkce; singularity)

Page 14: Umělá inteligence

Výhody × nevýhody

• Je možné řešit úlohy jak numericky, tak analyticky.

• Stačí znát hodnotu kriteriální funkce v bodě• Genetické algoritmy mají za určitých podmínek

zaručenou konvergenci.• GA najde řešení, ale nelze říct kdy.

Page 15: Umělá inteligence

Výhody × nevýhody

• Pokud GA najde řešení, pak se nemusí nutně jednat o řešení zadané úlohy.

• GA algoritmus řeší fitness funkci, nikoliv původní úlohu.

• Návrh fitness funkce je klíčový a nejtěžší.• Pokud GA najde řešení zadané úlohy, je jeho

přesnost nejistá.• GA algoritmus se musí navrhnout vždy pro

zadanou úlohu.

Page 16: Umělá inteligence

Generování algoritmů – gramatika<statement> ::= <begin><statement><statement> |

<if><condition><statement> |<function><expression><expression> |<assign><var><expression>

<expression> ::= <function><expression> |<const> | <var> |<function><expression><expression>

<condition> ::= <operator><expression><expression><operator> ::= < | > | != | == | >= | <=<var> ::= $a | $b | $result<const> ::= 0 | 1| -1<function> ::= + | - | * | /<begin> ::= {}<if> ::= if {}<assign> ::= =

Page 17: Umělá inteligence

Generování algoritmů

• Vstupní data:• {(−3, 3); (43, 43); (3, 3); (123, 123); (−345, 345);

(−8, 8); (−11, 11); (0, 0)}• Kriteriální funkce:• Prefix:

<?phpfunction absol($a) {$result = "no_value";

• Sufix:return $result;}

• Body za: nastavení hodnoty, číselnou hodnotu, kladnou hodnotu, požadovanou hodnotuě

Page 18: Umělá inteligence

Výstup – ukázka

Page 19: Umělá inteligence

Jiný algoritmus

• Vstupní hodnotou funkce jsou dvě celá čísla a a b. Výstupní hodnotou je číslo c, pro které platí:• pro • • pro

• Tréninková množina:• {(−3, 5,−1); (43, 0, 1); (8, 8, 0); (3, 4,−1); (−3,−4,

1); }

Page 20: Umělá inteligence

Výstup – ukázka