8 Tree Searching Algorithms: H. Kaindl
8 Tree Searching Algorithms: H. Kaindl
8 Tree Searching Algorithms: H. Kaindl
H. Kaindl
8.1 Introduction
Much of the work on search in artificial intelligence deals with trees. These are
usually defined implicitly by a so-called problem representation, and the process
of searching for a solution of the given problem can be represented by a search
tree (more generally an acyclic graph, because of transpositions). For instance,
in games like chess, the board positions correspond to nodes (or vertices) and the
moves to directed arcs. This chapter reviews and critiques search algorithms for
two-player game trees. The emphasis is on those algorithms which are currently
most useful in computer-chess practice.
8.2 Background
While the game of chess could be solved in principle, this is not possible within
any practical time and space limits. Hence we have to make decisions for a
"good" next move without knowing the game theoretic values of the positions
resulting from the legal moves available from the current position. These
decisions usually have to be based on heuristic estimates, which are normally
represented simply by point values ranging over an interval of integer numbers
(or, for theoretical purposes, real numbers). Given that the game theoretic
values are win, loss and draw, what is the exact meaning of these heuristic
approximations?
Most of the interpretations of heuristic values in the AI literature are rather
vague. Such a value estimates the situation for one player according to its
quality (Winston 1977), worth (Nilsson 1980), merit, strength or probability to
win (pearl 1984). While the last of these interpretations is the most concrete
one, it is also rather problematic (Horacek, Kaindl and Wagner 1987). Palay
(1983) presents an interpretation as an approximation of a delphic value. This
would be supplied by an oracle using the same scale as the evaluation function
that is used to estimate the values heuristically.
Regardless of the interpretation of these point values, their assignment to
the game situations induces a partial ordering. Of course, it is conceptually
questionable to represent everything about the value of a position by a single
number, especially since there is no information about the reliability of the
estimates involved. Here we will also sketch approaches using intervals and
8.2.1 Minimaxing
In practice, the most successful approach for backing up point values is
minimLlXing. It can be considered a generalization of the game theoretic
relationship between accurate values, possibly even for an infinite set of values.
Although these values are normally heuristic, they are used as if they were
accurate.
The key assumption is that in a game between two players, MAX and MIN,
MAX on move always selects the mLlXimum of the values of his children nodes,
whereas MIN takes the minimum. Applying this rule recursively over the entire
game tree, a minimax value can be computed.
Instead of looking at all the values in the tree from one side's point of view,
it is usual to assume that the static evaluationfunctionf(n) represents its value
from the viewpoint of the side on move in the evaluated position. Hence, the
following definition of the back-up rule uses this negamax formulation to
compute the value MM of a tree:
(1) MM (n) := f (n) forleaf node n , and
(2) MM (n) := maxi (-MM (ni» for all children ni of n.
Figure 8.1 shows a simple example of how these values are propagated in a tree.
The path connecting the root with the leaf node whose static value becomes the
minimax value is called the principal variation.
Usually, the primary interest is not the minimax value of the tree itself, but
rather the move to be selected at the root. In accordance with this back-up rule,