Polyglot books use with any UCI engine under CB GUI !
Posted: 28 Oct 2007, 11:35
Polyglot opening books are very interesting for the book-maker.
For the initial making of the book from selected games, polyglot has by far the most powerful heuristics IMHO.
Manual tuning of move weights in a good gui environment is possible (and even easy) in the recent versions of the SCID database program with extended features implemented by Pascal George.
But there is still a problem for a more generalised use of these books : if you intend to use a polyglot book with a non-Fruit-derived UCI engine, this turns the engine into a winboard II one because of the mandatory use of polyglot itself as a book manager between the GUI and the UCI engine (the polyglot adaptor communicates with the GUI through WB II protocol).
And here is the problem : by far the preferred GUI of many amateurs is the Chessbase one which does not accept winboard engines natively (older versions had a buggy WB adaptor but this one has been discontinued).
The minority of remaining "winboard-only" engines (the most famous ones being grand old Crafty, ProDeo and TheKing) can be used under CB GUI with a trick : you have to transform them into pseudo-UCI engines with Odd Gunnar Malin's excellent "Wb2UCI" utility.
I tried for long to apply this trick to the polyglot adaptor himself with the following chain :
CBgui <-> WB2UCI <-> Polyglot 1.4 + book <-> Any UCI engine
But unfortunately this trick does not succeed with polyglot (maybe it can but I never was able to make it work directly).
Trying to understand why this did not work I added a further intermediate step in the chain for debugging purposes : the also excellent "InBetween" utility by the same OG Malin (which acts as a kind of universal translator and log utility for GUI-engine communications).
And this did actually _solve_ the whole problem !
The chain is :
CBgui <-> WB2UCI <-> Inbetween <-> Polyglot 1.4 + book <-> Any UCI engine
This does not just only work : in fact the long chain between the GUI and the actual engine does not seem to slow down the play significantly :
I just had Rybka 2.3.2a playing on the Playchess server this way and did not notice any underperformance even in fast 3+0 blitz games.
I just uploaded an example package with all required components as an example on my site (see end of post).
You just have to unzip the package into a folder of your choice.
Then within chessbase GUI do install "wb2uci.exe" as an engine.
You should get a "Ry10beta32-Perf" in your engine list (this stands for "Rybka 1.0 beta 32bits playing with performance.bin PG opening book" - you may put whatever name you wish in the wb2uci.eng config file).
You should be able to play against it locally or to have it playing on the Playchess server.
Don't forget to inactivate any chessbase .ctg book (or to launch an "empty.ctg" book without any move included).
Then you can install any other engine/book combination through making use of differently tuned config files (the three ones you have to edit are "wb2uci.eng", "inbetween.ini" and "polyglot.ini"). Please read the doc of these three adaptors for further info.
Enjoy !
Marc Lacrosse
28.10.2007
Links :
Example package : http://chessbazaar.mylivepage.com/file/index
Odd G Malin (WB2UCI, InBetween) : http://home.online.no/%7Emalin/sjakk/
Pascal George (modified SCID) : http://prolinux.free.fr/scid/download/
Polyglot at WBEC : http://wbec-ridderkerk.nl/html/details/PolyGlot.html
For the initial making of the book from selected games, polyglot has by far the most powerful heuristics IMHO.
Manual tuning of move weights in a good gui environment is possible (and even easy) in the recent versions of the SCID database program with extended features implemented by Pascal George.
But there is still a problem for a more generalised use of these books : if you intend to use a polyglot book with a non-Fruit-derived UCI engine, this turns the engine into a winboard II one because of the mandatory use of polyglot itself as a book manager between the GUI and the UCI engine (the polyglot adaptor communicates with the GUI through WB II protocol).
And here is the problem : by far the preferred GUI of many amateurs is the Chessbase one which does not accept winboard engines natively (older versions had a buggy WB adaptor but this one has been discontinued).
The minority of remaining "winboard-only" engines (the most famous ones being grand old Crafty, ProDeo and TheKing) can be used under CB GUI with a trick : you have to transform them into pseudo-UCI engines with Odd Gunnar Malin's excellent "Wb2UCI" utility.
I tried for long to apply this trick to the polyglot adaptor himself with the following chain :
CBgui <-> WB2UCI <-> Polyglot 1.4 + book <-> Any UCI engine
But unfortunately this trick does not succeed with polyglot (maybe it can but I never was able to make it work directly).
Trying to understand why this did not work I added a further intermediate step in the chain for debugging purposes : the also excellent "InBetween" utility by the same OG Malin (which acts as a kind of universal translator and log utility for GUI-engine communications).
And this did actually _solve_ the whole problem !
The chain is :
CBgui <-> WB2UCI <-> Inbetween <-> Polyglot 1.4 + book <-> Any UCI engine
This does not just only work : in fact the long chain between the GUI and the actual engine does not seem to slow down the play significantly :
I just had Rybka 2.3.2a playing on the Playchess server this way and did not notice any underperformance even in fast 3+0 blitz games.
I just uploaded an example package with all required components as an example on my site (see end of post).
You just have to unzip the package into a folder of your choice.
Then within chessbase GUI do install "wb2uci.exe" as an engine.
You should get a "Ry10beta32-Perf" in your engine list (this stands for "Rybka 1.0 beta 32bits playing with performance.bin PG opening book" - you may put whatever name you wish in the wb2uci.eng config file).
You should be able to play against it locally or to have it playing on the Playchess server.
Don't forget to inactivate any chessbase .ctg book (or to launch an "empty.ctg" book without any move included).
Then you can install any other engine/book combination through making use of differently tuned config files (the three ones you have to edit are "wb2uci.eng", "inbetween.ini" and "polyglot.ini"). Please read the doc of these three adaptors for further info.
Enjoy !
Marc Lacrosse
28.10.2007
Links :
Example package : http://chessbazaar.mylivepage.com/file/index
Odd G Malin (WB2UCI, InBetween) : http://home.online.no/%7Emalin/sjakk/
Pascal George (modified SCID) : http://prolinux.free.fr/scid/download/
Polyglot at WBEC : http://wbec-ridderkerk.nl/html/details/PolyGlot.html