B2P-Penicilin-Tablut-AI
B2P-Penicilin-Tablut-AI copied to clipboard
Java-based artificial intelligence that plays Tablut using Ashton's rules
Team B2P - PCN Tablut AI
Penicillin (PCN) is a Java-based intelligent agent built to take part in the 2020 students' challenge of the Fundamentals of AI course held at the University of Bologna by prof. Paola Mello and prof. Federico Chesani.
The agent is designed to play Tablut with the Ashton rules (learn more here) using Andrea Galassi's server available in this repository.
Challenge results
Penicillin placed 2nd out of 11 teams in the challenge. Congratulations to Team Fritto Misto for winning!
Penicillin also became the "Reaper" record holder, for the highest average captures: 6.31 (the previous record was 5.75).
A brief description
- The game state is implemented via a BitSet to minimize memory occupation needed to represent the board.
- The Minimax with alpha-beta pruning search algorithm is made concurrent through the use of Futures
- A simple heuristic guarantees a deep exploration of the game tree during the iterative deepening process.
How to run
You can download the latest jar file from the GitHub Actions pipeline here.
You can download the latest stable release from the Releases section here.
You will then simply need to run:
java -jar B2P-Penicillin.jar <black|white> <timeout-in-seconds> <server-ip>
Javadoc
The Javadoc documentation is available here
Team B2P
Credits
Icons by Flat Icons from Flaticon
Font Pixeboy by Abas Creative from Fontspace