PŘIKRYL, S. Program pro automatické hraní her Solitaire a Miny [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2023.

Posudky

Posudek vedoucího

Rozman, Jaroslav

Student k řešení práce přistupoval aktivně a výsledkem je funkční program, který může sloužit jako východisko pro další práci na efektivnějších řešeních daných úkolů. 

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Informace k zadání Cílem práce bylo vytvořit jednoduchý program, který by umožňoval automatické hraní her Solitaire a Miny, známé převážně z OS Windows. Zadání je spíše jednoduché a bylo splněno.
Práce s literaturou Literatura, kterou si student obstarával samostatně, je vhodně zvolena.
Aktivita během řešení, konzultace, komunikace Student byl během řešení nadprůměrně aktivní a na konzultace docházel pravidelně a připraven.
Aktivita při dokončování Paradoxně, i když byl student nadprůměrně aktivní, tato aktivita se týkala programové části práce a ne psaní textu. Bylo tak nutno posunout datum odevzdání a text práce nebyl vůbec konzultován.
Publikační činnost, ocenění -
Navrhovaná známka
C
Body
70

Posudek oponenta

Zbořil, František

Jako hlavní přínost této práce vidím to, že si student vyzkoušel implementaci systému zahrnujícího některé metody z oblasti umělé inteligence. Využil sice knihovny a stávající řešení jiných autorů, ale to nepovažuji za chybu. Nízké hodnocení způsobuje podle mého názoru ne příliš dobré textové zpracování práce.

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Náročnost zadání Zadání považuji za průměrně obtížné až obtížnější. Vyžaduje kromě programátorských schopností i začlenění metod počítačového vidění a strojového hraní her. 
Rozsah splnění požadavků zadání Zadání bylo studentem splněno. Program je schopný řešit zadané úlohy, tedy strojově hrát hry pro jednoho hráče, konkrétně hry Solitaire a Hledání min. 
Rozsah technické zprávy
Prezentační úroveň technické zprávy 50 Prezentační úroveň předložené zprávy považuji za největší slabinu řešení. Text je sice přiměřeně dlouhý a všechny aspekty práce jsou zde zmíněny, ovšem některé části jsou popisovány až moc podrobně a některé, z mého pohledu důležitější, jen okrajově a ne příliš zdařile. Text začíná pěkným popisem jednotlivých her, ovšem již od třetí kapitoly (analýza a návrh) jde úroveň dolů. Zachází se zde do zbytečných detailů, když se popisuje jak v prostředí Python spouštět aplikace a detekovat okna jiných aplikací. Dále jsou probírány datiové struktury pro reprezentaci stavu hry (seznamy, slovníky atd.). Podobně je tomu ve 4. části, která popisuje implementaci. To, jaké metody jsou použity pro hraní hry, je popsáno vágně a ne příliš zdařile. U existujících řešení jsou popsány jen obecně metody prohledávání stavového prostoru - DFS, BFS, A*, nebo strojového učení. Dokonce jsou zmíněny jako další možné přístupy i Expertní systémy, což ale není příliš obvyklé pro tuto doménu. Jak se detekují jednotlivé karty v Solitaire, nebo čísla min u Hledání min, jsem se nedozvědel. Na straně 21 po rozsáhlém výčtu možností přípustných tahů je uvdeno, že existuje mnoho dalších. Tedy pak by stačilo uvést jen několik z nich, pokud je jich tak mnoho. U problému Hledání min je uvedeno, že v některých případech nelze jednoznačně určit, jaké políčko odkrýt, načež je uvedena metoda soustavy rovnic, která dává jednoznačnoě tuto možnost. Další metody mají určit pravděpodobnost, že na zakrytých políčkách není mina, ale není popsáno konkrétně jak. Při testování je uvedeno, že řešení Solitaire trvalo až přes tři hodiny, a jako argument je uvedeno, že muselo být prozkoumámp 2945 stavů, což je označeno za 'obrovský stavový prostor' (strana 40).
Formální úprava technické zprávy 75 Formální úroveň práce hodnotím jako průměrnou. V textu lze nalézt několik nepěkností, například chybějící mezery ('jakje', 'naimplentaci', strana 14). Ukázky kódů čtenáři moc nepřinesou a obrázky ze hry Hledání min jsou zbytečně velké.
Práce s literaturou 75 V textu je uvedeno celkem deset pramenů relevantních k tématu práce. Ty se ale týkají zejména pravidel obou her. V části popisující existující řešení nejsou existující řešení uvedena a citována, jen obecné metody, které se vyučují v rámci předmětu Základy umělé inteligence. Hodnotím tento bod jako průměrný.
Realizační výstup 85 Hlavní jádro aplikace, což jsou algoritmy pro hledání postupů při hraní her Solitaire a Hledání min, student částečně převzal, ale toto uvedl. Aplikace je funkční a je schopna smysluplně hrát obě hry.
Využitelnost výsledků Výsledky by byly vyujžitelné ostatními, pokud by byly metody hraní těchto her lépe popsány. Takto vidím využitelnost výsledků jako minimální.  
Navrhovaná známka
D
Body
60

Otázky

eVSKP id 147740