A High-Performance Anytime Artificial Player for Italian Checkers in C.
This project implements an Artificial Player (AP) for the game of Italian Checkers (Dama Italiana) using the Monte Carlo Tree Search (MCTS) algorithm. Developed entirely in C , the system provides an interactive experience where a human player can challenge the AI using a mouse-driven interface.
The project focuses on solving the Exploration vs. Exploitation dilemma by replacing traditional heuristic functions with random simulations and rigorous selection models.
MCTS Architecture: A full implementation of the four iterative phases: Selection, Expansion, Simulation, and Backpropagation.
Selection Models: Support for both UCB1 and PUCT models.
Anytime Capability: The AI operates as an "anytime algorithm" , providing move analysis across three distinct time levels: 0.2s, 1s, and 3s.
Bitboard Representation: Utilizes bitmasks and bitwise operations for ultra-fast board state manipulation.
Zero-Clone Rollouts: Optimized memory management by avoiding state cloning during the rollout phase.
Informed Simulations: To avoid inconclusive draws common in random play, the rollout phase incorporates specific rules of Italian Checkers and end-game detection logic.