Page 1 of 2

Polyglot 1.4w5

PostPosted: 09 Sep 2008, 20:58
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 :) )

Best
Fonzy

Re: Polyglot 1.4w5

PostPosted: 10 Sep 2008, 06:01
by Olivier Deville
F. Bluemers wrote:
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 :) )

Best
Fonzy


Great job Fonzy !

I can confirm LL and Timea are happy now :)

Olivier

Polyglot 1.4w5

PostPosted: 12 Sep 2008, 16:37
by F. Bluemers
Olivier Deville wrote:
F. Bluemers wrote:
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 :) )

Best
Fonzy


Great job Fonzy !

I can confirm LL and Timea are happy now :)

Olivier

good to hear that,Olivier
I just uploaded version 1.4w6
It enables uci-engines to offer draws and accept them from winboard.


1:to activate draw offers the engine has to define the "UCI_DrawOffers" parameter with the 'option" command at startup.
2:to offer a draw or accept a draw offer:just send
"info string DrawOffer" to polyglot.
3:if winboard sends "draw" polyglot sends
"setoption DrawOffer draw" to the engine.

It might look ugly using messages as well as a parameter,but it won't introduce any extra traffic.
I only tested this very lightly so,please report bugs if they creep up

Best
Fonzy

Polyglot 1.4w7

PostPosted: 15 Sep 2008, 20:41
by F. Bluemers
No fixes/additions this time.
I tried fixing the source,so that it would compile under linux/unix again.
I cannot test this myself,can someone try..?

Best
Fonzy

Re: Polyglot 1.4w5

PostPosted: 15 Sep 2008, 21:58
by Teemu Pudas
Code: Select all
Adapter->Engine: stop
POLYGLOT START SEARCH
POLYGLOT FEN rnbq1rk1/ppppb1pp/4p3/3n2P1/3PNP2/8/PPP1N2P/R1BQKB1R b KQ - 0 8
Adapter->Engine: position startpos moves f2f4 f7f5 e2e4 f5e4 b1c3 g8f6 g2g4 e7e6 g4g5 f6d5 c3e4 f8e7 g1e2 e8g8 d2d4
Adapter->Engine: go wtime 54560 btime 56030
Engine->Adapter: info depth 9 time 765 nodes 681518 score cp 147 pv d5f4 e2f4 f8f4 d2d4 f4f8 h1f1 f8f1
Engine->Adapter: bestmove d5f4 ponder e2f4

Aren't you supposed to wait for bestmove before starting a new search?
UCI wrote:stop

// the engine has finished searching and is sending the bestmove command
// which is needed for every "go" command sent to tell the GUI
// that the engine is ready again
bestmove g1f3 ponder d8f6

Or is Polyglot allowed to violate that because it's not graphical? :)

Re: Polyglot 1.4w5

PostPosted: 15 Sep 2008, 22:42
by F. Bluemers
Teemu Pudas wrote:
Code: Select all
Adapter->Engine: stop
POLYGLOT START SEARCH
POLYGLOT FEN rnbq1rk1/ppppb1pp/4p3/3n2P1/3PNP2/8/PPP1N2P/R1BQKB1R b KQ - 0 8
Adapter->Engine: position startpos moves f2f4 f7f5 e2e4 f5e4 b1c3 g8f6 g2g4 e7e6 g4g5 f6d5 c3e4 f8e7 g1e2 e8g8 d2d4
Adapter->Engine: go wtime 54560 btime 56030
Engine->Adapter: info depth 9 time 765 nodes 681518 score cp 147 pv d5f4 e2f4 f8f4 d2d4 f4f8 h1f1 f8f1
Engine->Adapter: bestmove d5f4 ponder e2f4

Aren't you supposed to wait for bestmove before starting a new search?
UCI wrote:stop

// the engine has finished searching and is sending the bestmove command
// which is needed for every "go" command sent to tell the GUI
// that the engine is ready again
bestmove g1f3 ponder d8f6

Or is Polyglot allowed to violate that because it's not graphical? :)

you forgot this in your quote:
XBoard->Adapter: usermove d2d4
POLYGLOT MOVE d4
POLYGLOT PONDER -> THINK (miss)
POLYGLOT STOP SEARCH

It is a pondermiss,so the "bestmove" will be discarded anyway.
And its no violation to start a new search before receiving it.
It was discussed already here:
http://64.68.157.89/forum/viewtopic.php?t=23613&start=20&postdays=0&postorder=asc&highlight=

Re: Polyglot 1.4w5

PostPosted: 16 Sep 2008, 15:50
by Teemu Pudas
F. Bluemers wrote:you forgot this in your quote:
XBoard->Adapter: usermove d2d4
POLYGLOT MOVE d4
POLYGLOT PONDER -> THINK (miss)
POLYGLOT STOP SEARCH

How is that relevant? The part of the standard I quoted seems to imply the stop/bestmove pair should be treated the same way as isready/readyok. Shredder Classic 3 agrees, by the way:

Code: Select all
<bestmove e2e4 ponder e7e5
>position startpos moves e2e4 e7e5
>go ponder movestogo 60 wtime 120000 btime 120000
<info depth 1 pv b1c3
>stop // I played d7d5
<info depth 2 pv b1c3 // just to make sure Shredder knows the engine is still alive
>stop
>stop // Shredder stops responding to user input until the engine is well and truly stopped
>stop
>stop
>quit // Followed by restarting the engine

