Skip to content

albe873/tablut.cpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

85 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Tablut challenge 2025 βš”οΈπŸ–³β™ŸοΈ

✨ Overview ✨

Project for the tablut challenge, Fondamenti di intelligenza artificiale M, cds Ingegneria Informatica magistrale, University of Bologna; organized by Andrea Galassi, Allegra De Filippo, Luca Giuliani. The challenge consist of creating a player that, using AI techniques, plays the game Ashton Tablut, and a short presentation to show each other their own creation. To declare the winner, is held a tournament with round-trip matches.

πŸ’‘ My solution πŸ’‘

My focus was on using search algorithms in the most efficient way, so I went with:

  • c++ implementation, for speed and usage of objects abstractions to simplify the code
  • MTD(f) search algorithm, outperforms alpha-beta
  • Transposition Table to retrieve previously evaluated game positions
  • parallel search with OpenMP: every thread calculates the minimax value of a root node.

Usage

1. πŸ”§ Build πŸ”§

clone the repo, create a folder named build and cd in that

mkdir build && cd build

build the project with cmake

cmake ..
cmake --build .

then you can find the binaries in ./src/client the main executable is Player1 (aiPlayer* are earlier versions for testing purposes)

2. βš™οΈ Execute βš™οΈ

Run the executable Player1

parameters: Player1 [WHITE|BLACK] [max_server_move_timeout] [server_ip] defaults: WHITE 60 localhost

server project: https://github.com/AGalassi/TablutCompetition

🏁 Tournament Results 🏁

  • 1st πŸ† position in overall ranking
  • 1st πŸ₯‡ position for number of captures
  • 1st πŸ₯‡ position for least lost pawns

About

Tablut challenge 2025 player, course of fondamenti di intelligenza artificiale M

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published