The technology chess program☆
Abstract
A chess program has been developed which plays good chess (for a program) using a very simple structure. It is based on a brute force search of the move tree with no forward pruning, using material as the only terminal evaluation function, and using a limited positional analysis at the top level for a tiebreak between moves which are materially equal. Because of the transparent structure, this program is proposed as a technological benchmark for chess programs which will continue to improve as computer technology increases.
References (3)
- W.A Wulf
Cited by (39)
A Prolog technology theorem prover: a new exposition and implementation in Prolog
1992, Theoretical Computer ScienceA Prolog technology theorem prover (PTTP) is an extension of Prolog that is complete for the full first-order predicate calculus. It differs from Prolog in its use of unification with the occurs check for soundness, depth-first iterative-deepening search instead of unbounded depth-first search to make the search strategy complete, and the model elimination reduction rule that is added to Prolog inferences to make the inference system complete. This paper describes a new Prolog-based implementation of PTTP. It uses three compile-time transformations to translate formulas into Prolog clauses that directly execute, with the support of a few run-time predicates, the model elimination procedure with depth-first iterative-deepening search and unification with the occurs check. Its high performance exceeds that of Prolog-based PTTP interpreters, and it is more concise and readable than the earlier Lisp-based compiler, which makes it superior for expository purposes. Examples of inputs and outputs of the compile-time transformations provide an easy and precise way to explain how PTTP works. This Prolog-based version makes it easier to incorporate PTTP theorem-proving ideas into Prolog programs. Some suggestions are made on extensions to Prolog that could be used to improve PTTP's performance.
A generalised quiescence search algorithm
1990, Artificial IntelligenceThis paper describes how the concept of a null move may be used to define a generalised quiescence search applicable to any minimax problem. Experimental results in the domain of chess tactics show major gains in cost effectiveness over full-width searches, and it is suggested that null-move quiescence may be almost as widely useful as the alpha-beta mechanism. The essence of the mechanism is that null moves give rise to bounds on position values which are more reliable than evaluations. When opposing bounds touch, they create a single value which is more reliable than ordinary evaluations, and the search is terminated at that point. These terminations are prior to any alpha-beta cutoffs, and can lead to self-terminating searches.
Computer Chess: Ten Years of Significant Progress
1989, Advances in ComputersThe chapter describes the technical developments that are responsible for the present strong level of computer chess. Since 1979, there have been a number of new developments including special-purpose hardware, parallel search on multiprocessing systems, windowing techniques, and increased use of transposition tables. The chapter describes these advances. It reviews various search techniques that improved chess programs: the minimax algorithm; depth-first search and the basic data structures for chess trees; the alpha-beta algorithm; move generation, the principal continuation, and the killer heuristic; pruning techniques and variable depth quiescence search; transposition tables; iterative deepening; windows, parallel search techniques; special-purpose hardware; and time control and thinking on the opponent's time. The chapter also presents a brief history of computer chess play and relation between computer speed and program strength—faster computers play better chess. The chapter also illustrates a sample computer chess game played between DEEP THOUGHT 0.02 and HITECH in the third round of the ACM's 19th North American Computer Chess Championship in Orlando, Florida in November 1988.
Generalization of alpha-beta and SSS* search procedures
1986, Artificial IntelligenceSearch procedures, such as alpha-beta and SSS∗, are used to solve minimax game trees. With a notable exception of B∗, most of these procedures assume the static model, i.e., the computation is done solely on the basis of static values given to terminal nodes. The first goal of this paper is to generalize these to the informed model, which permits the usage of heuristic information pertaining to nonterminal nodes, such as upper and lower bounds, and estimates, of the exact values realizable from the corresponding game positions. We provide a general framework, within which various conventional procedures including alpha-beta and SSS∗ can be naturally generalized to the informed model.
For the static model, it is known that SSS∗ surpasses alpha-beta in the sense that it explores only a subset of the nodes which are explored by alpha-beta. The second goal of this paper is, assuming the informed model, to develop a precise characterization of the class of search procedures that surpass alpha-beta. It turns out that the class contains many search procedures other than SSS∗ (even for the static model). Finally some computational comparison among these search procedures is made by solving the 4 × 4 Othello game.
Using knowledge to control tree searching
1982, Artificial IntelligencePARADISE (PAttern Recognition Applied to DIrecting SEarch) uses a knowledge-based analysis and little searching to find the correct move in chess middle game positions. PARADISE's search does not have a depth limit or any other artificial effort limit. This paper describes the methods used to constrain the search. The ideas of using different strategies to show that one move is best and using ranges to express the values of moves (first developed in Berliner's B∗ search), are extended and clarified. PARADISE combines these ideas with the use of plans, a threshold, and various measures of possibility. Examples are presented, including one in which PARADISE uses an indirect strategy to prove that one move is best without finding the winning line (a first for a chess program).
Using patterns and plans in chess
1980, Artificial IntelligenceThe purpose of this research is to investigate the extent to which knowledge can replace and support search in selecting a chess move and to delineate the issues involved. This has been carried out by constructing a program, PARADISE (PAttern Recognition Applied to DIrecting SEarch), which finds the best move in tactically sharp middle game positions from the games of chess masters. It encodes a large body of knowledge in the form of production rules. The actions of the rules post concepts in the data base while the conditions match patterns in the chess position and data base. The program uses the knowledge base to discover plans during static analysis and to guide a small tree search which confirms that a particular plan is best. The search is “small” in the sense that the size of the search tree is of the same order of magnitude as a human master's search tree (tens and hundreds of nodes, not thousands to hundreds of thousands as in many computer chess programs).
Once a plan is formulated, it guides the tree search for several ply and expensive static analyses (needed to analyze a new position) are done infrequently. PARADISE avoids placing a depth limit on the search (or any other artificial effort limit). By using a global view of the search tree, information gathered during the search, and the analysis provided by the knowledge base, the program produces enough terminations to force convergence of the search. PARADISE has found combinations as deep as 19 ply.
- ☆
This work was supported in part by a RAND Corporation Fellowship and in part by the Advanced Research Projects Agency of the Office of the Secretary of Defense (F44620-70-C-0107) and is monitored by the Air Force Office of Scientific Research. This document has been approved for public release and sale; its distribution is unlimited.