Othello AI
This othello AI was written in C as a school assignment. It uses a bunch of functions from a ready made othello game for interfacing with the game.
The AI works by building and pruning a game tree. Since the size of a full game tree grows exponentially the further you go, it uses pruning to cut off the worst branches. It scores each initial move depending on the worst case that move can lead to (assuming the opponent makes the "best" moves for him, and the AI does the "best" moves on each turn) and mobility (number of different moves possible). Square-value evaluation is used for scoring each outcome. After evaluating each move, the worst branches are pruned and the game tree is extended furter. The moves are evaluated again and finally the best move is selected, always minimizing losses.
The AI includes lots of parameters to tune. I wasn't too keen on tuning them, so they are probably not optimal.
All AIs submitted (as school assignments) took part in a tournament. My AI was 7th out of 21 competetors and took up the most cpu-time. This wasn't quite the performance I was expecting, but I'll blame it all on not tuning it well wnough :P
The source of all other AIs can also be found below.
Comments
Post new comment