This repository contains a Python-based player developed for the Tablut Competition held as part of the course Fundamentals of Artificial Intelligence and Knowledge Representation at the University of Bologna, Academic Year 2024/2025.
The project involves creating an AI player for the game Tablut. We implemented an iterative alpha-beta min-max algorithm for decision-making, transposition tables to avoid redundant computations, the history heuristic to optimize move ordering, and various features to evaluate the board and determine game strategies.
Before running the player, ensure you have the following:
- Python 3.x installed.
- The Tablut Competition server is running. You can find the server repository here:
AGalassi/TablutCompetition.
-
Clone this repository:
git clone https://github.com/conocirone/GiulioJr.git cd GiulioJr
-
Follow the instructions in the TablutCompetition server repository to start the server.
To execute the player, use the following command:
python main.py --team [WHITE|BLACK] --timeout TIMEOUT --ip IP
--team [WHITE|BLACK]
: Specifies which side the player will represent.--timeout TIMEOUT
: Time (in seconds) allowed for the player's move decision.--ip IP
: IP address of the running server.
If you want to run the player as the WHITE team, with a timeout of 60 seconds, connecting to a server at 127.0.0.1
, the command will be:
python main.py --team WHITE --timeout 60 --ip 127.0.0.1
- Giulio Petrozziello: giulioPetroz
- Gio Formichella: Gio-Formichella
- Cono Cirone: conocirone
This project is developed as part of a university competition and is intended for educational purposes.