Copyright (c) 2013 John L. Jerz

Chess Skill in Man and Machine (Frey, 1977)

Home
A Proposed Heuristic for a Computer Chess Program (John L. Jerz)
Problem Solving and the Gathering of Diagnostic Information (John L. Jerz)
A Concept of Strategy (John L. Jerz)
Books/Articles I am Reading
Quotes from References of Interest
Satire/ Play
Viva La Vida
Quotes on Thinking
Quotes on Planning
Quotes on Strategy
Quotes Concerning Problem Solving
Computer Chess
Chess Analysis
Early Computers/ New Computers
Problem Solving/ Creativity
Game Theory
Favorite Links
About Me
Additional Notes
The Case for Using Probabilistic Knowledge in a Computer Chess Program (John L. Jerz)
Resilience in Man and Machine

ccbooks_csimam.gif

From the introduction to Peter Frey's 1977 book "Chess Skill in Man and Machine"
 
 
"Chess is a fascinating game. The rules are clearly defined and yet the game is still complex enough to provide the flavor of a real-world problem. After several centuries of intense study and play, chess continues to challenge the intellect of novice and expert alike. The availability of a rich historical record makes it possible to evaluate chess skill and to analyze different styles of play. For these reasons, chess has become an attractive research environment for studying intellectual skill.
 
...there is a great deal we do not know about human skills. It is also not clear whether machines will eventually be able to solve real problems as effectively as humans. The research on computer chess is a pioneering venture in this regard and our major discovery after 20 years of effort has been that the problem is much more difficult than most people originally believed. This should not be a cause for pessimism however. ...we are finally getting to a level of understanding where we can begin to clearly define the problem. The task ahead is enormous and will not be finished easily or quickly.  ...The journey has only just begun and most of us are eager to get on with the challenge."
 
The author of this review is Ely Bendersky:May 05, 2005
 
Computer chess books are annoyingly rare. There's an abundancy of chess books on the market, ranging from simple moves for kids to full strategic treatises written by the best GMs and chess analysts of the past. There are a lot of AI books that touch the issue of chess, but *real* computer chess books are a precious few.

This is peculiar. Chess is the fruit fly of AI (a beautiful analogy borrowed from this book) - there can be no doubt about that. I would expect more material on this topic, at least during the 80s and 90s when chess-machine development still didn't reach a point of saturation.

Anywayz, to the review...

This is an old book, dated 1975 or so. When this book was written, for example, there was still no Kasparov as a total world champ, no Deep Blue, no Fritz/Junior/Shredder. In short, no programs that routinely challenged the world champions. It shows in the author's opinion. For example, he makes the utterly wrong prediction that "no computer expert chess player will be developed until we gain an understanding of how the human brain works". Palm-based chess players beat any beginner, desktop programs like Junior beat most masters, and on slightly stronger machines (not the Deep Blue monster, but a measly 4-way Xeon) they tie with world champions. The discovery of how the brain works, and especially its application to programming looks still very, very far away.

Being severely outdated, most of this book is good only from a historic view-point really, but it does contain some interesting articles that are relevant today. For instance, a basic analysis of human chess skill, what makes us know how to filter moves, what makes some players better than others, what makes GMs tick. There's also a quite understandable treatment of computer chess basics that could be interesting for beginners.

The description of the best US chess program of that time - CHESS 4.5 (I say US, because a Soviet KAISSA was comparable in strength) is also interesting, though it leaves some brows raised if you're a programmer. The authors of the program wrote it all in about 2-3 functions that closely intertwine - god help the one who'd have to grok the code.

