Tip of the Week #21

Russell Sherwood  Sunday, December 5, 2021

Welcome back to Tip of the Week!

This time we will look at Learning with Chess engines. 

The term "learning" has been tossed around quite a bit in the last 18 months or so, mainly with the development of the NNUE network, where the evaluation function has been trained on millions of moves. This has obscured another form of learning which has been quietly taking place with regard to chess engines.

This learning is where the moves, evaluation and result an engine makes are stored in a "learning" file and then reused to improve the evaluation of the engine.

A number of Engines have utilized this approach in three slightly different manners:

Look Up Book

This very simple approach is to simply store the moves and call them up when the position is called again. This means that Analysis can be stored at a much greater depth. The benefits of this approach are obvious and useful in fast time control Engine v Engine games, but for Correspondence Chess we have to use different considerations:

Is the Learning file used as an automated opening book, or simply as something to point the search in the right direction? If it is the former than it actually weakens our CC efforts, but for the latter it can cut down the amount of time and engine requires reaching a stable evaluation. The benefits of this were seen by myself and a group of friends who build a file with over 100 million positions (including all ICCF games) to a depth of 35+ moves (With 10's of millions at 40-50+!

Evaluation Leaders

We now move onto the next level of "Learning" file. Here, the data within the file is used to modify the search/evaluation of the main engine. This can be done in many ways, but as an example - if we take Eman, it would take the evaluation of positions at successive depths and compare progressions to determines the lines most likely to be successful. This approach was very successfully at the time, but the project has now sadly been shelved.

Experience Methods

The most complex method used is where the "Learning file" is now considered an experience file. This means that the outcome of a game(s) can be used to modify the evaluation of the position.  Let me give an example.  

Let's say we have a position where the evaluation of the mainline, after a non-trivial length of time, is +0.8, where the next best line is only +0.4. 

We can also assume that this "Best" line is actually very drawish with the best play and the 2nd option gives far better chances

In a very simple way the  "Experience" method would, at the end of a game, go back through the move played and adjust the evaluations stored in the file downwards. Over a period of time, the +0.8 evaluation would reduce until it became the 2nd choice, at which point the Experience file has now improved the play of the Engine.

I would always recommend to any player to have an Experience recording Engine in their stable. 

Notable ones:

Eman - sadly now the project is defunct

SugaR - Can use Eman Files

ShashChess

BrainLearn

RaubFisch

 

Happy Hunting!

 

Correspondence ChessTipoftheWeekWCCF
Welsh Correspondence Chess FederationClergy Correspondence Chess ClubSchemingMind Internet Correspondence Chess ClubSocial Correspondence Chess AssociationNational Correspondence Chess ClubWelsh Chess UnionInternational Correspondence Chess Association