Polyglot 1.4w Released

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

Moderators: hgm, Rebel, chrisw

F. Bluemers
Posts: 868
Joined: Thu Mar 09, 2006 11:21 pm
Location: Nederland

Re: Polyglot 1.4w Released

Post by F. Bluemers »

Charles B. wrote:To F. Bluemers,

Might you be interested in trying to compile and hosting a cygwin1.dll independent version of Jaap Weidemann's modified polyglot, in addition to the 1.4w version you are now offering for download?

Below is a list of improvements/changes Jaap made to polyglot. The last one he released was, I believe, "PolyGlot 1.4 X 070325". The below list is from the read me text included in the PolyGlot 1.4 X 070325 zip file.

Maybe since "Polyglot 1.4w is based on polyglot 1.3w" it isn't possible to do?

2007/03/13: PolyGlot 1.4 X 070313

- added elo to the UCI_Opponent string

- added kibitzing of bookpv and tbhits

- added "DrawOffer" and "DrawOfferMoves" commands

- fixed issues with parsing certain tag strings in book-making

- fixed draws by repitition while still in book

- fixed engine time losses

2007/03/25: PolyGlot 1.4 X 070325

- added -min-elo option to book making


Jaap's website has been down awhile, but his last released Windows version of polyglot can be gotten here (source code included in the zip).

http://rapidshare.com/files/142229957/p ... 25_win.zip

(at the time of uploading the above file, connecting to the rapidshare site was near impossible for me.)
Hi Charles
I've looked at Jaap's polyglot version,but saw not much 'added value' in the extra features.
Are there any extensions in particular that you would like to see in my version?

Best
Fonzy
Charles B.

Re: Polyglot 1.4w Released

Post by Charles B. »

F. Bluemers wrote: Are there any extensions in particular that you would like to see in my version?
Well, now that you mention it. No, there aren't at this time any options in the Jaap modified version that are for me really needful in your 1.4w one.

You have the most important one covered already - fixed engine time losses.

Forget my request. :)
F. Bluemers
Posts: 868
Joined: Thu Mar 09, 2006 11:21 pm
Location: Nederland

Re: Polyglot 1.4w5 Released

Post by F. Bluemers »

The dust moved forward & the dust moved back.
New Broom.
The dust ends up in a brown paper sack.
New Broom.
Progress is made but progress is slow.
more polyglot 1.4w fixes
Olivier and Leo reported problems with Timea and Learning Lemming.
I don't have those (they are private) but "fortunatly" i noticed Madeleine had the same problems too
and could use that to test,find and fix the old broom.
The bugs show up for engines that need the "SyncStop" fix for pondering.
Also added "Affinity" option,to tie the engine to 1 or more cpu's of your choice.(ok,so its freaky :lol: )

Best
Fonzy
BubbaTough
Posts: 1154
Joined: Fri Jun 23, 2006 5:18 am

Re: Polyglot 1.4w5 Released

Post by BubbaTough »

more polyglot 1.4w fixes
Olivier and Leo reported problems with Timea and Learning Lemming.
I don't have those (they are private) but "fortunatly" i noticed Madeleine had the same problems too
and could use that to test,find and fix the old broom.
The bugs show up for engines that need the "SyncStop" fix for pondering.
Also added "Affinity" option,to tie the engine to 1 or more cpu's of your choice.(ok,so its freaky )

Best
Fonzy
You may want to look at the UCI pondering thread here: http://www.talkchess.com/forum/viewtopic.php?t=23613 which may be related.

I kind of like the draw option supported in the last version of polyglot by the way...better of course would be if UCI LET YOU OFFER AND ACCEPT DRAWS !!!GRRRR!!!! and polyglot passed that info on.

-Sam
F. Bluemers
Posts: 868
Joined: Thu Mar 09, 2006 11:21 pm
Location: Nederland

Re: Polyglot 1.4w5 Released

Post by F. Bluemers »

