static evaluator
Monte Carlo Methods for the Game Kingdomino
Gedda, Magnus, Lagerkvist, Mikael Z., Butler, Martin
Kingdomino is introduced as an interesting game for studying game playing: the game is multiplayer (4 independent players per game); it has a limited game depth (13 moves per player); and it has limited but not insignificant interaction among players. Several strategies based on locally greedy players, Monte Carlo Evaluation (MCE), and Monte Carlo Tree Search (MCTS) are presented with variants. We examine a variation of UCT called progressive win bias and a playout policy (Player-greedy) focused on selecting good moves for the player. A thorough evaluation is done showing how the strategies perform and how to choose parameters given specific time constraints. The evaluation shows that surprisingly MCE is stronger than MCTS for a game like Kingdomino. All experiments use a cloud-native design, with a game server in a Docker container, and agents communicating using a REST-style JSON protocol. This enables a multi-language approach to separating the game state, the strategy implementations, and the coordination layer.
A comparison and evaluation of three machine learning procedures as applied to the game of checkers
This paper presents two new machine learning procedures used to arrive at “knowledgeable” static evaluators for checker board positions. The static evaluators are compared with each other, and with the linear polynomial used by Samuel [9], using two different numerical indices reflecting the extent to which they agree with the choices of checker experts in the course of tabulated book games. The new static evaluators are found to perform about equally well, despite the relative simplicity of the second; and they perform noticably better than the linear polynomial. An indication of the significance of the absolute values of these two numerical indices is provided by a discussion of a simple, purely heuristic, static evaluator, whose performance indices lie between those of the polynomial and those of the other two static evaluators.