ChessAI is a project aimed at developing a chess-playing AI using Reinforcement Learning (RL) and Monte Carlo Tree Search (MCTS). The AI learns by simulating games against itself, aspiring to reach a level comparable to an amateur player. Initially, the project features a local interface built with Pygame, with plans to implement a web-based GUI using Chessboard.js in the future.
The goal is to develop an AI that:
- Learns chess through game simulations.
- Achieves the skill level of an amateur chess player.
- Visualizes its learning progress over time.
- AI and Machine Learning: TensorFlow, NumPy
- Chess Logic: python-chess
- Web Interface: Chessboard.js + Flask
- Testing: Pytest
-
Clone the repository:
git clone https://github.com/Tomciom/ChessAI.git cd ChessAI
-
Create a virtual environment and install required packages:
python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate pip install -r requirements.txt
-
Run the user interface for a simple game against the AI:
python -m web.app
- Implementation of the basic RL algorithm.
- Integration of MCTS with the AI.
- Implementation of a web interface with Chessboard.js.
- Testing and optimization of the algorithm.
- Further enhance the AI and test it against chess engines (e.g., Stockfish).
This project is licensed under the MIT License. See the LICENSE
file for details.