An optimization of alpha-beta search

Most computer programs that play games like chess choose moves by searching a lookahead tree of possible continuations. After this search computes the minimax values of the root's subtrees, the subtree with maximum value is chosen as the program's move. The alpha-beta algorithm speeds up this search by pruning irrelevant branches from the tree. In this note we present a slight modification of the alpha-beta algorithm that can further reduce the size of the root's last subtree. We assume that the reader is familiar with the negamax version of the alpha-beta algorithm as presented in [i]: