Wrong draw claim by Naum 4.2 ?

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

Moderators: hgm, Harvey Williamson, bob

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
User avatar
Matthias Gemuh
Posts: 3234
Joined: Thu Mar 09, 2006 8:10 am
Contact:

Wrong draw claim by Naum 4.2 ?

Post by Matthias Gemuh » Wed Jan 12, 2011 6:21 pm

Maybe someone should inform Naumov.

[D]8/4B3/8/1k6/3p4/3K4/8/2n5 w - - 4 116

In this position, Naum 4.2 played Kxd4 and immediately claimed draw by sending
"1/2-1/2 {Insufficient material}" to ChessGUI.

ChessGUI penalized Naum with a loss becaused a checkmate is theoretically possible.

Naum ran as UCI engine. Though the UCI protocol does not support claiming a draw, some UCI engines claim draws anyway.

Was ChessGUI wrong to penalize Naum ?
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de

Martin Thoresen
Posts: 1833
Joined: Wed Jun 21, 2006 10:07 pm

Re: Wrong draw claim by Naum 4.2 ?

Post by Martin Thoresen » Wed Jan 12, 2011 7:30 pm

I have informed Alex.

User avatar
Matthias Gemuh
Posts: 3234
Joined: Thu Mar 09, 2006 8:10 am
Contact:

Re: Wrong draw claim by Naum 4.2 ?

Post by Matthias Gemuh » Wed Jan 12, 2011 7:44 pm

I have a brilliant idea with the side effect that you guys may wait one hour or longer for an engine move that may never be played.
ChessGUI shall optionally allow UCI engines to play on after they declare "end of game" by claiming a draw. Some engines can play on. Those that cannot, will keep you waiting till they lose on time.
"Optionally" means the GUI operator shall decide.

So nobody should ever blame me again for penalizing a wrong claim not supported by the UCI protocol. I mean after I implement the feature :D


Matthias.
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de

Tord Romstad
Posts: 1808
Joined: Wed Mar 08, 2006 8:19 pm
Location: Oslo, Norway

Re: Wrong draw claim by Naum 4.2 ?

Post by Tord Romstad » Wed Jan 12, 2011 8:07 pm

Matthias Gemuh wrote:Maybe someone should inform Naumov.

[D]8/4B3/8/1k6/3p4/3K4/8/2n5 w - - 4 116

In this position, Naum 4.2 played Kxd4 and immediately claimed draw by sending
"1/2-1/2 {Insufficient material}" to ChessGUI.

ChessGUI penalized Naum with a loss becaused a checkmate is theoretically possible.

Naum ran as UCI engine. Though the UCI protocol does not support claiming a draw, some UCI engines claim draws anyway.

Was ChessGUI wrong to penalize Naum ?
In my opinion, as Matthias already knows (this thread originated from a discussion between Matthias and myself on ChessBomb), it is clearly wrong. UCI engines can't claim a draw. The protocol simply does not provide a way for the engine to claim draws. The string "1/2-1/2 {Insufficient material}" has no meaning in UCI, and falls under the category described as followed in the protocol definition:
if the engine or the GUI receives an unknown command or token it should just ignore it and try to parse the rest of the string.
Therefore, if we follow the protocol strictly, the string "1/2-1/2 {Insufficient material}" from the engine should therefore be ignored by the GUI. Matthias' counterargument was that engines that print output like this will usually crash, make illegal moves or lose on time if the GUI tries to make the game continue. In my opinion it is unfair to adjudicate the game as a loss for an engine just because its output resembles that seen from other engines just before they are about to crash.

What do the rest of you think?

And please, everyone: Don't let this thread degenerate into yet another UCI vs XBoard protocol war. I'm dead tired of those. Let's keep this thread focused on UCI. If you feel a strong desire to argue about UCI vs XBoard yet again, please start your own thread. I'd also appreciate if we could keep all discussion about Fruit, Rybka, Houdini and who cloned whom out of this thread, but I understand that this is probably too much to ask for.

zullil
Posts: 4878
Joined: Mon Jan 08, 2007 11:31 pm
Location: PA USA

Re: Wrong draw claim by Naum 4.2 ?

Post by zullil » Wed Jan 12, 2011 8:12 pm

Tord Romstad wrote: I'd also appreciate if we could keep all discussion about Fruit, Rybka, Houdini and who cloned whom out of this thread, but I understand that this is probably too much to ask for.
:lol:

User avatar
hgm
Posts: 22274
Joined: Fri Mar 10, 2006 9:06 am
Location: Amsterdam
Full name: H G Muller
Contact:

Re: Wrong draw claim by Naum 4.2 ?

Post by hgm » Wed Jan 12, 2011 8:22 pm

