Must Have Reading for any Computer Chess Programmer
Unfortunately, there is a
tremendous dearth of good computer chess books. Bob Hyatt keeps
threatening to write the definitive treatment of the subject, but it
hasn't happened yet. Still with the advent of the internet the
situation for the aspiring chess programmer is no where near as dire as
in it was years past, when they were basically on their own. That
said, here are the books and periodicals I've found priceless. I
own and have read all of these books, so the opinions expressed are
mine (any deviations from this policy will be clearly delineated).
The bad news is that most of these books are out of print and
exceedingly hard to find. We computer chess programmers are a
strange breed (most of us will have our ICCA, oops excuse me ICGA,
subscriptions forwarded to our graves), so these books become available
only rarely. And when they do appear they are usually very expensive.
- Chess Skill in Man and Machine
- The Chess Computer Handbook
-
Computer Chess
-
Computer Chess II
-
All the Right Moves: A VLSI Architecture for Chess
-
Computer Chess Compendium
-
Computers Chess and Cognition
- How Computers Play Chess
-
Scalable Search in Computer Chess
- Selected Papers on Analysis of Algorithms (Donald E. Knuth)
Honorable Mentions
- Advances in Computer Chess 2
- Advances in Computer Chess 4
- One Jump Ahead (checkers)
- Behind Deep Blue
- Deep Blue
Periodicals
The only periodical (IMHO) which is a must read is the journal of the International Computer Chess Association.
The name of the organization has changed within the last few years to
International Computer Games Association, which obviously holds less
interest for me. I have to admit though, occasionally some of the
other game articles are interesting. At one time (roughly a
decade ago) you could purchase the entire line of back issues for about
$300 US. I'm not sure if that offer is still available, but if so
I'd recommend taking them up on it.
Chess Skill in Man and Machine (1st and 2nd editions)
Edited by Peter Frey
Published 1977, 1978 by Springer-Verlag, New York Inc
ISBN: 0-387-07957-2
This was the first book I read (while still in High School), that
made
me realize I wasn't alone in my desire to create the first silicon
grandmaster. The chapter on Chess 4.5 by Slate and Atkin is still one
of the best written accounts of early computer chess programming and
the development of the programs back then. Chess 4.5 was the Deep
Blue of its day. Many of the ideas modern programmers take for
granted (for example bitboards) were pioneered by Slate and
Atkin. This book can still occasionally be found at a reasonable
price and you should buy it if you find it. The second expanded
edition of this book has an excellent chapter on Belle. Belle was
in many ways the precursor to Deep Blue and one of the first to employ
specialized hardware to attack the problem.
The Chess Computer Handbook (paperback)
by David Levy
Published 1984, Batsford Ltd.
ISBN: 0 7134 4220 4
Levy is an International Master, that has been involved with computer
chess in one form or another for the last 30+ years. His (and
Monty Newborn's) books have a very uneven quality. Some of them
are quite good, while others were obviously cranked out in a
weekend. At one time he had a very famous bet (£1,250) that
he would not lose a serious match to any computer chess program before
the end of 1978. He won his bet, defeating Chess 4.5 and later
(in 1984) Cray Blitz in a 4-0 sweep.
I picked this up while I was in London, in 1984. It's a thin
book, only 128 pages, but for some reason it remains one of my favorite
books (probably due to the nostalgia factor). It doesn't contain
any ideas that can't be found in more detail in some of the other
books listed here, but if you find it I would recommend buying
it. Levy does provide an interesting discussion on adding
mobility to a chess program. And although, by no means the final
word on the subject, does provide food for thought. When I wrote
this Amazon had one copy someone was willing to
sell for $112 US!! Please, don't pay that for it (I'm not
that sentimental). I told you we were a strange breed.
Computer Chess
by David E. Welsh
Published 1984, Wm. C. Brown
ISBN: 0-697-09900-8
This book can still be found at half-price book stores or on the
internet. It's nowhere near as good as the second edition, but
has an occasional nugget to pass along. Although, it does
provide one of the first explanations of bitboards as used in Chess
4.5, so I suppose I shouldn't be too harsh on it.
Computer Chess II
by David E. Welsh and Boris Baczynskyj
Published 1985, Wm. C. Brown
ISBN: 0-697-09911-3
This one is hard to find and has an almost mythical status among
computer chess programmers (the lack good computer programming books
has elevated some of these books to a perhaps undeserved height).
If you find it on line it will be expensive (more than likely in the
$125 US range), if you find it at a local used book dealer, grab
it. To give you a feel for the book, chapter 1 provides a
detailed description of Cray Blitz, Robert Hyatt's previous program and direct ancestor of Crafty
(Bob's current monster). For the careful reader there are other
useful items as well. For example, I lifted the code for
Reinefeld's negascout
search algorithm directly from this book (pp. 58-59). I modified
it significantly later, but the basic ideas are all here. There
is also a good (albeit short) description of the major programs of the
day as well as some of the internal algorithms and techniques they
employed. If you program a chess engine, you are bound to run at
across at least one idea worth exploring in this section.
All the Right Moves: A VLSI Architecture for Chess
by Carl Ebeling
Published 1987, MIT Press
ISBN: 0-262-05035-8
This was Ebeling's Ph.D. thesis written while he was at Carnegie-Mellon
University in 1986. It details the work he did for Hans Berliner
on Hitech, a dedicated chess playing machine in the tradition of Belle
and a precursor to Deep Thought/Blue (although Deep Thought was closer
in spirit to Belle than to Hitech). An interesting read and still
available on the internet for a reasonable price (for me, anything
under $75 US is a reasonable price!) Ebeling's thesis was an ACM
Distinguished Dissertation for the year of 1986, if that helps you make
up your mind.
Computer Chess Compendium
Edited by David Levy
Published 1988, Springer-Verlag
ISBN: 0-387-91331-9
In this book, considered by many to be Levy's best effort, he brings
together many of the classic paper on computer chess. It reprints
Claude Shannon's famous paper "Programming a Computer for Playing
Chess", which is the seminal paper in the field. It also reprints
the Slate and Atkin paper on Chess 4.5 as well as Ken Thompson's paper
on Belle (Bruce Moreland, the author of Ferret and Gerbil,
claims to have written his first quiescence search using the
pseudo-code Thompson presented in this article). You'll also find
articles and papers by Botvinnik, Hyatt and others here. And if
you've been wondering what razoring is then look no further than
Birmingham and Kent's article "Tree-Searching and Tree-Pruning
Techniques". This book is worth the money for the historic
content alone. I paid $45 US for the hardback copy and considered
it a deal. I've seen it online as cheap as $12 US, so shop around
you may find a bargin.
Computers Chess and Cognition
Edited by T. Anthony Marsland and Jonathan Schaeffer
Published1990, Springer-Verlag
ISBN: 0-387-97415-6
This is an outstanding book that contains a number of excellent
chapters. Like Levy's book this book is an ominbus of papers submitted
by (at the time) leading lights in the field. The first three parts are
excellent and contain a number of interesting ideas that are still
relevant. The chapter on the null-move search is still one of the
best presentations I have seen anywhere. Specifically, the
chapters are:
Part I. Man and Machine
- A Short History of Computer Chess, T.A. Marsland
- Advances in Man-Machine Play, D. Kopec
- 1989 World Computer Chess Championship, J. Shaeffer
- How Will Chess Programs Beat Kasparov?, D.N.L. Levy
Part II. Chess Programs
- Deep Thought, Hsu and company
- Hitech, H.J. Berliner and C. Ebling
- Cray Blitz, R.M. Hyatt, A.E. Gower and H.L. Nelson
Part III. Computer Chess Methods
- Tree Searching Algorithms, H. Kaindl
- Experiments with the Null-Move Heuristic, G. Goetsch and M.S.Cambell
- Problematic Positions and Speculative Play, P. Jansen
- Verifying and Codifying Strategies in a Chess Endgame, I.S. Herschberg and company
- Learning in Bebe, T. Scherzer, L. Scherzer and D. Tjaden
- The Brako-Kopec Test Revisited, T.A. Marsland
Part IV. Computer Chess and A.I.
- Chess as the Drosophila of AI, J. McCarthy
- Brute Force in Chess and Science, D. Michie
- Perspectives on Falling from Grace, M.V. Donskoy and J. Schaeffer
Part V. A New Drosophila for AI?
- The Design and Evolution of Go Explorer, K. Chen and company
- Knowledge Representation and its Refinement in Go, K. Shirayanagi
How Computers Play Chess
by David Levy and Monty Newborn
Published 1991, W.H. Freeman and Company
ISBN: 0-7167-8239-1
This is my favorite Levy book, with the Chess Computer Handbook, listed
above, a close second. This book has an interesting chapter on a
two game exhibition match between Deep Thought and Kasparov (those were
the days when Kasparov seemed unbeatable). The world champion won
both games convincingly, but the chapter is entertaining
nonetheless. This book also has a good description of how to
extract the principal variation from the search. Inexplicably,
it's been my experience, that many authors leave this out, perhaps
feeling (wrongly) that it is too trivial to bother over. Levy
also provides a chapter on how Ken Thompson's endgame tablebases
work. In fact, if memory serves me, Bruce Moreland
used this chapter and its information to write his own tablebase
generator. I also found the chapter 12, entitled "On Writing a
Chess Program" useful in my own humble efforts. Good stuff for
any budding chess programmer.
Scalable Search in Computer Chess
by Ernst A. Heinz
Published 1999, Vieweg
ISBN: 3-528-05732-7
Ernst's book is a more advanced text, and indeed, much of it was
written while he was pursuing his doctoral degree. This book will
provide the most benefit to someone who has already written a computer
chess program. The chapters on extended forward-pruning were especially
informative and a number of high-level programs currently use the
adaptive null-move pruning presented here. I also found the
chapter on interior-node recognizers unique and eye opening, (in fact
Djinn's interior-node recognizers are based on Heinz's original
work). A number of clever enhancements are provided that coupled
with chapter 6, on knowledgeable tablebase encoding, are sure to
provide a idea or two even to hardened computer programmers.
This book is not for the faint of heart, but if you spend the time
delving through it, you will more than likely find a number of ideas to
apply to your chess engine. It is written with an academic perspective
and is rigorous in the ideas that it presents (unlike Levy and Monroe's
books which are geared more toward the general public).
Selected Papers on Analysis of Algorithms
by Donald E. Knuth
Published 2000, by Addison-Wesley
ISBN: 1-57585-211-5
This makes the cut because it provides a reprint of Knuth's seminal
paper on alpha-beta pruning. This paper was originally
published in "Artificial Intelligence 6 (1975), pp. 293-326", but has
been unavailable until now. Knuth's explanation is clear and
precise. If you want to really understand alpha-beta pruning you
can do no better than to read this paper.