1 / 20

Umělá inteligence

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.

seth-mendez
Download Presentation

Umělá inteligence

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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

More Related