On parallel evaluation of game trees

We present parallel algorithms for evaluating game trees. These algorithms parallelize the "left-to-right" sequential algori thm for evaluating A N D ] O R trees and the a-fl pruning procedure for evaluating MIN/MAX trees. We show that , on every instance of a uniform tree, these parallel algorithms achieve a linear speed-up over their corresponding sequential algorithms, if the number of processors used is close to the height of the input tree. These are the first non-trivial deterministic speed-up bounds known for the "left-to-right" algori thm and the a-j3 pruning procedure. 1 I n t r o d u c t i o n A game tree is a finite rooted ordered tree in which each leM has a real value, the root is a MAX-node, the internal nodes at odd distance from the root are MINnodes and the internal nodes at even distance from the root are MAX-nodes. A Boolean game tree is a game tree in which the value on each leaf is 1 or 0, and is called an A N D / O R tree. The value of a MAX-node (MINnode) is recursively defined as the maximum (minimum) of the values of its children. The value of node v is denoted by val(v). The value off a game ~ree is the value of its root. The evaluation problem is to determine the value of a game tree from the given values on the leaves. Game trees tradit ionally occur in the game-playing applications of AI such as chess, and game tree evaluation is a central problem in AI. The evaluation problem for A N D / O R trees is closely related to the problem of efficiently executing theorem-proving algorithms for the *This work was supported by NSF Grant DCR-8411954 and by the International Computer Science Institute, Berkeley, CMifornia. Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. © 1989 ACM 0-89791-323-X/89/0006/0409 $1.50 propos i t iona l calculus based on backward-chaining deduction. The best known heuristic in practice for evaluating game trees is the a-fl pruning procedure [5]. In the case of A N D / O R trees, a similar but simpler "left-toright" algorithm can be used instead. Both algorithms are effective sequential search methods. Within certain models of computat ion it has been shown [7, 8, 9, 10] tha t these two algorithms are optimal among all the sequential game-tree evaluation algorithms for evaluating uniform MIN/MAX trees and A N D / O R trees, respectively. There is a great deal of interest in the prospect of speeding up game-playing programs and theoremproving programs through parallel computations, and consequently there has been a considerable research effort on parallel game-tree search over the past decade. Early studies focused on identifying different methods of conducting the a-/3 pruning procedure in parallel [2, 4]. More recent work has focused on experimental studies of parallel game-tree search methods [6, 11, 3]. Apart f rom a recent paper [1], which is discussed in Section 6, there has been little theoretical study of parallel gametree evaluation algorithms. This paper is a theoretical s tudy of parallel game-tree evaluation algorithms. We shall base our s tudy on the leaf-evaluation model in which the unit of computat ional work is the evaluation of a leaf, all other computat ion being considered free. The basic step of an algorithm in this model is to evaluate a set of leaves of the input tree simultaneously; and the algori thm decides its next step from the values observed at previous steps. The running t ime of an algori thm is the number of basic steps it requires to determine the value of the root. The number of processors used in an algori thm is the maximum number of leaves evaluated at one step during the execution of the algorithm. An algori thm is parallel if it uses more than one processor; otherwise, it is sequential. Our pr imary interest in a parallel algori thm is its speed-up factor over the sequential ones as a function of the number of processors used. The leaf-evaluation model, however, fails to reflect