Polyglot now supports the UCI protocol:-)

Discussions about Winboard/Xboard. News about engines or programs to use with these GUIs (e.g. tournament managers or adapters) belong in this sub forum.

Moderator: Andres Valverde

Re: Polyglot now supports the UCI protocol:-)

Postby Michel » 24 Jan 2009, 11:59

It doesn't mean that if a certain book position cannot be reached by the other moves in the book it is already worthless, it is possible that this can be reached by actual game play and the book move can still be played.


This is not the correct explanation. Unreachable positions are genuinly unreachable

Assume that the book contains only d4 in the initial position but also some moves in the position after e4 e5
(call it P)

Then the moves in position P are useless for white as he will never reach that position when following the book, and this is true independently of what black does.

This situation may arise if you merge a d4 book with an e4 book. The first book takes precedence so in the initial position you will get only d4. However it might be that P is in the second book and as it is not in the first, it will survive the merging process and end up in the merged book.

EDIT: My extension of polyglot "info-book" when started with "-exact" will find such unreachable positions
by doing a 2-ply search in any known book position. Of course there are more sophisticated cases where this strategy is insufficient.
Last edited by Michel on 24 Jan 2009, 12:33, edited 2 times in total.
Michel
 
Posts: 513
Joined: 01 Oct 2008, 12:15

Re: Polyglot now supports the UCI protocol:-)

Postby H.G.Muller » 24 Jan 2009, 12:29

The key phrase here is "when following the book". But we could have forced position P in the engine, before letting it consult its book. (E.g. if the book was the engine's own book, and we were using a GUI book of depth 2 ply, that did contain e4.)
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Polyglot now supports the UCI protocol:-)

Postby Michel » 24 Jan 2009, 12:42

But we could have forced position P in the engine, before letting it consult its book. (E.g. if the book was the engine's own book, and we were using a GUI book of depth 2 ply, that did contain e4.)


Well the issue is what "unreachable" means. I tried to give a sensible definition: a position that can not be reached in a regular game if the player to move makes only book moves when they are available.

Whether you do or do not want unreachable positions in your book is not the issue.

If there were to exist a utility to prune unreachable and/or isolated positions this does not mean the users have to use it, only that they can use it. Freedom is good.
Michel
 
Posts: 513
Joined: 01 Oct 2008, 12:15

Re: Polyglot now supports the UCI protocol:-)

Postby H.G.Muller » 24 Jan 2009, 12:50

OK, fair enough.

An unrelated question: did you see the thread on ECO codes in the development section?
Would it be easy to make a Polyglot book containing the ECO codes (e.g. in stead of the weights,
or next to them)?
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Polyglot now supports the UCI protocol:-)

Postby Marc Lacrosse » 24 Jan 2009, 13:17

Michel wrote:Unreachable positions are genuinly unreachable


Yes and no.

Yes if the game is started from the startposition.

No in cases where the book begins to be used later in the game.
This can be the case :
- if a GUI book is used before the focus is given to the Engine-plus-PG-book entity. This is a common occurence when short neutral GUI books are used for test tournaments.
- when matches or tournaments are performed from a set of standard EPDs while allowing use of a PG engine book.

Anyway I still do not see the point in trying to eradicate these unreachable positions. PG book format is very compact and size is almost never a problem. These unreachable positions are associated with some knowledge whose value is similar to the one offered for reachable positions.

For example I frequently examine games in scid with a book window open. It's not uninteresting to see that through some sort of transposition there was initially no information for one position of this game in the book while a later position is present in the book.

By the way one thing I miss is the possibility to have several different books open in scid while browsing through a game : I would like to examine simultaneously a "recent-online-engine-games.bin" book together with a "strong-correspondence.bin" one, a "GM-games-from-the-nineties.bin" one and a "2008-superGMs.bin" one.
And so on.

Marc
Marc Lacrosse
 
Posts: 116
Joined: 29 Jan 2005, 09:04
Location: Belgium

Re: Polyglot now supports the UCI protocol:-)

Postby Michel » 24 Jan 2009, 13:23

