Othello Genetic Programming Project



This web site provides a description of a genetic programming project for the CS4771 Machine Learning course at Columbia University, Spring 2000.

The system uses genetic programming to train itself to play the game of Othello against various players. Different approaches have been used, including (1) varying the set of basic terminals to have better control over the evaluation criteria, (2) providing individual square control using symmetrical evalutions, (3) after a suitable fitness is achieved against a particular opponent, and because Edgar did not prove itself to be a competent opponent, the genetic program plays against itself to further improve its evaluation measure.

Although a very good Othello player program could be designed using alpha-beta pruning and advanced look-ahead functions, this was not the intention of this project. Rather, the focus is to determine the best evaluation tree from a static board position 'as-is'. The evaluation tree could then be further provided as a board evaluation function to such a look-ahead routine.


Srikant Krishna, Pascal Saremsky


In the Table of Contents section to the left, click on the section you wish to view. Your selection will be displayed in the area you are presently viewing.

Below, you will find a legend explaining the terminals used by the system in its board evaluations.