Na první pohled vypadá každý nový problém jinak, ale při vhodné abstrakci se často ukáže, že jde o jeden ze známých typů úloh, pro jehož řešení můžeme využít standardní postupy a algoritmy.
Typy úloh umělé inteligence
Mezi typy úloh řešených v umělé inteligenci patří:
- plánování – nalezení (nejkratší) posloupnosti akcí, která nás dostane do cíle (nalezení cesty z bludiště, poskládání Rubikovy kostky, naplánování cesty auta do zadané lokace, řešení Sokobana, Autíček a podobných logických úloh)
- splňování podmínek – nalezení hodnot proměnných, které splňují různá provázaná omezení (tvorba školního rozvrhu, řešení sudoku a podobných logických úloh)
- optimalizace – hledání hodnot proměnných minimalizující nebo maximalizující zadanou funkci (sbalení batohu s nejvyšší hodnotou vybraných předmětů, hledání receptu na nejlepší sušenky)
- řízení – nalezení strategie předepisující vhodnou akci pro různé situace (hraní šachu, jízda auta mezi dvěma křižovatkami)
- predikce – určení kategorie nebo hodnoty nějakého atributu určitého vzorku (detekce spamu, rozpoznání rostliny na fotce, odhad zítřejších srážek)
- generování – vytvoření textu nebo obrázku na základě jiného textu nebo obrázku (odpovídání na otázky, strojový překlad, vygenerování popsaného obrázku)
Mnohé problémy jsou kombinací více typů úloh. Například problém obchodního cestujícího (úloha najít nejkratší cestu, která projde všemi zadanými městy a vrátí se do výchozího bodu) zahrnuje plánování, optimalizaci i splňování podmínek.
Charakteristiky prostředí
Úlohy můžeme dále rozlišovat podle vlastností prostředí, se kterým program interaguje:
- diskrétní vs. spojité (Je možných stavů a akcí pouze spočetně mnoho, nebo existuje plynulé spektrum?)
- plně vs. částečně pozorovatelné (Máme k dispozici všechny informace o aktuálním stavu?)
- statické vs. dynamické (Vyvíjí se prostředí i během toho, co AI přemýšlí?)
- deterministické vs. stochastické (Je vývoj jednoznačně určen provedenou akcí, nebo hraje roli náhoda?)
- přátelské vs. nepřátelské (Hraje prostředí proti nám?)
Příklady prostředí
Většina čistě logických deskových her pro dva hráče (šachy, go, dáma) jsou diskrétní, plně pozorovatelné, statické, deterministické a nepřátelské. Mnohé karetní hry (Prší, Poker, Bang!) jsou pouze částečně pozorovatelné, kostkové hry jsou stochastické. Řízení autonomního auta je spojité, částečně pozorovatelné, dynamické a stochastické, ale není nepřátelské.
Metody umělé inteligence
Tyto úlohy se řeší kombinací různých přístupů:
- rozklad na jednodušší podproblémy
- systematické zkoušení možností (hrubá síla a techniky prohledávání stavového prostoru)
- postupné vylepšování řešení (např. lokální prohledávání a genetické algoritmy)
- logické a pravděpodobnostní odvozování (pravděpodobnost je důležitá pro práci s nejistotou)
- využití vhledu expertů a heuristik (pravidla, která neplatí vždy, ale často pomohou)
- učení se z dat nebo zkušenosti (strojové učení)