diplomová práce

Soutěžní hřiště pro umělou inteligenci

Text práce 2.18 MB Příloha 3.49 MB

Autor práce: Ing. Matouš Benda

Ak. rok: 2017/2018

Vedoucí: doc. Ing. Radomil Matoušek, Ph.D.

Oponent: RNDr. Jiří Dvořák, CSc.

Abstrakt:

Diplomová práce pojednává o možnostech hraní her pomocí metod umělé inteligence
a představuje návrh řešení konkrétní hry využívající tento přístup. Umělá inteligence je
v této práci reprezentována umělou neuronovou sítí. První teoretická část je zaměřena
na popis celosvětově úspěšných a známých umělých inteligencí. Následuje stručný popis
neuronových sítí a rozbor některých knihoven pro strojové učení. Praktická část je
zaměřena na implementaci vytvořené hry pomocí programovacího jazyka Python.
V závěru je proveden rozbor předloženého řešení.

Klíčová slova:

Umělá inteligence, umělá neuronová síť, strojové učení, hraní počítačových her

Termín obhajoby

12.6.2018

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znakmkaBznamka

Klasifikace

B

Průběh obhajoby

Student obeznámil komisi s výsledky své DP. Následně uspokojivě zodpověděl otázky oponenta a doplňující otázky komise. Následující dotazy: Motivace. Optimalizace. Každý had (2) - řízen jinou inteligencí (zkoušel jste to)?

Jazyk práce

čeština

Fakulta

Ústav

Studijní obor

Aplikovaná informatika a řízení (M-AIŘ)

Složení komise

prof. Ing. Dagmar Janáčová, CSc. (předseda)
prof. RNDr. Ing. Miloš Šeda, Ph.D. (místopředseda)
prof. RNDr. Ing. Jiří Šťastný, CSc. (člen)
RNDr. Martin Kuba, Ph.D. (člen)
doc. Ing. Radomil Matoušek, Ph.D. (člen)
doc. Ing. Ivan Švarc, CSc. (člen)

Předložená diplomová práce prezentuje implementaci známé hry „hadi“, a návrh a řešení autonomních herních strategií realizovaných na základě umělé neuronové sítě. Práci lze dekomponovat na teoretickou a praktickou část. Praktická část implementovala hru hadi a dále realizovala návrh herních strategií AI. Tuto část lze považovat za obtížnou; asimilace Deep Q Learning, knihovna Keras aj. Teoretická část dávala relativní svobodu v popisu, což je na výsledku lehce patrné. Zde bych přivítal hlubší popis struktury NN a vlastní implementace v kontextu zapojení herních strategií dle zadání, včetně rozsáhlejšího a sofistikovanějšího testování těchto strategií.
V době kdy metody ANNs (Artificial Neural Networks) získávají na významu nejen v propagačním kontextu, např. AlphaGo, povařuji řešení za velmi aktuální, nesnadné a diplomantem dobře rozpracované. Vlastní popis je na dobré úrovni, včetně grafické části textu, která je na výborné úrovni. Vlastní aplikace poskytuje prostor k dalšímu rozšíření, což je rovněž pozitivní. Celkově práci hodnotím dobře až velmi dobře a bezesporu doporučuji k obhajobě.
Kritérium hodnocení Známka
Splnění požadavků a cílů zadání C
Postup a rozsah řešení, adekvátnost použitých metod C
Vlastní přínos a originalita A
Schopnost interpretovat dosažené výsledky a vyvozovat z nich závěry D
Využitelnost výsledků v praxi nebo teorii A
Logické uspořádání práce a formální náležitosti B
Grafická, stylistická úprava a pravopis B
Práce s literaturou včetně citací A
Samostatnost studenta při zpracování tématu A

Známka navržená vedoucím: C

Cílem práce byl návrh hry s rozhraním pro soutěž algoritmů umělé inteligence a vytvoření vlastního hráče (umělé inteligence). Zadání práce bylo v podstatě splněno. Autor si vybral hru Snake a pro implementaci umělé inteligence hráče zvolil neuronové sítě.
Rešeršní část popisuje systémy UI pro hraní her (kap. 2), neuronové sítě (kap. 3) a strojové učení (kap. 4). Velká pozornost je zde věnována technikám hlubokých neuronových sítí a hlubokého učení, ačkoli nakonec autorem vytvořené systémy tyto techniky nepoužívají. Tato část nemá dobrou strukturu. Kapitola 2 měla být zařazena až za kapitolu 4, protože při popisu herních UI se používají pojmy a metody, popsané a vysvětlené až v kapitolách 3 a 4. V kapitole o neuronových sítích by bylo vhodné popsat metodu backpropagation.
V praktické části práce je podrobně popsána aplikace zahrnující jak soutěžní hřiště hry Snake, tak navržené umělé inteligence. Implementace zvoleného řešení byla provedena v programovacím jazyce Python, který je velmi populární pro práci s neuronovými sítěmi. Vyzdvihnout lze dobrou kvalitu vytvořeného kódu, který je jasný a přehledný, což umožňuje další rozšiřování funkčnosti. Této části práce je třeba vytknout malý počet provedených experimentů a nedostatečnou interpretaci jejich výsledků.
V práci se vyskytuje řada překlepů, gramatických chyb a stylistických nedostatků. Některé matematické symboly v textu nejsou psány kurzívou. Po grafické stránce je práce zpracována kvalitně.
Kritérium hodnocení Známka
Splnění požadavků a cílů zadání B
Postup a rozsah řešení, adekvátnost použitých metod C
Vlastní přínos a originalita B
Schopnost interpretovat dosaž. výsledky a vyvozovat z nich závěry C
Využitelnost výsledků v praxi nebo teorii C
Logické uspořádání práce a formální náležitosti C
Grafická, stylistická úprava a pravopis C
Práce s literaturou včetně citací B

Známka navržená oponentem: C