Play free online chess, correspondence and blitz chess against a global community of players. Chess tournaments, chess clubs, chess championships, chess database, chess forums. Please turn on java-script in your browser.
Online Chess | Sign Up
www.redhotpawn.com - Play Online Chess
Play Online Chess
Start Game
Public Chess Games
Chess Forums
Player Tables
Chess Tournaments
Chess Ladders
Chess Clans
Chess Sieges
play blitz chesschess clubs

Imagine that a position is assigned a value based on its quality from the point of view of the side to move. A positive value would indicate that the side on the move is winning, a negative value that they are losing; a zero value would indicate that neither side has the advantage.

If an evaluation function exists that will provide such a value for any given position then the best move from any position can be assumed to be the move that results in the position with the lowest value (the worst position for the opponent).

Consider the game tree below. Each node represents a game position and each child node represents a position that can result from its parent. The operators in the tree are the legal moves from each position.


Figure 1. A game tree of depth 2

If the evaluation function is applied to each of the terminal nodes the value of the non-terminal nodes can be determined by assuming the following

  • The value of a position is the value of the best move that can be made from it
  • The value of a move is the negative of the value of the position that results from it
In figure 1, the value of -3 at node a is based on the values at nodes b and c. The moves that result in the positions at nodes b and c are valued at -3 and -4 respectively (the negated values of the positions that result from them). Node a is given the value of the best available move from that position (the move that results in the position of node b). Figure 2 shows the procedure applied throughout a game tree of depth 3.


Figure 2 The negamax procedure applied to a game tree of depth 3

The best move from the original position is whichever move resulted in the root node being valued at +6. In this case that move was the one that resulted in the position at node f, the worst position for the opponent.