Checkers AI

Published: Updated:

Checkers AI is a program which can play checkers against a human. It has a simple UI and an AI to play against named Steven. Kings are drawn with a yellow square representing the crown. The human player always plays as white.

The project was created as a way of implementing MCTS.

Early in the game. White is about to make a move. Black has zugzwang and is about to win.

Technical Details

Checkers AI was programmed in C# using WPF for the user interface. There is a component (Checkers.cs) which models the game of checkers that exists separately from the UI and the AI.

The AI uses the Monte-Carlo tree search algorithm, which randomly samples games in order to find the move most likely to win. MCTS is not an ideal algorithm for deterministic games of perfect information, but the AI is challenging enough to beat a beginner and can be beaten by a player with some practice. An algorithm like alpha-beta pruning would perform better and with more efficiency.