A reinforcement learning agent capable of solving checkers.
| Section | Description |
|---|---|
| Project overview | General description of the reinforcement learning checkers project |
| Author | Main contributors information |
| Documentation | Links to detailed documentation and presentation materials |
| How to use | Instructions for installation and command-line usage |
| Contributions | How to contribute to the repository |
| References | Scientific references |
| License | Licensing information |
This repository proposes a reinforcement learning-based approach to train an agent capable of playing checkers. The goal is to develop a model that can adapt to the game complexity by using some advanced reinforcement learning algorithms. The project provides tools to train, evaluate and visualize the agent performance, as well as to allow human to play against the trained agent [1].
![]() |
| @Mowibox Ousmane THIONGANE |
The environment details are specified in the documentation wiki. A short presentation of the RL approaches used is also available in the 'docs/' folder.
Download the repository:
git clone https://github.com/Mowibox/CheckersRL.gitDownload the necessary packages:
pip install -r requirements.txtRun inside the repository:
python3 main.py [options]
usage: main.py [-h] [--render] [-t TRAIN] [-e] [--human [HUMAN]]
options:
-h, --help show this help message and exit
--render Enable rendering
-t TRAIN, --train TRAIN
Train the RL model
-e EVALUATE, --evaluate EVALUATE
Evaluate the provided RL model (Use 'random'/'mcts'/'model
filepath')
--human [HUMAN] Allows human to play against computer [w, b] (default: w)Train a TD(λ) Linear Value Function Approximation model named model.pkl:
python main.py --train model.pklEvaluate a random agent:
python main.py --evaluate randomEvaluate a TD(λ) LVFA model:
python main.py --evaluate model.pklEvaluate a Monte-Carlo Tree Search (MCTS) agent:
python main.py --evaluate mctsSee the evaluation episode:
python main.py --evaluate model.pkl --renderPlay against the agent (white pawns by default):
python main.py --evaluate model.pkl --humanContributions are always welcome!
- Report Issues: Found a bug or have a feature request? Create a new issue here.
- Fix Bugs & Add Features: Find out where you can lend a hand by checking out existing issues.
- [1] Neto, H.C., Julia, R.M.S., Caexeta, G.S. et al. LS-VisionDraughts: improving the performance of an agent for checkers by integrating computational intelligence, reinforcement learning and a powerful search method. Appl Intell 41, 525–550 (2014). https://doi.org/10.1007/s10489-014-0536-y
This project is licensed under the MIT License. See the LICENSE file for more details.

