Artificial intelligence in abstract 2-player games
Artificial intelligence in abstract 2-player games
bakalářská práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/40628Identifikátory
SIS: 116748
Kolekce
- Kvalifikační práce [10923]
Autor
Vedoucí práce
Oponent práce
Baudiš, Petr
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Obecná informatika
Katedra / ústav / klinika
Katedra aplikované matematiky
Datum obhajoby
6. 9. 2012
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Výborně
Klíčová slova (česky)
herní stromy, Minimax, Alfa-beta, Proof-number search, TzaarKlíčová slova (anglicky)
Game Trees, Minimax, Alpha-beta, Proof-number Search, TzaarV této práci se zaměříme na algoritmy pro hledání nejlepšího tahu v~zadané pozici abstraktní strategické hry dvou hráčů. Popíšeme algoritmy Alfa-beta a Proof-number search včetně jejich vylepšení a přispějeme novými nápady na jejich zrychlení. Rovněž navrhneme postup, jak vybírat náhod\-ně mezi tahy ne o moc horšími než nejlepší nalezený a jak hrát v prohraných pozicích. Algoritmy nasadíme na hru Tzaar, která je zvláštní velkým počtem možných tahů, což ji dělá obtížnou pro počítač. Naším cílem je vytvořit co nejlepšího robota na hraní Tzaaru. Ukážeme, že naše umělá inteligence dokáže hrát na úrovni nejlepších lidských i~počítačových hráčů na internetu. Také na základě experimentů rozebereme, jak jednotlivá vylepšení algoritmů pomáhají v zrychlení výpočtů u~této hry.
In this thesis we focus on algorithms for searching for the best move in a given position in an abstract strategy 2-player game. We describe algorithms Alpha-beta and Proof-number Search with their enhancements and we come with new ideas for making them quicker. We also propose an algorithm for choosing randomly between moves not much worse than the best move and ideas how to play in lost positions. We apply the algorithms on the game Tzaar which is special for having a lot of possible moves which makes the game hard for a computer. Our goal is to create a robot for playing Tzaar as good as possible. We show that our artificial intelligence can play on the level of best human and computer players. We also examine experimentally how enhancements of the algorithms help making computations quicker in this game.