This page is about POLY 1.6, a continuation on the 5 first versions. After intensive testing we concluded that from all the options available from version 1.2 and 1.5 the WLD (win|loss|draw) approach gives the best results. With version 1.6 we like to present a number of (reasonable well) tuned polyglot opening books included in the download.
For this purpose (from MillionBase 3.45) we created 5 regular polyglot books based on a minimum human elo of: elo2500, elo2600, elo2650, elo2700, elo2750 and 1 polyglot book from CCRL 40/15 games played by engines with a minimum elo of 3300. Six matches of each 5000 games with the new Stockfish 12 should give us insight which book scores best. For reference we use the last handcrafted ProDeo book from Jeroen Noomen.
Poly 1.6 book matches vs ProDeo book
Best book between 2700+ elo rated human players.
The WDL factor - all 6 books are tuned with a (flexible) value between 1 and 500. In our current case we used an educated guess of 250 which already gives excellent results.
In a nutshell, a low value makes a book very random, a high value narrows the book.
The following example makes the effect visible and note what happens to the weights of the big-four 1. e4 | 1. d4 | 1. Nf3 | 1. c4
You can change the weights using the function key F10, select the book, type the new WDL factor (1-500) and a new book is created called NEW.BIN in the BOOKS folder and perhaps create an even stronger book.
adding Polyglot books to your engine in 15 minutes
PG.EXE is a simple util you call from your engine and it will return a book move within ~10 ms from any Polyglot book.
sprintf(w,"pg.exe %s",s); // prepare polyglot book call
system(w); // call polyglot book
The string "s" should contain the EPD surrounded by quotation marks, example, the string "w" contains the start position -
pg.exe "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq -" PG will return one of available book moves, such as:
e2e4 52.42 16 20 83
For scanning the (blue) output will be stored on the screen but also in the file move.txt and secondly all available book moves are stored in the file book.txt. Run the DEMO program and try a few EPD's. That's all there is.
First 10 moves analyzed with Lc0 384x30 net, remaining moves by Stockfish 12 at depth 20.
Book made from 48.713 SF12 games with scores, depths and learn results included.
Analyzed with SF12 at depth 20.
The book.ini file
[Book File = ProDeo.bin]
Book that PG will search.
[Book Use = vary]
User priority preference, there are 3 options -
vary - Play varied based on the weight, default setting.
score - Play the move with the highest Stockfish 12 score.
learn - Play the move with the highest learn value.
[Blunder Margin = 50]
vary - In the case there are more than one book moves available avoid PG to return moves that score 0.50 less than the best move. In such a case the best move is returned instead.
Polyglot source code included
Thanks to the Stockfish team for the use of