Programing a Computer to Play Chess

Philosophical Magazine, Ser.7, Vol. 41, No. 314 - March 1950.
XXII. Programming a Computer for Playing Chess1
By CLAUDE E. SHANNON
Bell Telephone Laboratories, Inc., Murray Hill, N.J.2
[Received November 8, 1949]
1. INTRODUCTION
This paper is concerned with the problem of constructing a computing routine or
"program" for a modern general purpose computer which will enable it to play chess.
Although perhaps of no practical importance, the question is of theoretical interest, and it
is hoped that a satisfactory solution of this problem will act as a wedge in attacking other
problems of a similar nature and of greater significance. Some possibilities in this
direction are: -
(1)Machines for designing filters, equalizers, etc.
(2)Machines for designing relay and switching circuits.
(3)Machines which will handle routing of telephone calls based on the individual
circumstances rather than by fixed patterns.
(4)Machines for performing symbolic (non-numerical) mathematical operations.
(5)Machines capable of translating from one language to another.
(6)Machines for making strategic decisions in simplified military operations.
(7)Machines capable of orchestrating a melody.
(8)Machines capable of logical deduction.
It is believed that all of these and many other devices of a similar nature are possible
developments in the immediate future. The techniques developed for modern electronic
and relay type computers make them not only theoretical possibilities, but in several cases
worthy of serious consideration from the economic point of view.
Machines of this general type are an extension over the ordinary use of numerical
computers in several ways. First, the entities dealt with are not primarily numbers, but
rather chess positions, circuits, mathematical expressions, words, etc. Second, the proper
procedure involves general principles, something of the nature of judgement, and
considerable trial and error, rather than a strict, unalterable...