Evoluce umělé inteligence pro tahovou strategickou hru
Evolution of artificial intelligence for turn-based strategy game
bakalářská práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/116925Identifikátory
SIS: 214859
Kolekce
- Kvalifikační práce [11196]
Autor
Vedoucí práce
Oponent práce
Pergel, Martin
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Programování a softwarové systémy
Katedra / ústav / klinika
Katedra softwaru a výuky informatiky
Datum obhajoby
13. 2. 2020
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Čeština
Známka
Výborně
Klíčová slova (česky)
tahová strategická hra, umělá inteligence, evoluční algoritmusKlíčová slova (anglicky)
turn-based strategy game, artificial intelligence, evolutionary algorithmPráce se věnuje vývoji umělé inteligence pro zjednodušenou variantu tahové strategické hry Advance Wars. Zaměřujeme se přitom na srovnání možností tradičních ,,ručních'' metod herní AI a metod minimalizujících závislost na doménových znalostech o hře. První část prá- ce obsahuje analýzu hry, přehled vybraných technik herní AI a popis implementace agentů na bázi rozhodovacích stromů, užitkových přístupů a neuronových sítí. Dále prezentujeme výsledky pokusů s učením parametrů agentů a vah neuronových sítí pomocí genetických algoritmů a evolučních strategií. Experimentovali jsme s trénováním agentů proti fixním opo- nentům a s mechanismem kompetitivní koevoluce. Ve druhé části práce detailně prezentujeme vytvořený software. Pro potřeby vývoje AI byl implementován efektivní simulátor hry vhodný pro rychlou hru agentů a sada pomocných nástrojů. Vytvořen byl také plnohodnotný grafický klient umožňující hru lidských i počítačo- vých hráčů.
This thesis deals with the development of artificial intelligence for a simplified version of turn- based strategy game Advance Wars. Our focus is on comparing traditional ''ad-hoc'' game AI methods with methods that minimize the dependance on domain knowledge of the game. First part of the thesis contains analysis of the game, survey of selected game AI techniques and an overview of the implemented agents using decision trees, utility-based methods and neural networks. We present the results of our experiments with learning agent parameters and neural network weights using genetic algorithms and evolutionary strategies. We expe- rimented with training agents against fixed opponents and with competitive coevolution. In the second part we present the created software in detail. An efficient game simulator and a set of utility tools were implemented to support the AI development. A full-fledged graphical client that allows for both human and AI gameplay was also created.