Parallel search of narrow game trees

One of the key determinants of a game playing program’s strength is the depth of the game tree search. Therefore, researchers have turned to parallelism to search deeper trees in the same amount of real time. Tree decomposition algorithms extract parallelism by creating split nodes, where the subtrees rooted at the node are searched concurrently. If the game trees are narrow, then the degree of parallelism offered by the low branching factor may be insufficient to keep all the parallel processors busy, resulting in starvation and poor speedups. Chinook is a checkers (8 x 8 draughts) playing program developed at the University of Alberta. For the August 1992, Man Versus Machine World Draughts Championship match between Chinook and Dr.ּMarion Tinsley, a parallel Chinook, or ParaChinook, was developed. This thesis describes the parallelization of Chinook’s Alpha-Beta search. The initial implementation of ParaChinook was based on the Principal Variation Splitting (PVSplit) algorithm, developed by computer chess researchers. However, chess game trees have an average branching factor of 35 to 40, whereas checkers game trees have an average branching factor of 2.84, which is over an order of magnitude smaller. PVSplit exhibits high levels of starvation on the narrow checkers game trees, therefore Principal Variation Frontier Splitting (PVFSplit) is developed. PVFSplit attempts to create more parallel work by allowing multiple split nodes in a variation splitting framework. Although, PVFSplit improves the speedup by 52% (with 16 searchers) compared to PVSplit, the parallel performance is still low in absolute terms. The parallel performance of both PVSplit and PVFSplit is evaluated using a test suite of 20 positions and running on a BBN TC2000 shared memory multiprocessor. The issues of starvation and straggler processes are discussed, quantified and addressed. The addition of load balancing code to deal with stragglers further improves the speedup. However, it is concluded that any PVSplit-based algorithm will suffer from poor speedups on the narrow checkers game trees. In light of this, some ideas for a future version of ParaChinook are discussed.

[1]  Jonathan Schaeffer,et al.  Experiments in Search and Knowledge , 1986, J. Int. Comput. Games Assoc..

[2]  Ken Thompson,et al.  Retrograde Analysis of Certain Endgames , 1986, J. Int. Comput. Games Assoc..

[3]  Jonathan Schaeffer,et al.  Experiments in Distributed Game-Tree Searching , 1987, J. Int. Comput. Games Assoc..

[4]  Jonathan Schaeffer,et al.  The History Heuristic and Alpha-Beta Search Enhancements in Practice , 1989, IEEE Trans. Pattern Anal. Mach. Intell..

[5]  Donald E. Knuth,et al.  The Solution for the Branching Factor of the Alpha-Beta Pruning Algorithm , 1981, ICALP.

[6]  A. L. Samuel,et al.  Some studies in machine learning using the game of checkers. II: recent progress , 1967 .

[7]  Peter W. Frey,et al.  Chess Skill in Man and Machine , 1984, Springer New York.

[8]  Judea Pearl,et al.  Asymptotic Properties of Minimax Trees and Game-Searching Procedures , 1980, Artif. Intell..

[9]  Gerard Maurice Baudet,et al.  The design and analysis of algorithms for asynchronous multiprocessors. , 1978 .

[10]  Arthur L. Samuel,et al.  Some Studies in Machine Learning Using the Game of Checkers , 1967, IBM J. Res. Dev..

[11]  John Philip Fishburn Analysis of speedup in distributed algorithms , 1984 .

[12]  T. Anthony Marsland,et al.  Relative Efficiency of Alpha-Beta Implementations , 1983, IJCAI.

[13]  T. Anthony Marsland,et al.  Parallel Search of Strongly Ordered Game Trees , 1982, CSUR.

[14]  Jonathan Schaeffer,et al.  Multiprocessor tree-search experiments , 1986 .

[15]  John P. Fishburn,et al.  Improved Speedup Bounds for Parallel Alpha-Beta Search , 1983, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[16]  K. Thompson,et al.  BELLE: chess hardware , 1988 .

[17]  Fred Popowich,et al.  Parallel Game-Tree Search , 1985, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[18]  Jonathan Schaeffer Man Versus Machine: The Silicon Graphics World Checkers Championship , 1992 .

[19]  R M Hyatt,et al.  Cray Blitz , 1986 .

[20]  James John Gillogly,et al.  Performance analysis of the technology chess program. , 1978 .

[21]  Oliver Vornberger,et al.  Distributed game tree search , 1990 .

[22]  Monty Newborn,et al.  A parallel search chess program , 1985, ACM '85.

[23]  Bruce W. Suter,et al.  A parallel alpha/beta tree searching algorithm , 1989, Parallel Comput..

[24]  E. W. Felten,et al.  Chess on a hypercube , 1988, C3P.

[25]  Jonathan Schaeffer,et al.  Computers, Chess, and Cognition , 2011, Springer New York.

[26]  Alexander Reinefeld,et al.  An Improvement to the Scout Tree Search Algorithm , 1983, J. Int. Comput. Games Assoc..

[27]  Jonathan Schaeffer,et al.  A World Championship Caliber Checkers Program , 1992, Artif. Intell..

[28]  Tony Marsland,et al.  COMPUTER CHESS AND SEARCH , 1992 .

[29]  Romeo Çollaku,et al.  Deep thought , 1991, Nature.

[30]  Jonathan Schaeffer,et al.  Distributed Game-Tree Searching , 1989, J. Parallel Distributed Comput..

[31]  Burkhard Monien,et al.  A Fully Distributed Chess Program , 1991 .

[32]  Xian-He Sun,et al.  Toward a better parallel performance metric , 1991, Parallel Comput..

[33]  K. Thompson,et al.  COMPUTER CHESS STRENGTH , 1982 .

[34]  Ivan Bratko,et al.  THE BRATKO-KOPEC EXPERIMENT: A COMPARISON OF HUMAN AND COMPUTER PERFORMANCE IN CHESS , 1982 .

[35]  James R. Slagle,et al.  Experiments With Some Programs That Search Game Trees , 1969, JACM.

[36]  Oliver Vornberger,et al.  Distributed Game-Tree Search , 1989, J. Int. Comput. Games Assoc..

[37]  Jonathan Schaeffer,et al.  Man versus Machine for the World Checkers Championship , 1993, J. Int. Comput. Games Assoc..

[38]  Feng-hsiung Hsu Large scale parallelization of alpha-beta search: an algorithmic and architectural study , 1989 .

[39]  Selim G. Akl,et al.  Design, Analysis, and Implementation of a Parallel Tree Search Algorithm , 1982, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[40]  Carl Ebeling,et al.  Pattern Knowledge and Search: The SUPREM Architecture , 1989, Artif. Intell..