4 ms·
It was around 2010 before all the reinforcement learning madness :) It was a university student competition in (mostly computer science bachelor and master stu
by amitport 5y ago
It was around 2010 before all the reinforcement learning madness :)
It was a university student competition in (mostly computer science bachelor and master students).
The core algorithm is https://en.wikipedia.org/wiki/Expectiminimax 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 https://github.com/amitport/senet-ai
The heuristics are at: https://github.com/amitport/senet-ai/blob/master/SmartUtilit https://github.com/amitport/senet-ai/blob/master/SmartUtilit...
I can't really make sense of it anymore :) but it seems to work
- YeGoblynQueenne 5y agoThanks! 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.
- amitport 5y ago(Fixed link: https://github.com/amitport/senet-ai/blob/master/SmartUtility.cpp https://github.com/amitport/senet-ai/blob/master/SmartUtilit... )