An implementation of the Monte Carlo Tree Search (MCTS) algorithm for the malagasy board game: Fanorona
# Fanorona with MCTS
A project that implements the Monte Carlo Tree Search (MCTS) algorithm for the traditional board game of Fanorona.
---
## 📖 About Fanorona
Fanorona is a centuries-old strategy board game originating from Madagascar. It is played on a 9x5 grid (fanorona 9) or a 5x5 grid (fanorona 5) and challenges players to capture their opponent's pieces using a variety of strategic moves. The game is renowned for its depth and complexity, making it an excellent candidate for AI research.
---
## 🎯 Project
- Implement a simple interface for
- Implement the **Monte Carlo Tree Search (MCTS)** algorithm to play Fanorona.
- Develop an algorithm capable of making intelligent, adaptive decisions.
---
## 🚀 Features
- **Fanorona Game Logic**: The game board is represented programmatically, supporting all valid moves and captures.
- **MCTS Algorithm**: To calculate optimal moves.
- **Interactive Gameplay**: Play against the AI
---
## 🛠️ Getting Started
### Prerequisites
Ensure you have the following installed:
- Python 3
### Installation
1. Clone the repository:
```bash
git clone
github.com
cd mcts-fanorona
```
2. Run the game
```bash
python main.py
```
---
## 🛠️ To do
- simulate AI vs. AI matches
- Optimize the code for more simulations
---
## 📂 Repository Structure
```
mcts-fanorona/
├── mcts.py # MCTS implementation
├── fanorona.py # Fanorona implementation
└── README.md # Project documentation
```
---
## 🌟 Acknowledgments
- Inspired by the board game Fanorona)
- Thanks to maksimKorzh for the help on the MCTS part.
Enjoy playing and exploring the strategies of Fanorona!