Úvod do umělé inteligence: Cvičení

Cílem předmětu je poskytnout studentům přehled základních metod a konceptů umělé inteligence a ukázat studentům, jak se představené techniky prakticky používají.

Základní informace

  • Název: Úvod do umělé inteligence (NAIL120)
  • Cvičení mám v úterý od 17:20 v S8 a ve čtvrtek od 10:40 v S8, on-line viz níže.
  • Přednášející je Roman Barták
  • Přednáška je v pondělí od 10:40
  • Další cvičení vede Marika Ivanová a Jiří Švancara.
  • Letní semestr 2021/22
  • For tutorials in English, please contant Jiří Švancara.

Obsah předmětu

  • Zavedení pojmů, historie
  • Řešení úloh prohledáváním (A* a spol.)
  • Splňování podmínek (Constraint satisfaction programming)
  • Logické uvažování (dopředné a zpětné řetězení, rezoluce, SAT)
  • Automatické plánování
  • Pravděpodobnostní uvažování (Bayesovské sítě)
  • Rozhodování
  • Hry a teorie her
  • Strojové učení (rozhodovací stromy, regrese, zpětnovazební učení)
  • Filozofické a etické aspekty

Zápočet

Pokud se stávající nejistá situace výrazně nezmění, bude zápočet udělen za domácí úkoly. Přesné podmínky budou odrážet aktuální vývoj situace. K organizaci cvičení budeme využívat tyto nástroje.
  • ReCodExu pro odevzdávání úkolů.
  • Git k získávání materiálů k domácím úkolům.
Žádám všechny studenty mého cvičení, aby se přihlásili do mojí skupiny v recodexu. Dále si stáhněte a pravidelně aktualizujte gitový repozitář s podklady k domácím úkolům.

Domácí úkoly

Programovací úkoly

  • Dostanete částečnou implementaci úkolu.
  • Máte za úkol implementovat chybějící části. Původní části můžete upravovat, ale měli byste zachovat rozhraní, jinak neprojdou testy na recodexu.
  • Úkol je testován automaticky, testovací data jsou veřejná.
  • Cvičící si prohlédne váš program a případně koriguje bodové ohodnocení.
  • Programovací jazyk je Python. Některé úkoly vyžadují instalaci knihoven pomocí nástroje pip.

Experimentální úkoly

  • Cílem je změřit chování zadaného algoritmu na daných datech.
  • Odevzdáváte zprávu s naměřenými hodnotami a diskusí (jako PDF).
  • Pro inspiraci, jak má zpráva vypadat, se můžete podívat na příklad dynamického pole z datových struktur: zadání, řešení a zdrojové kódy.

Všeobecná pravidla

  • O úkolech můžete diskutovat s ostatními, ale nesdílejte s nimi své programy ani zprávy (ukázat je přednášejícímu nebo cvičícímu samozřejmě můžete).
  • Termíny jsou pevné.
  • Před termínem můžete své řešení odevzdávat vícekrát, platí maximum získaných bodů.
  • Kvalita vašich programů a zpráv se promítá do hodnocení.
  • Implementované algoritmy musí fungovat na libovolném vstupu, i když jsou testované jen na několika případech. Není proto dovoleno předpočítat si výsledky jen pro dané testy ani jinak pro ně omezovat funkčnost programu.
  • Pokud jste se kdekoliv inspirovali, citujte všechny zdroje. Chybějící citace jsou (nejen zde) považovány za významný prohřešek proti akademické etice.

Literatura

  • S. Russell, P. Norvig: Artificial Intelligence. A Modern Approach, Prentice Hall, 2010

Cvičení