H.G.Muller wrote:OK, fair enough.

An unrelated question: did you see the thread on ECO codes in the development section?
Would it be easy to make a Polyglot book containing the ECO codes (e.g. in stead of the weights,
or next to them)?


You mean a small book that contains the positions corresponding to the standard opening in the ECO classification?
And the ECO classification instead of the weights.

I think this is possible. However you would not get the "human" description of the opening e.g.

Code: Select all
ECO   C60 Ruy Lopez: Cozio defence, Paulsen variation


so the GUI would still need to do some work....

My source for ECO codes is a file contained in the GnuChess source code. I assume it has been screened for GPL compatibility.

EDIT: Actually it seems to be worse than that. The "human" description seems to be part of the classification. There are many
different A00 openings and they are distinguished by their human description.
Code: Select all
[ECO   A00 Polish: T\"ubingen variation]
b4 Nh6 
[ECO   A00 Polish: Outflank variation]
b4 c6 
[ECO   A00 Polish  opening]
b4
[ECO   A00 Lasker simul special]
g3 h5 
[ECO   A00 Benko's opening: reversed Alekhine]
g3 e5  Nf3
[ECO   A00 Benko's opening]
g3
[ECO   A00 Grob: Romford counter-gambit]
g4 d5  Bg2 Bg4  c4 d4 
[ECO   A00 Grob: Fritz gambit]
g4 d5  Bg2 Bg4  c4
[ECO   A00 Grob: spike attack]
g4 d5  Bg2 c6  g5
[ECO   A00 Grob's attack]
g4
[ECO   A00 Global opening]
h3 e5  a3
[ECO   A00 Clemenz  opening]
h3
[ECO   A00 Amar gambit]
Nh3 d5  g3 e5  f4 Bh3  Bh3 ef 
[ECO   A00 Amar  opening]
Nh3
[ECO   A00 Battambang opening]
Nc3 e5  a3
[ECO   A00 Dunst  opening]
Nc3 e5 
[ECO   A00 Novosibirsk opening]
Nc3 c5  d4 cd  Qd4 Nc6  Qh4
[ECO   A00 Dunst  opening]
Nc3
[ECO   A00 Anderssen's opening]
a3
[ECO   A00 Crab opening]
a4 e5  h4
[ECO   A00 Ware  opening]
a4
[ECO   A00 Saragossa opening]
c3
[ECO   A00 Valencia opening]
d3 e5  Nd2
[ECO   A00 Mieses opening]
d3 e5 
[ECO   A00 Venezolana opening]
d3 c5  Nc3 Nc6  g3
[ECO   A00 Mieses opening]
d3
[ECO   A00 Amsterdam attack]
e3 e5  c4 d6  Nc3 Nc6  b3 Nf6 
[ECO   A00 Van't Kruijs opening]
e3
[ECO   A00 Hammerschlag ]
f3 e5  Kf2
[ECO   A00 Gedult's opening]
f3
[ECO   A00 Anti-Borg  opening]
h4
[ECO   A00 Durkin's attack]
Na3
Michel
 
Posts: 513
Joined: 01 Oct 2008, 12:15

Re: Polyglot now supports the UCI protocol:-)

Postby ulver » 05 Jan 2010, 06:33

Hello!
i have strange situation. I'm using microwined Rybka on Linux and ssh server running . On client machine (Windows Xp)next i did the next chain:
in E:\polyglot2, there are files:
polyglot1.4.56b.exe
polyglot.ini
netRybka.exe
netRybka.rc


[PolyGlot]

EngineName = Rybka 3.exe
EngineDir = ./
EngineCommand = E:\polyglot2\netRybka.exe

Log = false
LogFile =

Resign = false
ResignScore =

Book = true
Bookfile = E:\polyglot2\book.bin

[Engine]

KibitzMove = true
#KibitzPV = true
autoquit = true
showponder = true
ownbook = false
Hash = 2048
Contempt = 0
Ponder = true
NalimovUsage = Never

netRybka.rc:

host 192.168.0.3
port C:\plink.exe root@192.168.0.3 -ssh -pw my_password_here /home/oleg/Rybka3-native

When i click on polyglot.1.4.56b.exe it starting engine on remote Linux and uses local ini file and book (i can type moves in polyglot shell and it responds with the book's move), also engine uses all 2048 Mb of hash as that in ini file.
I tried to install a UCI engine choosing polyglot1.4.56b.exe (all went ok), in GUI book accessed but hash value ignored, using default Rybka 32Mb hash. What's wrong in this setup.
ulver
 
Posts: 18
Joined: 13 Nov 2008, 09:52

Re: Polyglot now supports the UCI protocol:-)

Postby ulver » 05 Jan 2010, 09:15

I turned on logging and running polyglot1.4.56b.exe itself working good:
1262678795.250 Adapter->Engine: setoption name Hash value 2048
On linux i have 1128 huge pages reserved and when running polyglot 1024 (2048Mb) are used
HugePages_Total: 1128
HugePages_Free: 104

Now , when i trying to run GUI+polyglot UCI:
1262678855.656 Adapter->Engine: setoption name Hash value 327

HugePages_Total: 1128
HugePages_Free: 1000

so ,it ignoring polyglot.ini with 2Gb hash value and setting maximum available in GUI (it's a 512 Mb RAM old laptop). How to disable GUi hash clearing or is this polyglot UCI problems, i tried manually set 2048Mb of hash but it's using GUI's default settings
ulver
 
Posts: 18
Joined: 13 Nov 2008, 09:52

Re: Polyglot now supports the UCI protocol:-)

Postby H.G.Muller » 05 Jan 2010, 10:06

Newer Polyglots will do what the GUI tells them through WB protocol. So if you want to change the hash size you should do it in the GUI. What is in the polygot.ini is only used in case the GUI does not provide a value for that option.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Polyglot now supports the UCI protocol:-)

Postby ulver » 05 Jan 2010, 10:18

Too bad ( i have only 400Mb of hash maximum). There is reverse way o load needed hash value, on linux
polyglot(linux)-polyglot.ini-rybka-linux

on windows:
inbetween-wb2uci-netrybka-plink-/path/to/linux/polyglot /path/to/linux/poyglot.ini. In this case polyglot and book running on remote linux and hash is ok but the chain is too long. I have around 30% games time losses on my local tournament. Variant with Michel's polyglot doesn't need wb2.uci and inbetween
and hence there's almost zero time lag.
ulver
 
Posts: 18
Joined: 13 Nov 2008, 09:52

Re: Polyglot now supports the UCI protocol:-)

Postby H.G.Muller » 05 Jan 2010, 10:25

I don't understand this. Where does this maximum come from? You can set the default hash size to any value you want, not?
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Polyglot now supports the UCI protocol:-)

Postby ulver » 05 Jan 2010, 11:40

i'm using fritz11 gui and when you trying to load an engine it says that only 409Mb available, if you trying to set manually 2048 , for example, it setting 409Mb anyway.
ulver
 
Posts: 18
Joined: 13 Nov 2008, 09:52

Re: Polyglot now supports the UCI protocol:-)

Postby H.G.Muller » 05 Jan 2010, 12:17

Ah, OK. So it is really a bug in Fritz. Use a decent GUI, then...
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Polyglot now supports the UCI protocol:-)

Postby ulver » 06 Jan 2010, 12:25

I've found some acceptable variants, thx for replies.Any workarounds regarding polyglot's default book-making process? (i mean 2 wins+1 draw, if i remember right)-i think it is not so good, because I can find sometimes that draw has more information about a variation included in book.
ulver
 
Posts: 18
Joined: 13 Nov 2008, 09:52

Re: Polyglot now supports the UCI protocol:-)

Postby H.G.Muller » 07 Jan 2010, 20:51

Not realy workarounds. Just change the formula for the weights to a etter one, and recompile. I already have designed a more rational algorithm for deriving the weights, but haven't got to implementing it yet.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Previous

Return to Winboard and related Topics

Who is online

Users browsing this forum: No registered users and 42 guests