Artificial Intelligence for Go on Non-standard Topologies
Umělá inteligence pro hru Go na nestandardních topologiích
bakalářská práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/100990Identifikátory
SIS: 186773
Kolekce
- Kvalifikační práce [10932]
Autor
Vedoucí práce
Oponent práce
Brunetto, Robert
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Obecná informatika
Katedra / ústav / klinika
Katedra softwaru a výuky informatiky
Datum obhajoby
22. 6. 2018
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Velmi dobře
Klíčová slova (česky)
prohledávání herního stromu, Monte Carlo Tree Search, desková hra, Go, nestandardní topologieKlíčová slova (anglicky)
game tree search, Monte Carlo Tree Search, board game, Go, non-standard topologyGo je populární strategická hra pro dva hráče. Obvykle se hraje na čtvercové desce o rozměrech 19x19. Cílem této práce je vytvořit aplikaci umožňující uži- vateli hrát Go na jakékoli desce definované grafem, například na kouli nebo toruse. Vytvořili jsme webovou klient-server aplikaci napsanou v JavaScriptu a Node.js, která používá protokol Websockets pro rychlou komunikaci. Aplikace umožňuje uživateli hrát proti jiným hráčům na Internetu. Server může podporovat více souběžných her. Desky lze vytvářet modelovacím nástrojem Blender a poté je importovat do aplikace. Naše aplikace podporuje 3D vykreslování těchto desek ve webovém klientovi pomocí WebGL. Má responsivní ovládání umožňující změnu pohledu otočením, pohybem a zoomem. Uživatelé mohou také hrát proti umělé inteligenci. 1
Go is a popular strategic game for two players. It is usually played on a squared board of 19x19. The aim of this thesis is to create an application allowing a user to play Go on any board defined by a graph, such as sphere and torus. We created a web based client-server application, written in JavaScript and Node.js, that is using protocol Websockets for fast communication. Application allows user to play against other players on the Internet. Server can support multiple concurrent games at the same time. Boards can be created by modelling tool Blender and then imported into the application. Our application supports 3D rendering of these boards in web client using WebGL. It has responsive control, allowing changes of view by rotating, moving and zooming. Users can also play against artificial intelligence. 1