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?
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.
- https://lib.vsu.by/jspui/handle/123456789/20821 (Deep learning for chess ai)
- Stockfish/LC0 discoards
FM Bill Jordan has written several, including:
- How to Write a Chess Engine
- The Joy of Chess Programming: How Chess Engines Work
- How to Write a Bitboard Chess Engine: How Chess Engines Work
The first is basically a printout of his engine's code, with an explanation of each code segment.
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.