Mind Games

Supervisor: David Watt

Mind games are games of pure skill, allowing precise calculation of the consequences of particular moves. (This definition excludes games of chance or imperfect knowledge, such as Bridge, Poker, and Backgammon.)

Computers can be programmed to play mind games to a high standard. For a trivial mind game such as Tic-Tac-Toe (Noughts and Crosses), it is not hard for a computer to play the game perfectly. For a more complex mind game such as Go Moku, Checkers (Draughts), Chess, or Go, play at a modest standard is not hard to achieve, but play at a master standard requires subtlety and lots of computing power.

All mind-game programs use the same basic approach, a game tree. The root node of the game tree represents the current board state, in which it is the computer player's turn to play a move. The remaining nodes of the game tree represent board states that can be reached after 1, 2, ..., p moves from the current board state (where p is an integer chosen in advance, typically 4 or 6). The program evaluates the board state at each leaf node, computing a score that reflects the 'goodness' of the board state from the computer player's point of view. Finally the program chooses the move that leads to the best achievable board state, assuming that the opponent will choose the best possible move in reply.

The key components of a mind-game program are:

Devising an effective evaluator is particularly difficult, and demands insight into the mind game.

The aim of this project is to develop a program that plays one of the more complex mind games, at least to a modest standard. A good user interface is essential.

Note: The mind game will be chosen by the student and supervisor jointly. This project may be undertaken by more than one student, provided that each student chooses a different mind game.

Reference

D.N.L. Levy (ed.), Computer Games I and II (1988).