xboard and fifty move rule

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
Fabio Gobbato
Posts: 217
Joined: Fri Apr 11, 2014 10:45 am
Full name: Fabio Gobbato

xboard and fifty move rule

Post by Fabio Gobbato »

If I open xboard (without engines) and paste this position 8/8/2kr4/8/4R3/5K2/5B2/8 w - - 99 70 and then edit game the GUI doesn't detect the draw after a move but goes on until 102 half moves.

If I run xboard with an engine and I repeat the same operations the GUI works well.

The xboard version that I used is 4.8.0

It's not a big problem but maybe could be fixed.
User avatar
hgm
Posts: 27789
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: xboard and fifty move rule

Post by hgm »

I don't think adjudications are supposed to work, while you are editing a game. Perhaps apart from detecting mates (and I think it does that). 50-move draws must be claimed, and it is perfectly possible that players decide to play on after 50 reversible moves. It would be pretty annoying if you could not enter such a game in WinBoard.
User avatar
Fabio Gobbato
Posts: 217
Joined: Fri Apr 11, 2014 10:45 am
Full name: Fabio Gobbato

Re: xboard and fifty move rule

Post by Fabio Gobbato »

So why adjudication works if I edit a game with an engine launched and it doesn't work without?
It's not wrong adjudication if you can edit a game with a 101 half move counter.
I know it's not a problem because it does not affect the game play, but it seems wrong to me.
User avatar
hgm
Posts: 27789
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: xboard and fifty move rule

Post by hgm »

That is indeed strange. Are you sure it is XBoard that adjudicates the game, and not the engine? What exactly is the message that is printed?
User avatar
Fabio Gobbato
Posts: 217
Joined: Fri Apr 11, 2014 10:45 am
Full name: Fabio Gobbato

Re: xboard and fifty move rule

Post by Fabio Gobbato »

With this command line:

Code: Select all

xboard
Then past position, edit game, and I made some moves, the counter in engine output reach 102 reversible plies and in the xboard window "{XBoard adjudication: 50-move rule}".

With this command line:

Code: Select all

xboard -fcp ./stockfish -fUCI
Then past position, edit game, and i made one move, the counter in engine output reach 100 reversible plies and in the xboard window "{Draw by fifty-move rule}".

You're right maybe is polyglot.
User avatar
hgm
Posts: 27789
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: xboard and fifty move rule

Post by hgm »

OK, so the second case is not an adjudication by XBoard, as all such adjudications would have "XBoard adjudication:" in the message. That means it must come from Stockfish. And as Stockfish is UCI, that means it must come from Polyglot.

This actually sounds like a Polyglot bug: when in force mode, XBoard engines are not supposed to claim results, are they? It seems to me that a result claim is a kind of move. (Although I am not sure about mates: this is more like observing a fact that taking an action, as by FIDE rules the game would already have ended. XBoard uses engines in Edit Game (=force) mode to enforce the rules when regality testing is off. Which it would be in variants XBoard does not know the rules of. And then XBoard would not know whether a position is a checkmate either, so it would be very useful if the engine would point that out.)

Note that the number of reversible plies after which XBoard adjudicates a draw is a user-adjustable parameter. This because it is not the same in every variant (E.g. Makruk has a 64-move rule). And to allow people to test this logic in their engine: If the GUI would already adjudicate on move 50, the engine would never get an opportunity to claim, and you would not notice if its claim logic is defective. For this reason we distribute XBoard with the parameter configured to 51, rather than 50. (And the number of repeats at 6 instead of 3.) It would accept draw claims from the engine already at 50 moves, however. (Even in Makruk, which should be considered a bug. There should really be two adjustable parameters: claimMoves and adjudicateMoves.)
User avatar
Fabio Gobbato
Posts: 217
Joined: Fri Apr 11, 2014 10:45 am
Full name: Fabio Gobbato

Re: xboard and fifty move rule

Post by Fabio Gobbato »

I tried with Gaviota and EXchess: Gaviota adjudicated the game, EXchess didn't.

However it's not a real problem. Thank you.
User avatar
hgm
Posts: 27789
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: xboard and fifty move rule

Post by hgm »

This was Gaviota running as XBoard engine?
User avatar
Fabio Gobbato
Posts: 217
Joined: Fri Apr 11, 2014 10:45 am
Full name: Fabio Gobbato

Re: xboard and fifty move rule

Post by Fabio Gobbato »

Yes it was
User avatar
hgm
Posts: 27789
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: xboard and fifty move rule

Post by hgm »

Perhaps I should make XBoard ignore draw claims from engines that are in force mode.