Solution Trees as a Basis for Game Tree Search
Arie de Bruin, Wim Pijls, Aske Plaat
Erasmus University, Department of Computer Science
P.O.Box 1738, 3000 DR Rotterdam, The Netherlands
[email protected]
September 20, 1994
Abstract
A game tree algorithm is an algorithm computing the minimax value of the root of
a game tree. Two wellknown game tree search algorithms are alphabeta and SSS*.
We show a relation between these two algorithms, that are commonly regarded as being
quite different.
Many algorithms use the notion of establishing proofs that the game value lies
above or below some boundary value. We show that this amounts to the construction
of a solution tree. We discuss the role of solution trees and critical trees [KM75] in
the following algorithms: Principal Variation Search, alphabeta, and SSS*. A general
procedure for the construction of a solution tree, based on alphabeta and NullWindow
Search, is given. Furthermore three new examples of solution tree basedalgorithms
are presented, which surpass alphabeta—i.e., never visit more nodes than alphabeta,
and often less.
Keywords:
Game tree search, alphabeta, SSS*, solution trees.
1
Introduction
In the field of game tree search the alphabeta algorithm has been in use since the 1950’s.
It has proven quite successful, mainly due to the good results that have been achieved by
programs that use it.
No other algorithm has achieved the widespread use in practical
applications that alphabeta has.
This does not mean that alphabeta is the only algorithm for game tree search. Over
the years a number of alternatives have been published. Among these are minimal win
dow algorithms like PVS [CM83, Pea84], ProofNumber Search [AvdMvdH94], BestFirst
Minimax Search [Kor93], and SSS* [Sto79]. The last one, SSS*, has sparked quite some
research activity. This may have been caused in part by the slightly provocative nature of
the title of Stockman’s original paper: “A Minimax Algorithm Better than AlphaBeta?”.
This title alone has provoked a few reactions in the form of papers by Roizen and Pearl (“Yes
and No” [RP83]), and Reinefeld (“A Minimax Algorithm Faster than AlphaBeta” [Rei94]).
In the present paper we investigate the relation between alphabeta, PVS, and SSS*. We
confine ourselves to the basic algorithms, without enhancements like movereordering,
iterative deepening, or transposition tables (see e.g. [CM83, Sch89, ACH90]).
Alphabeta, being a strictly depthfirst algorithm, is generally regarded to be quite
different in nature from bestfirst algorithms like SSS*. We will try to show in this paper
how these algorithms are related.
This paper is also registered as Technical Report EURCS9404
Tinbergen Institute, Erasmus University, and Department of Computer Science, Erasmus University.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
This is the end of the preview.
Sign up
to
access the rest of the document.
 Spring '10
 ABDELSALAM
 Minimax, alphabeta pruning, search tree, solution tree

Click to edit the document details