Umělá inteligence - PowerPoint PPT Presentation

um l inteligence n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Umělá inteligence PowerPoint Presentation
Download Presentation
Umělá inteligence

play fullscreen
1 / 20
Umělá inteligence
114 Views
Download Presentation
seth-mendez
Download Presentation

Umělá inteligence

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Umělá inteligence Genetické algoritmy

  2. 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

  3. 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ů.

  4. 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

  5. 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ý

  6. 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.

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

  8. 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

  9. Vývojový diagram

  10. Příklad – hledání funkce • Ukázka:

  11. Příklad – hledání minima funkce • Využití pro složité funkce více proměnných. • Pro funkci jedné proměnné:

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

  13. 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)

  14. 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.

  15. 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.

  16. 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> ::= =

  17. 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: <?php functionabsol($a) { $result = "no_value"; • Sufix: return $result;} • Body za: nastavení hodnoty, číselnou hodnotu, kladnou hodnotu, požadovanou hodnotuě

  18. Výstup – ukázka

  19. Jiný algoritmus • Vstupní hodnotou funkce jsou dvě celá čísla aab. 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); }

  20. Výstup – ukázka