In WinBoard I only offer the option /testClaims, which would indeed forfeit the engine in this case, (KBKN), when switched on. To end the game here is a violation of FIDE rules. When switched off, WB would unconditionally obey any engine claim, even if the engine announced that it had won here. But people that think that claiming a draw here should be accepted, but not a win, have an alternative: They can switch /trivialDraws adjudication on. In that case the GUI would already adjudicate draw on the move, before the engine could claim.

Of course another question is if the engine should be penalized for protocol violation, even if the claim had been correct (e.g. third repetition). In WB this issue does not come up, as it never deals directly with UCI engines. But from what Tord says I guess that a protocol violation cn only manifest itself in a time loss.

User avatar
Houdini
Posts: 1471
Joined: Mon Mar 15, 2010 11:00 pm
Contact:

Re: Wrong draw claim by Naum 4.2 ?

Post by Houdini » Wed Jan 12, 2011 8:27 pm

Tord Romstad wrote:Therefore, if we follow the protocol strictly, the string "1/2-1/2 {Insufficient material}" from the engine should therefore be ignored by the GUI.
I agree, the GUI should simply ignore the claim.
And by all means the game result should be a draw.

Robert

User avatar
michiguel
Posts: 6264
Joined: Thu Mar 09, 2006 7:30 pm
Location: Chicago, Illinois, USA
Contact:

Re: Wrong draw claim by Naum 4.2 ?

Post by michiguel » Wed Jan 12, 2011 8:30 pm

Tord Romstad wrote:
Matthias Gemuh wrote:Maybe someone should inform Naumov.

[D]8/4B3/8/1k6/3p4/3K4/8/2n5 w - - 4 116

In this position, Naum 4.2 played Kxd4 and immediately claimed draw by sending
"1/2-1/2 {Insufficient material}" to ChessGUI.

ChessGUI penalized Naum with a loss becaused a checkmate is theoretically possible.

Naum ran as UCI engine. Though the UCI protocol does not support claiming a draw, some UCI engines claim draws anyway.

Was ChessGUI wrong to penalize Naum ?
In my opinion, as Matthias already knows (this thread originated from a discussion between Matthias and myself on ChessBomb), it is clearly wrong. UCI engines can't claim a draw. The protocol simply does not provide a way for the engine to claim draws. The string "1/2-1/2 {Insufficient material}" has no meaning in UCI, and falls under the category described as followed in the protocol definition:
if the engine or the GUI receives an unknown command or token it should just ignore it and try to parse the rest of the string.
Therefore, if we follow the protocol strictly, the string "1/2-1/2 {Insufficient material}" from the engine should therefore be ignored by the GUI. Matthias' counterargument was that engines that print output like this will usually crash, make illegal moves or lose on time if the GUI tries to make the game continue. In my opinion it is unfair to adjudicate the game as a loss for an engine just because its output resembles that seen from other engines just before they are about to crash.

What do the rest of you think?
I think it is fair to adjudicate the loss, but not technically correct. Leo Dijskman had some draconian rules in his tournament that favored the whole CC community for years. The bottom line is "Get the author to fix the damn bug". The option is, allow engines like this not to lose the game, but if it loses on time wasting tester resources, take them out of tournament. That is Leo's (even more draconian rule) that served everybody well.

And please, everyone: Don't let this thread degenerate into yet another UCI vs XBoard protocol war. I'm dead tired of those. Let's keep this thread focused on UCI. If you feel a strong desire to argue about UCI vs XBoard yet again, please start your own thread. I'd also appreciate if we could keep all discussion about Fruit, Rybka, Houdini and who cloned whom out of this thread, but I understand that this is probably too much to ask for.
Do not say Beetlejuice three times!!!! oopss. I said it once...

Threads like this should be in the technical subforum to make sure it does not get flushed down the toilet with a gazillion R vs anti-R gallons of dirty water.

Miguel

User avatar
Matthias Gemuh
Posts: 3234
Joined: Thu Mar 09, 2006 8:10 am
Contact:

Re: Wrong draw claim by Naum 4.2 ?

Post by Matthias Gemuh » Wed Jan 12, 2011 8:38 pm

Houdini wrote:
Tord Romstad wrote:Therefore, if we follow the protocol strictly, the string "1/2-1/2 {Insufficient material}" from the engine should therefore be ignored by the GUI.
I agree, the GUI should simply ignore the claim.
And by all means the game result should be a draw.

Robert
You mean that the game result should be a draw, even if the engine loses on time by not playing on ?
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de

User avatar
Matthias Gemuh
Posts: 3234
Joined: Thu Mar 09, 2006 8:10 am
Contact:

Re: Wrong draw claim by Naum 4.2 ?

Post by Matthias Gemuh » Wed Jan 12, 2011 8:47 pm

michiguel wrote: Threads like this should be in the technical subforum to make sure it does not get flushed down the toilet with a gazillion R vs anti-R gallons of dirty water.

Miguel
The problem is: the bulk of people in chat rooms who have an opinion about this topic, don't visit the technical subforum.

Matthias.
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de

Post Reply