[home]
Úvod do UI (2022/2023)
Cvičení k přednášce Úvod do umělé inteligence
Tato stránka je určená pro česká cvičení konaná každé úterý v 15:40.
Literatura
Přednáška je postavena na Russell and Norvig, Artificial Intelligence: A Modern Approach, 4th Edition (Prentice Hall, 2020)
Organizace
Pro získání zápočtu je potřeba nasbírat dostatečný počet bodů za (většinou) programovací domácí úkoly. Za každý úkol lze získat minimálně 10 bodů. Hranice pro získání zápočtu je $7 \times \text{počet úkolů}$. Je naplánováno $10$ úkolů, ale v případě nepředvídatelných událostí se toto číslo může změnit.
Všechny úkoly budou zadány přes ReCodEx. Zdrojové kody, ze kterých úkoly vychází jsou dostupné přes Git. Všechny úkoly jsou psané v Pythonu a automaticky opravované v ReCodExu. Z tohoto důvodu je nutné dodržet poskytnuté template. Deadline pro odevzdání úkolů bude vždy přibližně 2 týdny, přesné datum a čas bude opět uvedeno v ReCodExu.
Účast na cvičeních není povinná, nicméně je velice doporučovaná, protože se na cvičeních většinou dozvíte užitečné rady, které vám usnadní řešení úkolů.
Je zakázáno s kolegy sdílet kod vašich řešení. Na druhou stranu, společná diskuze nad přístupem k řešení je povolená.
Pokud máte pocit, že vám uniká možnost získat zápočet, neváhejte mě kontaktovat (mailem nebo osobně). Tyto případy budou řešeny individuálně na základě vašeho dosavadního přístupu k cvičení.
Co bylo probráno
Zde bude krátké shrnutí každé hodiny. Pokud se na hodině počítal nějaký příklad, bude zde i PDF se zadáním příkladu.
- 21.02.
-
- Organizační info.
- Popis DFS, BFS, Dijkstra, A* a odkrokování na konkrétním grafu.
- Rozdíl mezi Tree search a Graph search, kdy a proč chceme přípustnou a monotónní heuristiku.
- 28.02.
-
- CSP
- Přeložení barvení grafu, jak najít optimální počet barev. Jak rozhodnout, zda daná proměnná musí nabývat konkrétní hodotu ve všech řešeních.
- Řešení CSP pomocí prohledávání. Hranová konzistentnost, AC-3 algoritmus. Rozdíl mezi "forward check" a "look ahead".
- 07.03.
-
- SAT
- Kodování proměnných s nebinárními doménami, kodování podmínek "alespoň 1" a "nejvýše 1"
- DPLL algoritmus, v jakém pořadí používat jednotkovou propagaci a pure literál. Rezoluční metoda.
- 14.03.
-
- Plánování, klasické plánování, rozdíl oproti SATplan
- PDDL, konkrétně jsme vyřešili gripper problém.
- 21.03.
-
- Dokončení plánovaní - plánování pomocí dopředného a zpětného prohledávání
- Pravděpodobnost, podmíněná pravděpodobnost, Bayesovské sítě. Příklad z hodiny.
- 28.03.
-
- Pokračování v pravděpodobnosti.
- Otázky na Bayesovské sítě - query, observations, hidden variables. Řešení pomocí enumerace a eliminace skrytých proměnných.
- 04.04.
-
- Markov chain (MC) a hidden Markov model (HMM).
- Příklad na predikci slunečných dnů na základě MC. Příklad na filtering pro HMM.
- 11.04.
-
- Příklady na filtering a smoothing pro HMM. Hezké materiály s vyřešenými příklady zde.
- 18.04.
-
- Decision making. Utility function vs reward.
- Value iteration. Policy iteration.
- 25.04.
-
- Hry dvou hráčů - minimax algoritmus + alfa-beta prořezávání.
- Jak urychlit minimax - omezení hloubky, omezení branching faktoru.
- 02.05.
-
- Jedno tahové hry. Dominantní strategie, Nashovo equilibrium, mixing strategy.
- MCTS a AlphaGo, AlphaZeroGo, AlphaZero.
- 09.05.
-
- Machine learning.
- Decision trees, linear regression.
- 16.05.
-
- Diskuze o reinforcement learning.
- ChatGPT a podobné.