BubbaTough wrote:
more polyglot 1.4w fixes
Olivier and Leo reported problems with Timea and Learning Lemming.
I don't have those (they are private) but "fortunatly" i noticed Madeleine had the same problems too
and could use that to test,find and fix the old broom.
The bugs show up for engines that need the "SyncStop" fix for pondering.
Also added "Affinity" option,to tie the engine to 1 or more cpu's of your choice.(ok,so its freaky )

Best
Fonzy
You may want to look at the UCI pondering thread here: http://www.talkchess.com/forum/viewtopic.php?t=23613 which may be related.

I kind of like the draw option supported in the last version of polyglot by the way...better of course would be if UCI LET YOU OFFER AND ACCEPT DRAWS !!!GRRRR!!!! and polyglot passed that info on.

-Sam
well , why not,polyglot is not a uci gui but a uci<->winboard adapter
so we can relax a bit from the uci philosophy.
from the uci protocol definition:
option
This command tells the GUI which parameters can be changed in the engine.
This should be sent once at engine startup after the "uci" and the "id" commands
if any parameter can be changed in the engine.
The GUI should parse this and build a dialog for the user to change the settings.
Note that not every option needs to appear in this dialog as some options like
"Ponder", "UCI_AnalyseMode", etc. are better handled elsewhere or are set automatically.
so one could define a parameter UCI_Drawoffer,that would cause no problems with any standard uci gui.
eg "option name UCI_DrawOffer type string\n"
Now we only need to define suitable strings for incoming/outgoing drawoffers and declines.
Ofcouse we need to take care of engines not handling this option at all.
Anyone has a more detailed proposal?

Best
Fonzy
Sven
Posts: 4052
Joined: Thu May 15, 2008 9:57 pm
Location: Berlin, Germany
Full name: Sven Schüle

Re: Polyglot 1.4w5 Released

Post by Sven »

F. Bluemers wrote:
BubbaTough wrote:
The bugs show up for engines that need the "SyncStop" fix for pondering.
You may want to look at the UCI pondering thread here: http://www.talkchess.com/forum/viewtopic.php?t=23613 which may be related.
Fonzy,

can you describe briefly in which cases (of "wrongdoing" by an engine) the SyncStop option must be set, and why the Polyglot behaviour for SyncStop is not the default behaviour?

This is a part of the "confusion" being discussed in the thread Sam pointed you to.

Sven
F. Bluemers
Posts: 868
Joined: Thu Mar 09, 2006 11:21 pm
Location: Nederland

Re: Polyglot 1.4w5 Released

Post by F. Bluemers »

Sven Schüle wrote:
F. Bluemers wrote:
BubbaTough wrote:
The bugs show up for engines that need the "SyncStop" fix for pondering.
You may want to look at the UCI pondering thread here: http://www.talkchess.com/forum/viewtopic.php?t=23613 which may be related.
Fonzy,

can you describe briefly in which cases (of "wrongdoing" by an engine) the SyncStop option must be set, and why the Polyglot behaviour for SyncStop is not the default behaviour?

This is a part of the "confusion" being discussed in the thread Sam pointed you to.

Sven
Madeleine was playing illegal moves,eg it played the ponder move which was just played by the opponent.But that was before i removed some bugs

Let me make some logs.
Best Fonzy
BubbaTough
Posts: 1154
Joined: Fri Jun 23, 2006 5:18 am

Re: Polyglot 1.4w5 Released

Post by BubbaTough »

so one could define a parameter UCI_Drawoffer,that would cause no problems with any standard uci gui.
eg "option name UCI_DrawOffer type string\n"
Now we only need to define suitable strings for incoming/outgoing drawoffers and declines.
Ofcouse we need to take care of engines not handling this option at all.
Anyone has a more detailed proposal?

Best
Fonzy
I don't have a more detailed suggestion, but I would LOVE if someone implemented something like that. The main reason I am considering the bother of adding Winboard support is I really want to be able to do intelligent draw decisions...without it UCI engines are banned from making some important chess decisions (and bug the heck out of human players in drawn positions I am sure). Any support you put in polyglot for sending / receiving draw offers I would happily add in my engine.

