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.
A general game-playing program must know the rules of the particular playing game. These rules are:(1) an algorithm indicating the winning state;(2) an algorithm enumerating legal moves. A move gives a set of changes from the present situation.There are two means of giving these rules:(1) We can write a subroutine which recognizes if we have won and another which enumerates legal moves. Such a subroutine is a black box giving to the calling program the answer: 'you win' or 'you do not win', or the list of legal moves. But it cannot know what is in that subroutine.(2) We can also define a language in which we describe the rules of a game. The program investigates the rules written with this language and finds some indications to improve its play. Artificial Intelligence and Heuristic Programming Edinburgh University Press
The work on automatic chess therefore started when men, such as the musician-chess player Philidor (1749), formulated general principles of play. Then the decision of whether to regard that position, 7r, as an endpoint, when analysing a position, no, depends on the following considerations: (a) The depth (i.e., the number of moves ahead) of the position From the point of view of strict logic, chess is a game of pure skill, but it is a physical impossibility to avoid some degree of chance. Closely allied to the problem of selecting endpoints on an analysis tree, is the selection of which moves to discard without analysis. This problem is discussed in Appendix H. Hence, from the point of view of the Borel-von Neumann theory of games, chess is'trivial' (see Appendix A).
Much of classical and contemporary analysis stems from this source: iteration, ergodic theory, the theory of semigroups , the theory of branching processes , random transformations at fixed times and deterministic transformations at stochastic times [3, 4]. Let us now describe a dynamic programming process of discrete, deterministic type. This is an extremely important observation since it enables us to employ a type of approximation not available in classical analysis, approximation in policy space. A particular class of problems of this type involves ordinary and partial differential operators and is related both to the theory of differential inequalities inaugurated by Caplygin and Lyapunoy [15, 16], and to the modern maximum principles of partial differential equations.