All in all, part of this book make an interesting read if you're a computer chess enthusiast, but don't expect too much from it. I even can't recommend another book, since I'm not aware of good modern books on this topic (maybe it's time to write one ?)

[JLJ - this classic is remarkably insightful and a gold mine for ideas. If anything, read it to understand the history of computer chess in its early days.]

[Human Chess Skill, Charness, p.34-53]
 
p.34-35  Should a computer be more like a man when it comes to playing chess? ...Perhaps the clinching argument in favour of the first line of thought [a more exact simulation of human chess players by computers] is that if your goal is to develop a program which can beat the best human player, a guaranteed solution is to have the program simulate human playing methods almost exactly.
 
p.37 In the final analysis, perception seems to be the key to skill in chess... The difference between two players [when one defeats the other in a game] is usually that one looks at the promising moves, and the other spends his time going down blind alleys.
 
p.52 Computers also use heuristics but often the heuristics are not sensitive enough to the context of the board position."
 
[An Introduction to Computer Chess, Frey, p.54-81]
 
p.61 Our experience in computer chess over the past few years seems to indicate that future chess programs will probably benefit from evaluation functions that alter as the general chess environment changes.
 
[Chess 4.5 - The Northwestern University Chess Program, Slate & Atkins, p.82-118]
 
p.83  If there is anything more useless than yesterday's newspaper, it is last year's chess program... [Chess 3.6, Slate and Atkin's out of date computer program] was an old-fashioned program that depended on the searching of large trees filled with unlikely positions. It was poorly documented and not very modular. The instructions that formed the evaluation function were nearly unreadable. Figuring out how our old program worked was like deciphering hieroglyphics, and adding anything to it was like writing in ancient Sanskrit. One glance at the listing told us that the program had outlived its usefulness. It had taught us how not to write a chess program.
 
p.84  In terms of its organization, CHESS 3.6 was a mess. Not only was it difficult to modify the evaluation function - it was difficult even to find it in the listing of the program.
 
p.85 Data base [section title] For each position in the look-ahead tree, CHESS 3.6 maintained certain data related to that position that were useful for evaluation and move generation. The largest part of this was a table specifying which pieces attacked which squares. This table suffered from two major problems: it had to be regenerated from scratch for each position in the tree, and it had no clean, simple format that might have more general utility. In [CHESS] 4.5, we chose a simple data format which could be used for many purposes, including the construction of attack tables which could be incrementally updated as the tree search stepped from node to node. Incrementally updating means altering only those aspects of positional information that actually change due to a move on the board. ...much time is saved if the changes are computed rather than the entire tables.
 
p.93-94 The CHESS 4.5 evaluation function... adds several easily computable factors together. The dominating term is material. The remaining terms are rules of thumb designed to give the program a vague positional sense. Rather than expressing some theoretically rigorous chess principles, these factors merely improve somewhat over "aimless" moves. The design motive for the evaluator appears to be a self-fulfilling prophecy: we knew that it was going to be primitive and would thus depend heavily on tree searching. To do such deep tree searching would require that the evaluator do its work quickly, and so it wouldn't have the time to do anything clever, and thus would have to be primitive.
 
p.101 On a CDC 6400 CHESS 4.5 processes from 270 to 600 nodes (calls to EVALU8) per second.
 
p.113 The features of its [CHESS 4.5] evaluation function and tree search were determined often by the whim of the moment. Certainly they were not the result of a comprehensive, steady, and coherent research plan designed to exhaust the potential of brute-force tree searching. ... In reality, the program has been a part-time effort, with long stretches of inactivity punctuated by occasional panicky spurts of attention.
 
p.115 We conjecture that the better [the evaluation function] already is, the more it will benefit from a deeper search. If this is true, then we should work on improving the quality of evaluation functions, rather than on small increments in search efficiency... Our present [evaluation function] is blind to the simplest phenomena. The evaluator gladly accepts a position in which the computer is a knight ahead although its king is out in the center of the board surrounded by hostile enemy queens and rooks.
 
p.116-117-118 ...two major problems in chess programming: the difficulty of specifying chess specific knowledge to the program and of representing this knowledge internally... The speculative model of chess-program evolution sketched above is only one of several possible routes to stronger programs. We believe that the common element of any such efforts is that they involve the addition of more intelligence to chess programs. This intelligence may take many different forms... In any case, the whole effort to build more intelligent chess programs is just beginning
 
[Plans, Goals, and Search Strategies for the Selection of a Move in Chess, Church & Church, p.131-156]
 
p.153 A somewhat slower but more general routine, fills a board with values representing the minimum number of moves on an occupied board required by a piece (excluding pawns) to move from a given origin square to any destination square. This calculation is not continued in a given direction when the piece reaches an occupied square or one on which it would be en prise. [JLJ - an interesting idea - can this heuristic be significantly sped up? Alternatively, we would continue the piece movement past these points of constraint to ponder what would happen if/when the constraint is removed.]
 
p.156 It is our belief that the speed and quality of decisions by people and computer programs are improved when goal-oriented rather than trial-and-error procedures are used... We are convinced that if one wants to design a computer program to play chess successfully, one must simulate the thought process of strong players... better programs to play chess can be written if they are based on human thought processes.
 
[The Heuristic Search: An Alternative to the alpha-beta Minimax Procedure, Harris, p.157-166]
 
p.157 It seems clear that at least for the endgame, a more sophisticated board evaluator is needed... it is inevitable that chess programmers must eventually provide a means for representing and using chess knowledge.
 
p.159 The evaluation function is used more heavily by the heuristic search procedure because it directs the search in addition to defining the end values.
 
p.160 our approach is simply to detect the presence of active features, telling the search that it must continue investigating the active section of the tree in order to receive an accurate rating. The search is ordered primarily on the basis of the quiescence measure and secondarily on the basis of the static board evaluation. [JLJ - a great idea. We might have to conceptualize a way to bound this, because it might not be possible to keep going forever in a certain direction until quiescence is reached in all lines.]
 
p.166 Therefore the heuristic search approach allows the program to become adequately informed about the move tree in less time than other search techniques. This reserves as much time as possible to be devoted to the execution of a very sophisticated evaluation function.
 
[Man and Machine: Chess Achievements and Chess Thinking, Hearst, p.167-200]
 
p.170 There is one feature of computer chess that is less often explicitly mentioned as a goal or motivation for those working in the field - perhaps because it seems less defensible or noble than the other goals, at least to programmers working in an academic setting. This aspect concerns the aura of competition that pervades the field. Competition among the designers of different chess programs is keen, perhaps as keen as among human beings competing in serious tourneys [tournaments], and this factor may in some cases account for why technological refinements, discoveries, and gimmicks [JLJ - heuristics? ] are often not well publicized by their originators... The publication of a book like the present volume, composed of contributions from several different groups of workers, may reflect a growing awareness that more cooperation, rather than more competition, will benefit everyone concerned.
 
p.176 In summary, the past achievements of computer chessplayers are relatively small... If any success is to occur, a new or different approach appears to be needed.
 
p.186 Most workers in the field of computer chess agree that one should strive for a program that selects its moves in ways as similar as possible to the manner in which a human being makes such decisions. For example, Newell, Shaw and Simon [74] argued that "any information-processing system - a human, a computer, or any other - that plays chess successfully will use heuristics generically similar to those used by humans." Botvinnik [18] stated that we must make the machine "in our image"; "the program must be modeled on human thought processes."
 
p.193 I agree with de Groot's comment that "incorporating experience into the program, in one form or another, is not only indispensable but is the very core of the simulation problem," whether one is involved with expert-level thinking in chess or in some other field.
 
p.195 Although they will not commit serious blunders, machines rarely are able to produce constructive moves in positions in which direct threats and tactical possibilities are absent. In such positions, a strong chessplayer will attempt to reinforce or eliminate his own weak points, and to take aim at his opponent's; long-range planning is the predominant theme, rather than direct attack. The delicate maneuvers that develop - the "tacking" for small advantages - may seem boring to the uninitiated but are a major aspect of competition between strong human chessplayers.
 
p.198 ...attempts to transfer information gained on prior moves for use in subsequent analysis, seem intuitively worthwhile... [JLJ - but only if this information still applies. ]
 
p. 200 Perhaps our chances of success in producing a computer chessmaster in the twentieth or twenty-first century depend on how much more "man" we can put back into the machine - but this time in psychological [heuristic? - JLJ] rather than physical form.
 
[18] Botvinnik, M. M., "Computers, Chess and Long-range Planning". New York, 1970.
[74] Newell, Shaw, Simon, "Chess-playing programs and the problem of complexity". IBM J. Res. Develop., 1958
 
Quotes from the second edition of this book:
 
[Belle, Condon & Thompson, p.201-210]
 
p.201 During the summer of 1972, one of us (KT) [Ken Thompson] wrote a chess program for the PDP-11 [the predecessor to Belle]. This program played in the 1972 New Jersey Open and also in the 1973 ACM Computer Chess Championship... The all software version of Belle retired to the ignoble position of /usr/games/chess on distributed UNIX machines.
 
p.203 This hardware-software combination [an early version of the Ken Thompson-J.H. Condon computer Belle] competed in the 1977 World Computer Chess Championship held in Toronto. This tournament was the first of the huge main-frame tournaments. It was estimated that the 16 contestants used computers with a combined cost of $40 million, which would rent for $10 thousand per hour.

belle.jpg
Belle

Enter supporting content here