5

This might be too broad a question, but can anyone recommend specific books that deal with chess engines, including hard-coded ones such as Stockfish, Komodo, and other ones also based on neural networks and reinforcement learning? I want to get a broad overview of the logic behind chess engines, and maybe experiment in building one myself. For starters, is there anywhere I can refer to understand the Stockfish source code for example, and Alpha Zero respectively?

1
  • 2
    The book "Deep Learning and the Game of Go" by Pumperla and Ferguson could help. The core deep-learning approach can be applied to just about any game. Sep 24, 2020 at 18:07

4 Answers 4

5

To my knowledge there is no book on chess engine programming because there is no market.

People study the source code simply by reading it. If you have any question, please join Stockfish/LC0 discord. It worked well for me, I just ask online anything I don't understand.

I would suggest the following on learning. Many more I may have missed.

1
  • Actually, CPW lists a whole page on books about chess engines.
    – qwr
    Jul 30 at 18:19
4

FM Bill Jordan has written several, including:

The first is basically a printout of his engine's code, with an explanation of each code segment.

1
  • He also has a book on a javascript-based engine.
    – qwr
    Jul 30 at 22:19
4

This depends quite a bit on your level of understanding, as well as your knowledge of relevant programming languages.

David Levy wrote a number of books that deal fairly closely with this topic. "Chess and Computers" (1976) is more for the beginner, while his "Computer Chess Compendium" is more 'medium' and above. See his biography/bibliography on Wikipedia for additional titles.

If you want to understand a particular engine, you basically have to go on what the author(s) have published -- and that may be in technical academical journals, so a good reference library nearby who can help you locate those is probably a necessity. If you want to understand a specific search algorithm, it's academical journals or text books, depending on if it's research-level stuff or more 'standard' things.

Good luck!

1

Chess Programming Wiki (CPW) is a fantastic online resource and has a recommended reading list. It will give you more breadth of information than any book, at the risk of not laying things out in a consistent manner like a book.

A good gentle introduction to chess engines in general is the 6-part series by François-Dominic Laramée (2000) listed in the online resources links.

Neural networks are still new and there aren't many long-form explanations on them yet. The only one I could find is Neural Networks For Chess: The magic of deep and reinforcement learning revealed by Dominik Klein. I have not read it.

Your best bet to understand Stockfish is to read the CPW article on Stockfish and NNUE. Also refer to the original AlphaGo papers. You should have some basic familiarity with what evaluation is and also the principles of a neural network (backpropagation).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.