opening book standards

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

Michel
Posts: 2272
Joined: Mon Sep 29, 2008 1:50 am

Re: opening book standards

Post by Michel »

Ah yes, book_merge.c also contains a bit of header code, since it has to merge the headers of the two books (currently it merges the sets of variants).
Ideas=science. Simplification=engineering.
Without ideas there is nothing to simplify.
User avatar
Ozymandias
Posts: 1535
Joined: Sun Oct 25, 2009 2:30 am

Re: opening book standards

Post by Ozymandias »

jefk wrote:in ScidVsPC i can see the book without any problem;
even can use two books (but with polyglot you also can merge books)
Ok, it must be a problem with Scid, then. I also use ScidVsPC, for browsing bin books, the Opponent's Book feature is useful, for a quick comparison between two book builds.

The merge command is the single most important aspect of the whole format. It turns an apparently limited tool, into the swiss-knife of bookmaking. Whenever i hear someone talking about how bad bin books are, I always draw a smile on my face.
User avatar
hgm
Posts: 27808
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: opening book standards

Post by hgm »

Michel wrote:I see that the polyglot books created by HGM's version of polyglot (the main version) now also include the header (before it was only my version that did this)!
Note that the 'main' branch of my Polyglot git repository (on hgm.nubati.net) is your version, and that the version that I include with WinBoard, or which is packaged by Debian, is the one from the 'learn' branch.
Michel
Posts: 2272
Joined: Mon Sep 29, 2008 1:50 am

Re: opening book standards

Post by Michel »

Note that the 'main' branch of my Polyglot git repository (on hgm.nubati.net) is your version, and that the version that I include with WinBoard, or which is packaged by Debian, is the one from the 'learn' branch.
Ah I see... Do you have any plans on merging the two versions? It is really a nuisance that this header stuff is in limbo right now.
Ideas=science. Simplification=engineering.
Without ideas there is nothing to simplify.
jefk
Posts: 626
Joined: Sun Jul 25, 2010 10:07 pm
Location: the Netherlands
Full name: Jef Kaan

Re: opening book standards

Post by jefk »

[quote="Michel"] Do you have any plans on merging the two versions? It is really a nuisance that this header stuff is in limbo right now.[/quote]

well i suppose you guys could sort that out (for me sourceforge
is easier to browse eg binaries/releases vs sources- than github);
so for me the the current status for polyglot versions on github
are not so clear indeed; although differences in the exec's
are small, so as 'simple' user i (sofar) don't care about it ..
:)
[fyi still see some old code now apparently maintained now by a
certain ddudovic https://github.com/ddugovic/polyglot/branches
then apparently there's a 'learn branch by HGM, included in Winb
as well as as a 'fork' (if that one is not the same !?!?) :
http://www.talkchess.com/forum/viewtopi ... 64&t=59365
whereby the latter has to do with booklearning; but apparently
no engine is (yet?) using Polyglot booklearning features..]

jef

PS in the meantime found a compiled (non opensource but interesting)
other book editor/book manager (second download link below)
http://www.pkoziol.cal24.pl/glass/download.htm
interesting maybe for Thomas Z to compare with Cerebellum features
User avatar
hgm
Posts: 27808
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: opening book standards

Post by hgm »

Book learning is not something that has to be 'used' by engines. You just have to switch it on in Polyglot, when you use the latter to handle the book on behalf of an engine. The engine wouldn't know anything about it.

Of course when the engine would use the book directly, they would also have to take care of the learning themselves. But that means they would not only be responsible for interpreting the learn fields in the book, but also for writing them. Which means they could use themfor any purpose they want. But there aren't many UCI engines that handle their own book anyway. They almost always rely on the GUI to handle it.

Note the sources used by Debian and the WinBoard release are at http://hgm.nubati.net/cgi-bin/gitweb.cgi . The 'learn' branch got its name because it initially forked from the 'main' branch just before the other disabled book learning. But by now the most important differences is that it supports move exclusion during analysis, display of tablebase hits, selective depth and CPU utilization in Thinking Output, has support for Syzygy EGT and can accept draw offers.

'Branch' is a technical term for 'git' repositories, to indicate alternative developments of a source within the same repository. 'Fork' is a more general term for parallel developments, which do not need to be in the same git repository, or indeed in any git repository at all, and are intended for separate distribution.