One other thing I remember Jaap said he added you might consider, he automatically set polyglot at a high priority level I think, so it would always process and send along input (otherwise sometimes the engine would hog all the cpu and not know polyglot was trying to tell it something for some time...enough to cause time losses in some cases.

-Sam
F. Bluemers
Posts: 868
Joined: Thu Mar 09, 2006 11:21 pm
Location: Nederland

Re: Polyglot 1.4w5 Released

Post by F. Bluemers »

Here a game:

Code: Select all

&#91;Event "Computer Chess Game"&#93;
&#91;Site "HIEPKE"&#93;
&#91;Date "2008.09.10"&#93;
&#91;Round "1.1"&#93;
&#91;White "Alichess"&#93;
&#91;Black "Madeleine"&#93;
&#91;Result "1-0"&#93;
&#91;TimeControl "60"&#93;
&#91;Annotator "5. -1.04   4... +0.96"&#93;
&#91;Number "4"&#93;

1. f4 f5 2. e4 fxe4 3. Nc3 Nf6 4. g4 e6 &#123;+0.96/9&#125; 5. g5 &#123;-1.04/9&#125;
Nd5 &#123;+1.09/10&#125; 6. Nxe4 &#123;-1.01/9&#125; Be7 &#123;+1.09/9&#125; 7. Ne2 &#123;-0.19/8&#125;
O-O &#123;+1.13/8&#125; 8. d4 &#123;-0.06/8&#125;
&#123;Forfeit due to illegal move&#125; 1-0
and here the tail of the polyglot log file:

Code: Select all

XBoard->Adapter&#58; usermove d2d4
POLYGLOT MOVE d4
POLYGLOT PONDER -> THINK &#40;miss&#41;
POLYGLOT STOP SEARCH
Adapter->Engine&#58; stop
POLYGLOT START SEARCH
POLYGLOT FEN rnbq1rk1/ppppb1pp/4p3/3n2P1/3PNP2/8/PPP1N2P/R1BQKB1R b KQ - 0 8
Adapter->Engine&#58; position startpos moves f2f4 f7f5 e2e4 f5e4 b1c3 g8f6 g2g4 e7e6 g4g5 f6d5 c3e4 f8e7 g1e2 e8g8 d2d4
Adapter->Engine&#58; go wtime 54560 btime 56030
Engine->Adapter&#58; info depth 9 time 765 nodes 681518 score cp 147 pv d5f4 e2f4 f8f4 d2d4 f4f8 h1f1 f8f1
Engine->Adapter&#58; bestmove d5f4 ponder e2f4
Engine->Adapter&#58; info string QNodes&#58; 525672 BCuts&#58; 132249 NullRatio&#58; 78.86 HashRatio&#58; 24.54 PawnHashRatio&#58; 96.18 EvalNodes&#58; 525672 EvalPrune&#58; 323409 EvalRatio&#58; 61.52
Engine->Adapter&#58; info depth  2
Engine->Adapter&#58; info currmove f4e2 currmovenumber 1
Engine->Adapter&#58; info depth 2 time 0 nodes 361 score cp 143 pv f4e2
Adapter->XBoard&#58; 2 +143 0 361 
Engine->Adapter&#58; info currmove e7g5 currmovenumber 2
Engine->Adapter&#58; info currmove e7b4 currmovenumber 3
Engine->Adapter&#58; info depth 2 time 0 nodes 441 score cp 240 pv e7b4 c1d2
Adapter->XBoard&#58; 2 +240 0 441 Bb4+ Bd2
Engine->Adapter&#58; info currmove f4d5 currmovenumber 4
Engine->Adapter&#58; info depth 2 time 0 nodes 443 score cp 251 pv f4d5
Adapter->XBoard&#58; 2 +251 0 443 
Engine->Adapter&#58; info currmove f4g6 currmovenumber 5
Engine->Adapter&#58; info currmove f4h5 currmovenumber 6
.....

Engine->Adapter&#58; info currmove f8f6 currmovenumber 34
Engine->Adapter&#58; info depth  3
Engine->Adapter&#58; info currmove f4d5 currmovenumber 1
Engine->Adapter&#58; info depth 3 time 0 nodes 537 score cp 201  upperbound  pv f4d5
Adapter->XBoard&#58; 3 +201 0 537 
Engine->Adapter&#58; info currmove d7d5 currmovenumber 2
.....

Engine->Adapter&#58; info currmove g8f7 currmovenumber 34
Engine->Adapter&#58; info currmove f4d5 currmovenumber 1
Engine->Adapter&#58; info depth 3 time 0 nodes 1077 score cp 174 pv f4d5 h1g1
Adapter->XBoard&#58; 3 +174 0 1077 
Engine->Adapter&#58; info currmove d7d5 currmovenumber 2
Engine->Adapter&#58; info depth 3 time 0 nodes 1154 score cp 197 pv d7d5 c1f4
Adapter->XBoard&#58; 3 +197 0 1154 
Engine->Adapter&#58; info currmove e6e5 currmovenumber 3
.....
Engine->Adapter&#58; info currmove f4d3 currmovenumber 34
Engine->Adapter&#58; info depth  4
Engine->Adapter&#58; info currmove d7d5 currmovenumber 1
Engine->Adapter&#58; info depth 4 time 0 nodes 2127 score cp 197 pv d7d5 c1f4 d5e4
Adapter->XBoard&#58; 4 +197 0 2127 
Engine->Adapter&#58; info currmove e6e5 currmovenumber 2
.....
Engine->Adapter&#58; info currmove f4g6 currmovenumber 22
Engine->Adapter&#58; info depth 4 time 16 nodes 3794 score cp 203 pv f4g6 h1g1 d7d6
Adapter->XBoard&#58; 4 +203 2 3794 
Engine->Adapter&#58; info currmove h7h6 currmovenumber 23
.....
Engine->Adapter&#58; info currmove f4e2 currmovenumber 30
Engine->Adapter&#58; info depth 4 time 16 nodes 5082 score cp 247 lowerbound  pv f4e2
Adapter->XBoard&#58; 4 +247 2 5082 
Engine->Adapter&#58; info currmove f4e2 currmovenumber 1
Engine->Adapter&#58; info depth 4 time 16 nodes 6232 score cp 264 pv f4e2 e1e2 d7d5 e4c3
Adapter->XBoard&#58; 4 +264 2 6232 
Engine->Adapter&#58; info currmove f4g6 currmovenumber 2
.....
Engine->Adapter&#58; info currmove f4d3 currmovenumber 34
Engine->Adapter&#58; info depth  5
Engine->Adapter&#58; info currmove f4e2 currmovenumber 1
Engine->Adapter&#58; info depth 5 time 16 nodes 8472 score cp 264 pv f4e2 e1e2 d7d5 e4c3 e7g5
Adapter->XBoard&#58; 5 +264 2 8472 
Engine->Adapter&#58; info currmove e7g5 currmovenumber 2
.....
Engine->Adapter&#58; info currmove e7b4 currmovenumber 34
Engine->Adapter&#58; info depth  6
Engine->Adapter&#58; info currmove f4e2 currmovenumber 1
Engine->Adapter&#58; info depth 6 time 47 nodes 35043 score cp 239 pv f4e2 f1e2 d7d5 e4f2 e7b4 c1d2 b4d2 d1d2 b8c6
Adapter->XBoard&#58; 6 +239 5 35043 
Engine->Adapter&#58; info currmove e7g5 currmovenumber 2
Engine->Adapter&#58; info currmove g8f7 currmovenumber 3
..........
Engine->Adapter&#58; info currmove e7b4 currmovenumber 34
Engine->Adapter&#58; info depth  7
Engine->Adapter&#58; info currmove f4e2 currmovenumber 1
Engine->Adapter&#58; info depth 7 time 188 nodes 168842 score cp 197 pv f4e2 f1e2 d7d5 e4f2 b8c6 e1g1 e6e5
Adapter->XBoard&#58; 7 +197 19 168842 
Engine->Adapter&#58; info currmove e7g5 currmovenumber 2
..........
Engine->Adapter&#58; info currmove e7b4 currmovenumber 34
Engine->Adapter&#58; info depth  8
Engine->Adapter&#58; info currmove f4e2 currmovenumber 1
Engine->Adapter&#58; info depth 8 time 563 nodes 545001 score cp 199 pv f4e2 f1e2 d7d5 e4f2 b8c6 e1g1 e6e5 d4e5
Adapter->XBoard&#58; 8 +199 56 545001 
Engine->Adapter&#58; info currmove e7g5 currmovenumber 2
Engine->Adapter&#58; info currmove g8f7 currmovenumber 3
Engine->Adapter&#58; info currmove f4d5 currmovenumber 4
Engine->Adapter&#58; info currmove f4d3 currmovenumber 5
Engine->Adapter&#58; info currmove f4g6 currmovenumber 6
Engine->Adapter&#58; info depth 8 time 985 nodes 928507 score cp 199 pv f4e2 f1e2 d7d5 e4f2 b8c6 e1g1 e6e5 d4e5
Adapter->XBoard&#58; 8 +199 99 928507 
Engine->Adapter&#58; bestmove f4e2 ponder f1e2
Adapter->XBoard&#58; 8 +199 99 928507 
Adapter->XBoard&#58; move f4e2
POLYGLOT ILLEGAL MOVE "f4e2"
POLYGLOT rnbq1rk1/ppppb1pp/4p3/3n2P1/3PNP2/8/PPP1N2P/R1BQKB1R b KQ - 0 8
POLYGLOT
POLYGLOT r n b q - r k - 
POLYGLOT p p p p b - p p 
POLYGLOT - - - - p - - - 
POLYGLOT - - - n - - P - 
POLYGLOT - - - P N P - - 
POLYGLOT - - - - - - - - 
POLYGLOT P P P - N - - P 
POLYGLOT R - B Q K B - R 
POLYGLOT
POLYGLOT black to play
POLYGLOT
move_step&#40;)&#58; illegal move "f4e2"
POLYGLOT *** QUIT ***
Adapter->Engine&#58; quit
Best
Fonzy
F. Bluemers
Posts: 868
Joined: Thu Mar 09, 2006 11:21 pm
Location: Nederland

Re: Polyglot 1.4w5 Released

Post by F. Bluemers »

BubbaTough wrote:
so one could define a parameter UCI_Drawoffer,that would cause no problems with any standard uci gui.
eg "option name UCI_DrawOffer type string\n"
Now we only need to define suitable strings for incoming/outgoing drawoffers and declines.
Ofcouse we need to take care of engines not handling this option at all.
Anyone has a more detailed proposal?

Best
Fonzy
I don't have a more detailed suggestion, but I would LOVE if someone implemented something like that. The main reason I am considering the bother of adding Winboard support is I really want to be able to do intelligent draw decisions...without it UCI engines are banned from making some important chess decisions (and bug the heck out of human players in drawn positions I am sure). Any support you put in polyglot for sending / receiving draw offers I would happily add in my engine.

One other thing I remember Jaap said he added you might consider, he automatically set polyglot at a high priority level I think, so it would always process and send along input (otherwise sometimes the engine would hog all the cpu and not know polyglot was trying to tell it something for some time...enough to cause time losses in some cases.

-Sam
I'll look at the draw stuff.
I don't like the idea yet for setting pg at a high(er) prio per default.
But it might be an idea to implement "nice" in the windows version of pg.
Best
Fonzy