The task at hand is to develop some sort of board evaluation function for an Othello program. Given a particular board and a player that is deciding to make a move, a number is to be assigned to the board. The characterisitics of this number are:

Initial Board

The initial Othello layout is:

Simplistic Metric

The simplest board evaluations techniques are based on simply preferring certain board positions to others. Due to stability, the corners are generally valued highly. Because the corners are valued highly, the spots right next to them (which will allow your opponent access to the corner) are avoided.

The simplest metric beyond simply counting the number of pieces is to simply rank the positions on the board and compute a score from the occupied positions:

There are a few important issues with this method:

Other Board Metrics

There are generally certain characteristics that are considered pertinent in board evaluations:

Determining Stability

There are several conditions under which a position is stable. The simplest is if four consecutive adjoining cells are stable and the color of the piece being placed then the cell is stable for that color:

The position x is stable because a black piece in none of the positions p will cause x to flip.

Positions are also stable if the four axes going through the position are filled. For example:

For this board, x is stable for both black and white.

It isn't always necessary for all four axes the be filled however. The same position is stable for black in the following situation:

It would be stable for white if one piece were different:

A full determination of stability might be computationally too expensive to compute.

Determining Mobility