Winning such a tournament meant you can write efficient C++ code (so you can search more states during the allocated turn) and you can invent/feature-engineer good heuristics that estimate how close is a board state to winning the game.
I don't remember what heuristics was used, I don't even remember the rules :)
But I've uploaded the source to github a few years ago:
Thanks! I think these days the idea is to replace hand-crafted heuristics with (deep) reinforcement learning. But adversarial search by minimax and friends is still the core of AI players, far as I can tell.
It was a university student competition in (mostly computer science bachelor and master students).
The core algorithm is https://en.wikipedia.org/wiki/Expectiminimax which is a type of heuristic tree search over the possible board states.
Winning such a tournament meant you can write efficient C++ code (so you can search more states during the allocated turn) and you can invent/feature-engineer good heuristics that estimate how close is a board state to winning the game.
I don't remember what heuristics was used, I don't even remember the rules :)
But I've uploaded the source to github a few years ago:
https://github.com/amitport/senet-ai
The heuristics are at: https://github.com/amitport/senet-ai/blob/master/SmartUtilit...
I can't really make sense of it anymore :) but it seems to work