Me and Steven te Brinke participated in the Codecup 2014 AI programming competition, where we got first place. The source code of this player is available here. Thanks to Maks Verver, you can play against our player!
Players alternatingly place stones in empty cells. The goal of the game is to capture the majority of the corners. A corner is captured by creating a Y-structure (examples are shown below), which is a connected group of stones that (1) connects two adjacent edges, and (2) connects to any other edge on the board. Rule 2 ensures that once a corner has been captured by one player, it remains captured by that player. Since a full board has all corners captured and the board has an odd number of corners, no game can end in a draw. As the first player has a strong first-player advantage, there is a swap rule which states that the second player may choose to swap sides in its first move.
This Y-structure captures the top corner.
This Y-structure captures both the top and top-right corner.
This Y-structure also captures both the top and top-right corner.