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.

  1. Chess Skill in Man and Machine
  2. The Chess Computer Handbook
  3. Computer Chess
  4. Computer Chess II
  5. All the Right Moves: A VLSI Architecture for Chess
  6. Computer Chess Compendium
  7. Computers Chess and Cognition
  8. How Computers Play Chess
  9. Scalable Search in Computer Chess
  10. Selected Papers on Analysis of Algorithms (Donald E. Knuth)

Honorable Mentions

  1. Advances in Computer Chess 2
  2. Advances in Computer Chess 4
  3. One Jump Ahead (checkers)
  4. Behind Deep Blue
  5. 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
  1.  A Short History of Computer Chess, T.A. Marsland   
  2. Advances in Man-Machine Play, D. Kopec
  3. 1989 World Computer Chess Championship, J. Shaeffer
  4. How Will Chess Programs Beat Kasparov?, D.N.L. Levy
Part II. Chess Programs
  1. Deep Thought, Hsu and company
  2. Hitech, H.J. Berliner and C. Ebling
  3. Cray Blitz, R.M. Hyatt, A.E. Gower and H.L. Nelson
Part III. Computer Chess Methods
  1. Tree Searching Algorithms, H. Kaindl
  2. Experiments with the Null-Move Heuristic, G. Goetsch and M.S.Cambell
  3. Problematic Positions and Speculative Play, P. Jansen
  4. Verifying and Codifying Strategies in a Chess Endgame, I.S. Herschberg and company
  5. Learning in Bebe, T. Scherzer, L. Scherzer and D. Tjaden
  6. The Brako-Kopec Test Revisited, T.A. Marsland
Part IV. Computer Chess and A.I.
  1. Chess as the Drosophila of AI, J. McCarthy
  2. Brute Force in Chess and Science, D. Michie
  3. Perspectives on Falling from Grace, M.V. Donskoy and J. Schaeffer
Part V. A New Drosophila for AI?
  1. The Design and Evolution of Go Explorer, K. Chen and company
  2. 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.


<<
[ home ] [ back to the top ]