Page 1 of 1

Default ponder state

PostPosted: 11 Mar 2009, 12:29
by Fermin Serrano
I have read Winboard protocol, but have not a clear answer to this:

Is it OK if I activate ponder after a 'st' or 'level' command?

Is it OK if I activate ponder in engine start as default?

Re: Default ponder state

PostPosted: 11 Mar 2009, 13:02
by Pedro Castro
You have to follow instructions from the GUI, you can only activate ponder when you get the command "hard" and turn off when you get the command "easy".

Re: Default ponder state

PostPosted: 12 Mar 2009, 09:54
by H.G.Muller
Fermin Serrano wrote:I have read Winboard protocol, but have not a clear answer to this:

Is it OK if I activate ponder after a 'st' or 'level' command?

Is it OK if I activate ponder in engine start as default?

This is not OK.

The WB protocol specs explicitly state that the engine should not automatically start pondering in the opening position (i.e. after a new command), not even when pondering is switched on through a hard command. (Which normally is sent after the new, as the effect of new on the ponder on/off state is explicitly undefined.) Commands like level and st do not change the position, so the rule that you should not ponder from the opening position remains valid there. So normally you start pondering after doing your first move.

Tim Mann's specs do not explicitly say anything about pondering after setboard or edit commands, (or white and black, which should be considered as an extension of the edit command to enable it to do what setboard does all at once). But logic dictates that it should be treated the same way as a new command, defining the opening position in cases where this cannot be implied by the new or variant command. (E.g. in Chess960, where the setboard mandatory follows new and variant fischerandom.

So IMO none of these commands should trigger the start of actual pondering. Pondering is only allowed after the engine has made a move in the current game, in response to a go command or an opponent move.

Re: Default ponder state

PostPosted: 12 Mar 2009, 22:57
by Fermin Serrano
Thanks HG. Clear!

Re: Default ponder state

PostPosted: 19 Mar 2009, 19:07
by Sven Schüle
H.G.Muller wrote:Pondering is only allowed after the engine has made a move in the current game, in response to a go command or an opponent move.

Don't forget the "playother" command (o.k., quite rare, but it's in the spec) ...
The following is quoted from Tim Mann's page with some highlighting added by me:
playother
(This command is new in protocol version 2. It is not sent unless you enable it with the feature command.) Leave force mode and set the engine to play the color that is not on move. Associate the opponent's clock with the color that is on move, the engine's clock with the color that is not on move. Start the opponent's clock. If pondering is enabled, the engine should begin pondering. If the engine later receives a move, it should start thinking and eventually reply.
Sven

Re: Default ponder state

PostPosted: 20 Mar 2009, 10:08
by H.G.Muller
Good that you mentioned that. I had not noticed it at all. Of course there is the analyze command too, which, if I understand it correctly, is nothing but force mode with pondering.

In fact the specs are deficient: they do not even explicitly say that setboard should lave you in force mode. It would be very possible to implement setboard such that the computer was playing the color that was not on move, like the white and black command. That would have had the advantage that sending a FEN for the standard opening position would have been equivalent to the new command, which aso sets the computer to play black. Than non-equivalence causes a lot of trouble in games like Chess960!

In protocol 1, WB first sets the side to move, and the issues force, before giving the edit command. This leaves the engine in force mode. The same strategy is used in protocol 2: force always preceeds setboard. So the rule that setboard causes a transition to force mode, or that it leaves the mode unchanged, in practice are the same.