General - PolyGlot 1.4 (2006/01/16). PolyGlot is a 'UCI adapter'. It connects a UCI chess engine to an xboard interface such as WinBoard. UCI2WB is another such adapter (for Windows). PolyGlot tries to solve known problems with other adapters. For instance, it detects and reports draws by fifty-move rule, repetition, etc.
XBoardXBoard is a graphical user interface for chess in all its majorforms, including international chess, xiangqi (Chinese chess),shogi (Japanese chess) and Makruk, in addition to many minor variants such asLosers Chess, Crazyhouse, Chess960 and Capablanca Chess. It displays achessboard on the screen, accepts moves made with the mouse, and loadsand saves games in Portable Game Notation (PGN).
It serves as afront-end for many different chess services, including:.Chess engines that will run on your machine and play a game againstyou or help you analyze, such as GNU Chess, Crafty, or manyothers. Chess servers on the Internet, where you can connect to play chesswith people from all over the world, watch other users play, or justhang out and chat. Correspondence chess played by electronic mail. The CMail programautomates the tasks of parsing email from your opponent, playing hismoves out on your board, and mailing your reply move after you'vechosen it.XBoard runs on Unix and Unix-like systems that use the X WindowSystem.
First of all download and install the POLY utility and copy the Polyglot book(s) you want to analyze in the BOOKS folder. Run Prepare Analysis from the menu, thereafter Analyze and last Import Analysis. The learning byteUpdate Learning - With this function via a PGN (for instance an ENG-ENG match) the learning info (byte) in a Polyglot book is updated. The learning byte may fluctuate between a value of -125 +125. The basic thought is simple, you don't want to play a book move with a value of -75 (meaning that move lost 75 games more than it won), instead if a move has a +50 value (meaning it won 50 games more than it lost) it's wise to play that move.The experienced reader immediately will realize the drawback of the system, one byte is much to small to handle large eng-eng matches with ten thousands of games.
In an ideal system the learning should function via a corresponding W L D file with 32 bit counters, maybe something for the future, but for the moment outside the scope of the project, sticking to the orginal Polyglot format.Nevertheless if you keep it small there will be immediate gain. After 3 (self-play) book matches of each 2000 games at 40m/60s we got a gain of 57.0% representing 49 elo. We used a simple (first wild guess) formula, from the table above we multiply the learn value.4 and add it to the weight percentage and the highest value becomes the move.Table-2. And it made no sense any longer to play further because many of the learn counters already exceeded the maximum of -125 +125 limit.UPDATEversion 1.2Added 4 essential functions which allows the user to immediately make use of the newfeatures without programmer support.Weights on score1. Option ' B' (best move) sets the weight of moves on 100% with the highest Stockfish score. The book will only play those 100% moves.
Using this function basically emulates the results in table-1 above.2. Option ' V' (variation) based on the Stockfish scores will calculate new weights.Weights on learn1.
Option ' B' (best move) sets the weight of moves on 100% with the highest learn value. The book will only play those 100% moves.
Using this function basically emulates the results in table-2 above.2. Option ' V' (variation) based on the learn scores will calculate new weights.Import Score and Depth from PGNImport Score & Depth from an annotated (thus with Score and Depth) ENG-ENG match.Import Score and Depth from EPD. Required tags: ' bm' (move) and ' ce' (score).
Preferable (although not obliged) tag: ' acd' (depth)The advantage of the two last options is that you can add the analysis (score & depth) of any engine to Polyglot books.Check the new Polyglot weights with (book.txt) or with.UPDATEversion 1.3Added 3 new powerful features with as goal - a dd elo to your Polyglot opening book. By using annotated engine-engine games (with score & depth) to create a Polyglot opening book with score, depth and an elo indication of the engine that played the move and then merge the new created book into an existing Polyglot opening book adding elo to that book.
And with these new tools we created a stronger ProDeo book. It's best explained how the new created ProDeo book (or any other Polyglot book) is organized. First we have analyzed the ProDeo book with this tool using Stockfish 10 at 60 seconds per move, see table 1.Secondly with Make Polyglot Book we created an opening book from 1 million, 25 moves deep and only from games with a minimum elo rating of 3000 of both engines.Then with Merge Book we combined the 2 books.Table 2 is an example when the original ProDeo is out of book but then finds a lot of playable moves after all because of the CCRL games. The position is after -1.c4 Nf6 2.Nc3 g6 3.g3 Bg7 4.Bg2 O-O 5.d4 d6 6.Nf3 Nc6 7.O-O a6r1bq1rk1/1pp1ppbp/p1np1np1/8/2PP4/2N2NP1/PP2PPBP/R1BQ1RK1 w - -Now we can see how the learn byte is organized when books are merged -A value between 100 and 125 comes from the original ProDeo book and is sorted on depth (table 1).A value below 100 comes from the added book and is based on elo using the formula 2500 + (learn. 10). Thus the move c1f4 (table 2) is played by an engine of 3140 (2500+640), the move e2e4 is based on an egine of 3430 (2500+930).
With these extra informations, for a user, a book can be better tuned with the Weights on score and Weights on learn functions and for a programmer to make better choices depending on the strength of his engine.The 3 new functions in a nutshell -1. Pre-fill learn byte - calculates the learn value of the original book (100-125).2. Make Polyglot Boo k - from a PGN create a new book called polyglot.bin with the learn (elo) values below 100.3. Merge Books - merge the original book and polyglot.bin, the result is called book.bin.Closing remarks1. The freeware books (see above) can be used following the above 3 steps and use the pre-installed ccrl-3400.pgn as an example.2. Using PGN with filled elo rating tags is important for the programmer hence it's impossible to calculate the elo rating and the learn value (in table 2) of all positions will be zero.
For the user it will have no effect. If a PGN has no filled elo rating tags select '0' when prompted for the elo rating in Make Polyglot Book.3. Make sure that the PGN collection you use contains only engine-engine games at least 100 elo higher than your own engine. For the creation of the new ProDeo book we have chosen for an minimum elo of 3000 roughly 250 higher than its rating to be on the safe side.4. When using Merge Books always (emphasis added) select the original book first and thereafter polyglot.bin because merge doesn't recalculate the weights of the first book while it in principle should. We are not sure if that's a bug or a feature, the latter certainly has its merits.
As long as you are aware.Technical5. With the new Make Polyglot Book feature opening books can be easily made bigger than 256Mb which may cause problems (even a crash) with some of the functions of the POLY util. The cure is to start POLY via P.BAT which allocates 1.3Gb of memory instead of the default of 256Mb.6. Polyglot books made larger than 2Gb will crash due to the limitation of the 32 bit code. Poly statistics - extended information among that a fictional rating of the quality of the book, seeWeights on score has been greatly improved. The 'Best' and 'Vary' options have been replaced with a flexible margin of centi pawns, see picture on your left. A margin of 0.00 represents 'Best' while greater margins will exclude moves that fall outside the margin of the highest Stockfish score.
Advised margin is 0.10 Use '.' F6 - An alternative for Make Poly Book from the main menu. It's faster and better. First it will check the reliability of the PGN using.2. You are prompted to make a selection which engine to use in the PGN, if you leave it blank all engines are used.3. Define the Book Depth.4.
Assign a fictional Elo that represents the quality of the book you are going to make.5. From here on everything goes automatic, the parsing, the sorting, the removal of doubles while keeping the highest depths and finally the book making.The 'green' was lacking (impossible) in the Make Poly Book from the main menu hence this new approach. POLY 1.5What's newJuly 2019The next step in the evolution of the Polyglot book is to add a WDL (won draw loss) statistic to book moves offering the following advantages:1.
Make the WDL visible, see the made with the latest;2. Tuning the weight using the WDL instead of theStockfish evaluation score.For the purpose of demonstration we extracted a quality PGN of ± 200.000 human-human games from MillionBase 2.9 both players with a minimum elo rating of 2500. From the PGN (called elo2500.pgn ) we created a Polyglot book called elo2500.bin. F8 - Creates a W D L statistic from the PGN. F9 - Import (connect) the W D L statistic to the Polyglot book creating the file elo2500.WDL.
F10 - Recalculate the Polyglot weights using the W D L statistics.You are prompted to input the WDL parameter which makes it possible to tune a Polyglot book. The WDL parameter works like a harmonica, a high value (like 300 or higher) is like stretching the standard top moves to even higher weights while lowering or even zero-ing lesser weight moves.
A low value (say 25) does the opposite, it moves lesser weight moves up often close to the weight of the best move.Said in other words, a low value makes a book very random, a high value narrows the book. The following makes the effect visible and concentrate what happens to the weights of the big-four 1. C4Results - We tested the elo2500.bin book against 2 other books to find out the best WDL parameter setting.
As one can see the optimal WDL parameter for this book is around 2.50Remarks. The elo2500 book (.bin and.wdl) is included in the download so you can experiment with F10 yourself.
Also included is elo2500.epd which you can try on other Polyglot books with F9. To view the WDL statistics use the latest.Programmers onlyIf you want to make use of the WDL statistic the info (for speed reasons) is in the same offset of the.BIN in the corresponding.WDL file. Fseek the WDL and then do a 4 x 32-bit fread (won draw loss percentage).3. Insight in your personal opening repertoire, what openingto play or avoid.When you are a club player and have maintained your games in PGN the new WDL feature offers you to study your opening reportoire. Let's take the games of Gary Kasparov as an example. From kasparov.pgn (included in the download) we create an opening book called kasparov.bin (also included in the download).Then with F8 (Player = kasparov) and F9 we create the kasparov.wdl file (also included in the download) and then we are ready to browse through Gary's favorite openings with the latest.shows that after 1.e4 Kasparov's best result is 1.c5 and other moves are very poor.
On the other hand after 1.e4 e5 Kasparov with the white pieces has an incredible high score, see. Polyglot 64-bitJune 2019Polyglot (as far as I can tell) always has been 32-bit which limited the working space during -make-book to 1Gb. Compiling Polyglot as a 64-bit program takes this obstacle away. I could make a Polyglot book of 1.5Gb in one run while Polyglot workspace increased to 5.5Gb of memory.Not only is this more comfortable it also has the advantage you don't need -merge-book any longer which enables you to produce better books because -merge-book has the (nasty) habit not to recalculate the weights. Programmer StuffMaking use of the new features it requires changes is the Polyglot search code, but these are only a few.
Using the source code example of Michel Van den Bergh and the changes are marked with ' @ed'.Remarks1. Instead of updating the learning AFTER the match a better result might be possible updating the learn value DURING the match, for instance when it's clear your engine is winning or losing adding one to learn in case of a win, subtract one in case of a loss.2. To make version 1.5 possible the Polyglot source code needed changes, the source code can be seperately, changes are marked with ' @ed'.CreditsThanks to the team for the use ofStockfish 8, 9 and 10andfor PolyglotandDavid J.