Skip to content

Latest commit

 

History

History
41 lines (25 loc) · 1.54 KB

README.md

File metadata and controls

41 lines (25 loc) · 1.54 KB

Montecarlo Tree Search for Board Games

Goal of the project

The goal of the project is to have a game engine that supports potentially any game with 1 to N players. The players can be:

  • Human players: provided with a CLI interface that allows them to play
  • BOTs: that play autonomously

The algorithm

MCTS

To create game-agnostic BOTs we chose to implement Monte Carlo Tree Search: a search algorithm that performs a sparse visit of the state space by performing random playouts. The move that lead to the highest probability of winning is chosen as the best.

Pros:

  • it is context agnostic
  • it does not require any heuristic
  • it is an anytime method
  • it is highly parallelizable

Cons:

  • it is not exact

The supported game(s)

Italian Draughts

To date, we only support Italian Draughts, a game very similar to checkers. We chose it because it is not trivial like Tick Tac Toe or Connect 4, but it has a reasonable branching factor compared to Chess or GO.

The architecture

Class Diagram

Contributors