Skip to content

giacomo-brunetta/Montecarlo-Tree-Search-Checkers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages