Computers, Chess and Cognition
Let's now look at some quotes from "Computers, Chess and Cognition"
by Marsland and Schaeffer:
Claude Shannon's 1950 paper "Programming a Computer for Playing
Chess" served as the foundation for many early chess programs:
p.3 "Shannon's inspirational work was read and re-read by computer-chess
enthusiasts, and provided a basis for most early chess programs. Despite the passage of time, that paper is still worthy of
study..."
The evaluation function is a critical component of a chess-playing
computer program. However, there are a number of problems designing and implementing an evaluation function. Interestingly,
complicated evaluation functions seem to have failed in the past because a deep search (combined with a simple evaluation
function) has produced good results.
p.152-3 "Although the exact meaning of the heuristic values estimated
by the static evaluation function for chess is not really clear, we will sketch how these functions are or should be constructed. [JLJ
- An amazing sentence - read it again] ...Making the evaluator too slow, the speed of the search is reduced significantly,
which has consequences for the quality of tactical moves in chess. Making the evaluator too fast may mean that inadequate
knowledge is present, influencing the quality of positional moves. ...It is important to realize that today's evaluation
functions for chess include almost exclusively static features. The features on the current board are relevant, while the
dynamic aspects of how things will develop from there are usually ignored (sometimes with the exception of a static analysis
of exchanges). More complicated attempts have failed because of the expense of the computations as well as the large error
rate compared to deeper search."
It seems that the two groups of people commonly found in the computer
chess scene are not the types that like to write technical papers about the subject:
p. 228 "My next few remarks concern the computer-chess community.
By and large, they come in two flavors: sportsmen and businessmen (makers of commercial chess machines). Neither group is
primarily motivated to produce scientific papers explaining how the results were achieved and how others might build upon
them for further improvement."
Marsland and Schaeffer note that some computer chess programs play
better when chess-specific knowledge is removed. What this means is that the benefit from the knowledge did not outweigh the
loss of search depth required to implement the knowledge:
p.261 "It is amazing how far computer-chess programs have progressed
using minimal chess knowledge. In fact, it is not uncommon to observe better performance in a program with less knowledge."
There should be more research in the areas of knowledge acquisition
for chess software:
p.262 "computer chess programs have been stymied by the knowledge
acquisition bottleneck... Given the enormity of the task of acquiring, representing, and using knowledge, why haven't more
computer-chess researchers tackled the problem? ...The majority of computer-chess research is on search algorithms, with the
issues of knowledge and the search-knowledge interaction largely ignored."
Acquiring knowledge is a tough problem for a chess-playing computer
program. Due to pressures on chess software developers to produce a measurably better product each year, there is a reluctance
to do pure research in areas that have an uncertain short-term payoff in terms of performance:
p.263 "As a scientist, one searches for the solution to difficult
problems, even if success may take many years. How does one resolve this with annual spectacles [world championships] where
one has an obligation to have an improved program each year? This encourages small, short-term projects whose results will
have a direct bearing on program performance. Long-term research projects, the difficult problems that remain to solved, get
neglected as being long shots that are unlikely to help program performance... Many chess programmers choose short-term gains
at the expense of long-term success."