Othello is an excellent place to an introduction to AI in games, while also allowing advanced research. It is a relatively simple game (in comparison to games like chess or go) and there is quite a bit of established literature out there, in particular:

Othello rules. An excellent overview of the rules of othello. But the best way to learn is play, check out games.yahoo.com for some good competition (it is there under reversi).

Micheal Buro's page. The creator of Logistello (available for free with source) and inventor of the Multi-Prob Cut method for searching in Othello, has advanced the state of the art to incredible heights in Othello. Check out his papers for an excellent overview of the ways that strong Othello programs are playing today.

Gunnar's Othello page. The creator of WZebra (available for free, no source), an extremely strong AI with the fastest (as far as I know) end-game searcher for x86. He has an excellent overview of how strong AI programs are built for Othello today as well.


My othello AI, it has a relatively simple GUI that is compilable on Win32 and Unix machines (only tested on Solaris boxes, Linux might require a bit of work). It also has a test harness that allows you to test out different AI's against one another in the framework. Human play is also supported. You can download it with source included here (803k).

Screenshot of Cascade destroying me (as usual).

It uses an iterative-deeping Negascout search with hashing for game search. For positional evaluation it uses a pattern based evaluator (using standard lines, diagonals and triangle for corner) with pattern weights estimated by running a gradient descent method on a large set of expert played games. It also has a perfect end-game solver (which as previously noted is somewhat imperfect due to hashing at the moment ;). I am in the process of a total rewrite of a much stronger version of Cascade, stay tuned on that.

Back to Projects page

Back to projects.