Skip to content

VincenzoPalma/MCTS-Italian-Checkers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MCTS-Italian-Checkers-AI

A High-Performance Anytime Artificial Player for Italian Checkers in C.

Project Overview

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.

Key Technical Features

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.

Optimized Game Engine

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.

About

A high-performance Italian Checkers AI in C using Monte Carlo Tree Search (MCTS) with Bitboards, UCB1/PUCT selection models, and anytime analysis.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors