Russell Sherwood Saturday, August 11, 2018
This article is the summary of a few email conversations I have had recently on chess engines.
None of the main Chess Engines are written specifically for Correspondence Chess but some are more suitable than others! We can broadly divide engines into five categories; some engines fall into more than one but considering the different groups will allow the player to make the right choice to assist them in their analysis
Traditional A-B Engines
This includes almost all mainstream engines. In very simple terms, these engines work by considering the best move, then the best response , the best response to the response and so on.
This leads to a very narrow search, which gets to a good move quickly, which is essential for fast engine competition but sub-optimal for Correspondence Chess as the methods utilised to achieve greater depth can lead to even better moves being overlooked.
A number of derivatives of Stockfish exist which modify the search method to conduct a much wider search, with the consequence of a much more shallow search. The approach is useful for very complicated positions with multiple reasonable moves or highly tactical positions. Komodo is also able to wok in this manner via modification of certain parameters.
Interestingly Houdini also appears to have a wider search as it progresses to depth in a much slower manner than other engines.
These (LC0 and Deus X) are the currently darlings of the engine world , following on the success of Alpha Zero. These engines are still tactically vulnerable but do provide very interesting input in quieter positions. The main benefit of these engines is in pattern recognition, which allows something much closer to strategic play to be generated by Chess Engines. An interesting project currently under development is an engine being trained on Higher Level Correspondence Games, which should give very interesting results!
Monte Carlos Tree Search is an alternative method to the A-B approach. It tends to be tactically weaker than the A-B approach but it allows Multiple Variations to be examined without loss of speed. Currently Komodo, Stockfish and Scorpio have MCTS versions. Cuttlefish also exists which allows any A-B engine to run a basic MCTS search.
A number of engines exist programmed not to play or analyse but to solve problems – some of these such as Sting can be useful!
So how do we utilise these different types of engine. For me, two criteria drive this choice: (a) The number of viable moves and (b) The tactical complexity of the position.
Low number of variations – High Tactical Complexity: Utilise a Wide Searcher, then a A-B Engine
Low number of variations – Low Tactical Complexity: Utilise a NN, then a A-B Engine
High number of variations – Low Tactical Complexity: Utilise a MCTS, then a NN, then a A-B Engine
High number of variations – High Tactical Complexity: Utilise a MCTS and NN to generate suggestions, then a Wide Searcher and finally an A-B Engine