Computer Chess: Algorithms and Heuristics for a Deep Look into the Future

In this paper we will describe some of the basic techniques that allow computers to play chess like human grandmasters. In the first part we will give an overview about the sequential algorithms used. In the second part we will describe the parallelization that has been developed by us. The resulting parallel search algorithm has been used successfully in the chess program Zugzwang even on massively parallel hardware. In 1992 Zugzwang became Vize World Champion at the Computer Chess Championships in Madrid, Spain, running on 1024 processors. Moreover, the parallelization proves to be flexible enough to be applied successfully to the new Zugzwang program, although the new program uses a different sequential search algorithm and runs on a completely different hardware.

[1]  Monty Newborn,et al.  How Computers Play Chess , 1990, J. Int. Comput. Games Assoc..

[2]  Michael Buro,et al.  ProbCut: An Effective Selective Extension of the α-β Algorithm , 1995, J. Int. Comput. Games Assoc..

[3]  Peter Mysliwietz Konstruktion und Optimierung von Bewertungsfunktionen beim Schach , 1994 .

[4]  Claude E. Shannon,et al.  Programming a computer for playing chess , 1950 .

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

[6]  Hans Berliner The B* Tree Search Algorithm: A Best-First Proof Procedure††This research was sponsored by the Defense Advanced Research Projects Agency (DOD), ARPA Order No. 3597, monitored by the Air Force Avionics Laboratory Under Contract F33615–78–C–1551. , 1981 .

[7]  Ingo Althöfer A Parallel Game Tree Search Algorithm with a Linear Speedup , 1993, J. Algorithms.

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

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

[10]  Alex Szabo,et al.  The Technology Curve Revisited , 1988, J. Int. Comput. Games Assoc..

[11]  Murray Campbell,et al.  Singular Extensions: Adding Selectivity to Brute-Force Searching , 1990, Artif. Intell..

[12]  David A. McAllester Conspiracy Numbers for Min-Max Search , 1988, Artif. Intell..

[13]  H. Jaap van den Herik,et al.  Replacement Schemes for Transposition Tables , 1994, J. Int. Comput. Games Assoc..

[14]  Donald F. Beal,et al.  Quantification of Search-Extension Benefits , 1995, J. Int. Comput. Games Assoc..

[15]  Donald F. Beal,et al.  Multiple Probes of Transposition Tables , 1996, J. Int. Comput. Games Assoc..

[16]  A. Elo The rating of chessplayers, past and present , 1978 .

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

[18]  Jean-Christophe Weill The ABDADA Distributed Minimax-Search Algorithm , 1996, J. Int. Comput. Games Assoc..

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

[20]  Jos W. H. M. Uiterwijk The Countermove Heuristic , 1992, J. Int. Comput. Games Assoc..

[21]  Burkhard Monien,et al.  Distributed Game Tree Search on a Massively Parallel System , 1992, Data Structures and Efficient Algorithms.

[22]  F. Warren Burton,et al.  Alpha-beta search on virtual tree machines , 1988, Inf. Sci..

[23]  Judea Pearl,et al.  Heuristics : intelligent search strategies for computer problem solving , 1984 .

[24]  H. Jaap van den Herik,et al.  Replacement Schemes and Two-Level Tables , 1996, J. Int. Comput. Games Assoc..

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

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

[27]  Vipin Kumar,et al.  Parallel Algorithms for Machine Intelligence and Vision , 2011, Symbolic Computation.

[28]  Tony Warnock,et al.  Search Tables in Computer Chess , 1988, J. Int. Comput. Games Assoc..

[29]  Richard M. Karp,et al.  On parallel evaluation of game trees , 1989, SPAA '89.

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

[31]  Burkhard Monien,et al.  Studying overheads in massively parallel MIN/MAX-tree evaluation , 1994, SPAA '94.

[32]  Murray Campbell,et al.  Experiments with the Null-Move Heuristic , 1990 .

[33]  Selim G. Akl,et al.  The principal continuation and the killer heuristic , 1977, ACM '77.

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

[35]  Richard E. Korf,et al.  Distributed Tree Search and Its Application to Alpha-Beta Pruning , 1988, AAAI.

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

[37]  Bradley C. Kuszmaul,et al.  The STARTECH Massively-Parallel Chess Program , 1995, J. Int. Comput. Games Assoc..

[38]  E. Rowland Theory of Games and Economic Behavior , 1946, Nature.

[39]  I. D. Hill,et al.  Faster than Thought. A Symposium on Digital Computing Machines , 1972 .

[40]  Jesfis Peral,et al.  Heuristics -- intelligent search strategies for computer problem solving , 1984 .

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

[42]  Richard Chamberlain,et al.  Third conference on hypercube concurrent computers and applications , 1988, Parallel Comput..

[43]  Monty Newborn,et al.  Unsynchronized Iteratively Deepening Parallel Alpha-Beta Search , 1988, IEEE Trans. Pattern Anal. Mach. Intell..

[44]  Rainer Feldmann,et al.  Game Tree Search on Massively Parallel Systems , 1993 .

[45]  John P. Fishburn,et al.  Parallelism in Alpha-Beta Search , 1982, Artif. Intell..

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

[47]  Albert L. Zobrist,et al.  A New Hashing Method with Application for Game Playing , 1990 .

[48]  Christian Donninger,et al.  Null Move and Deep Search , 1993, J. Int. Comput. Games Assoc..

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

[50]  Ulf Lorenz,et al.  Controlled Conspiracy-Number Search , 1995, J. Int. Comput. Games Assoc..