Re: Polyglot 1.4w7

PostPosted: 17 Sep 2008, 18:17
by F. Bluemers
Some small problems fixed,with the help from Kenny Dail and Jim Ablett. :D
Its online now.
Best
Fonzy

Re: Polyglot 1.4w5

PostPosted: 17 Sep 2008, 18:36
by F. Bluemers
Hi,
* the engine must always be able to process input from stdin, even while thinking.

Polyglot sends stop and a new search to the engine after a pondermiss,the bestmove will be discarded.
The engine should handle the stop first and continue with the new search.

Best
Fonzy

Re: Polyglot 1.4w5

PostPosted: 17 Sep 2008, 19:47
by Teemu Pudas
The engine should handle the stop first and continue with the new search.
Define 'handle'. What's stopping the engine from just setting a flag to stop searching, immediately processing the rest of the input, discarding the position and go (because it's still searching - as defined by not having sent bestmove yet)?

Re: Polyglot 1.4w5

PostPosted: 17 Sep 2008, 20:05
by F. Bluemers
Teemu Pudas wrote:
The engine should handle the stop first and continue with the new search.
Define 'handle'. What's stopping the engine from just setting a flag to stop searching, immediately processing the rest of the input, discarding the position and go (because it's still searching - as defined by not having sent bestmove yet)?

I don't worry HOW it does it,only THAT it does it :D

Best
Fonzy

Polyglot 1.4w7

PostPosted: 18 Sep 2008, 18:43
by F. Bluemers
Resigning added.
The engine can now resign.
(note: this will not bring many elo points :D )

1.To activate draw offers or resigning,the engine has
to define the "UCI_DrawOffers" parameter with the 'option" command at startup.

2.To offer a draw or accept a draw offer:just send "info string DrawOffer" to polyglot.
3.If winboard sends "draw", polyglot sends "setoption DrawOffer draw" to the engine.
4.To resign: send "info string Resign" to polyglot.
Please check the winboard documentation for the draw/drawoffer and resign commands.

Polyglot 1.4w8

PostPosted: 17 Nov 2008, 17:25
by F. Bluemers
Polyglot 1.4w8 released

multipv output has been fixed
added timestamping in logfile

multipv: note that the worst move will be on the top of the display
please don't play games with multipv ,it wont make sense :D
Best
Fonzy

edit: Guenther,there is something in your mailbox

Re: Polyglot 1.4w8

PostPosted: 18 Nov 2008, 09:48
by Michel
Hi,

Do you accept patches for Polyglot? If so in what format?

A while ago I think I noticed a small bug in the opening book handling code for FEN's.


Regards,
Michel

Re: Polyglot 1.4w8

PostPosted: 18 Nov 2008, 17:14
by F. Bluemers
Michel wrote:Hi,

Do you accept patches for Polyglot? If so in what format?

A while ago I think I noticed a small bug in the opening book handling code for FEN's.


Regards,
Michel

Just send me the corrected file(s),if you want, to fonzy at geenvis.net

Best Fonzy

Polyglot 1.4w9

PostPosted: 19 Nov 2008, 21:47
by F. Bluemers
fixed disappearing engine-output while in multipv mode
fixed bug introduced in 1.4w8
added RepeatPV workaround (for winboard debug tools)
Best
Fonzy

Re: Polyglot 1.4w9

PostPosted: 20 Nov 2008, 19:40
by Guenther Simon
F. Bluemers wrote:fixed disappearing engine-output while in multipv mode
fixed bug introduced in 1.4w8
added RepeatPV workaround (for winboard debug tools)
Best
Fonzy


Thanks Fonzy(and Jaap)! No problems found so far.

Best,
Guenther

Re: Polyglot 1.4w12

PostPosted: 10 Jan 2009, 19:53
by F. Bluemers
This one moves a bit closer to Michel his polyglot version.
It is still oldfashioned though
It now uses the UseNice/NiceValue mechanism.
Logs the polyglot's version number.
I also did some code cleanup.
The link to Michel's version is on my website now.
Best
Fonzy

Re: Polyglot 1.4w5

PostPosted: 14 Jan 2009, 20:55
by F. Bluemers
Polyglot 1.4w14 with a new feature:
A global ini file:
After reading the users's ini file (the default polyglot.ini or the ini file supplied on the command line),
polyglot checks if there exists a file "globals.ini" and reads this one too.
Entries in global.ini overrides the previous values,
except for "LogFile" and "NoGlobals",which are ignored.
This is usefull if you want to set some values (Hash f.i.) same for all engines .

added a new option for the [polyglot] section in the user's ini file:
- NoGlobals : if set true, the globals.ini will not be read.

global.ini could look like this:

Code: Select all
[POLYGLOT]
; just an example globals.ini file

log = true
logfile = global.log ; no effect!

PostDelay = 1 ; don't spam us

Book = true
BookFile = randomfun.bin ;same book for all engines

[Engine]

OwnBook = false

Hash = 64
MultiPv = 1  ; turn off multipv
NalimovCache = 32
NalimovPath = C:\Tablebases\TB4



Best

Re: Polyglot 1.4w5

PostPosted: 15 Jan 2009, 07:32
by ChessKnight
F. Bluemers

Could you give us one practical usage (example) for using global.ini coz i guess polyglot.ini is optimized for particular engine performance.

regards