Polyglot books use with any UCI engine under CB GUI !

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Marc Lacrosse
Posts: 511
Joined: Wed Mar 08, 2006 10:05 pm

Polyglot books use with any UCI engine under CB GUI !

Post by Marc Lacrosse »

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
F. Bluemers
Posts: 868
Joined: Thu Mar 09, 2006 11:21 pm
Location: Nederland

Re: Polyglot books use with any UCI engine under CB GUI !

Post by F. Bluemers »

Good work,Marc
Odd Gunnar Malin has more recent versions here:
http://utilities.sjakk.biz/
including a newer inbetween.

Best
Fonzy
Nick C

Re: Polyglot books use with any UCI engine under CB GUI !

Post by Nick C »

Mark, thanks - I will try this and I think it could be incredibly useful to me - I keep my analysis in PGN and use that to create polyglot and ctg books. Now I don't need to bother with ctg books at all and can have the same strength single book running on playchess and ICC, this will save me time and an incredible amount of diskspace :)

The only possible downside I can think of is that ctg books will "learn" ie. switch to a different line in the book should a loss occur in one particular line - this learning behaviour is useful to stop book attacks in a long unattended session on the chess servers.

Thanks again.
Nick