Winboard protocol and fractional increments

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

jdart
Posts: 4366
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Winboard protocol and fractional increments

Post by jdart »

The Winboard protocol definition http://www.open-aurec.com/wbforum/WinBo ... -intf.html talks only about the "level" command providing the increment time in seconds, but in fact if a fractional increment is specified to Winboard/xboard (for example -inc 0.3), it will be passed to the engine.

The problem is, though, most Winboard-compatible engines currently are only expecting an integer so won't process the fraction. (I have looked at: Exchess, Gnuchess 5, and Crafty, I think they all do this, so does Arasan, although I have a fix for it, not published yet).

I noticed this because my fast bullet testing, which does use fractional increments, seemed to result in games that were "too fast", because with the fraction ignored they were in effect sudden-death games.

It would be nice for engines to support fractional increments.

--Jon
User avatar
hgm
Posts: 27787
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Winboard protocol and fractional increments

Post by hgm »

This is partly compensated by the fact that the GUI does add the time. So although the engine doesn't count on the extra time, it will see as a pleasant surprise on the next move that there is extra time on its clock. The way I saw these small increments was that they would mainly serve to compensate communication lags, so that it would just be misleading to the engine to tell it it gets an increment. But these delays turned out a lot faster then I thought, once I started measuring them (in -noGUI mode).

But I agree it would be nice if more engines would support fractional increment.
User avatar
Guenther
Posts: 4605
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: Winboard protocol and fractional increments

Post by Guenther »

I tried some book tests overnight with a tc of 20s+0.25s and I noticed that the inc does not appear in the pgn header.
Can this be fixed or do I need to change some setting/option?
[Event "RWBC"]
[Site "CAPPUCCINO"]
[Date "2016.09.24"]
[Round "1"]
[White "StockfishASM_150916-64"]
[Black "StockfishASM_150916NB-64"]
[Result "1/2-1/2"]
[TimeControl "20+0"] => 20+0.25 in reality
[Number "1"]
[Annotator "11. -0.06 3... -0.45"]
User avatar
hgm
Posts: 27787
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Winboard protocol and fractional increments

Post by hgm »

I suppose I could have the fraction printed there. I will look into it.
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: Winboard protocol and fractional increments

Post by Evert »

jdart wrote: It would be nice for engines to support fractional increments.
Agreed (all of mine do).
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Winboard protocol and fractional increments

Post by bob »

jdart wrote:The Winboard protocol definition http://www.open-aurec.com/wbforum/WinBo ... -intf.html talks only about the "level" command providing the increment time in seconds, but in fact if a fractional increment is specified to Winboard/xboard (for example -inc 0.3), it will be passed to the engine.

The problem is, though, most Winboard-compatible engines currently are only expecting an integer so won't process the fraction. (I have looked at: Exchess, Gnuchess 5, and Crafty, I think they all do this, so does Arasan, although I have a fix for it, not published yet).

I noticed this because my fast bullet testing, which does use fractional increments, seemed to result in games that were "too fast", because with the fraction ignored they were in effect sudden-death games.

It would be nice for engines to support fractional increments.

--Jon
I don't really use that info for much. The time/otim seems to solve this for me, since it is in 1/100th of a second and I get one after each move which will include the increment already added in...

I am not sure how you would go "too fast" if you accept the "time" command.
User avatar
hgm
Posts: 27787
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Winboard protocol and fractional increments

Post by hgm »

Engines in general cannot sensibly decide upon the thinking time based on time/otim alone. The latter commands relay only what is currently on your clock. If that is, say, 11 sec, you might want to think only 0.35 sec in a sudden-death game. However, if you are playing 5min + 10sec/move, you would probably want to think 6-10 sec. The only way to know whether you are playing sudden-death or 5+10 is by looking at the 'inc' info in the 'level' command.