Strange problem with Crafty 23.0

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

Moderator: Ras

User avatar
Graham Banks
Posts: 44611
Joined: Sun Feb 26, 2006 10:52 am
Location: Auckland, NZ

Re: Strange problem with Crafty 23.0

Post by Graham Banks »

Graham Banks wrote:
Matthias Gemuh wrote:
Graham Banks wrote:I'm impressed with Crafty 23.0. It's doing well in my testing so far (still early days though).

One thing I've noticed is that instead of accepting a draw by repetition, it resigns. This is under ChessGUI running it as a Winboard engine.
Matthias - I guess I need to check the box that says draws accepted/refused?

Cheers, Graham.

Hi Graham,
"accepted/rejected" is general and won't solve the draw/resign issue.
If you have a debug of such a resign, please send it to me.
Best,
Matthias.
Okay - will do so shortly. 8-)
On its way now.
gbanksnz at gmail.com
Werewolf
Posts: 2034
Joined: Thu Sep 18, 2008 10:24 pm

Re: Strange problem with Crafty 23.0

Post by Werewolf »

Sorry I missed half the sentence out!

When BLACK is winning and it is BLACK'S turn to move Crafty shows the score as winning for white.

All other evals ok.
User avatar
Matthias Gemuh
Posts: 3245
Joined: Thu Mar 09, 2006 9:10 am

Re: Strange problem with Crafty 23.0

Post by Matthias Gemuh »

Graham Banks wrote:
Graham Banks wrote:
Okay - will do so shortly. 8-)
On its way now.

Debug received and analyzed.
The "resign" is a misleading text from ChessGUI :evil:
It is issued in any case where an engine somehow claims that the game is finished, but ChessGUI disagrees.

In this particular case, ChessGUI is waiting for a move from Crafty.
Crafty then suddenly claims a draw by repetition, without having sent the drawing move. ChessGUI rejects the claim because it cannot prove that Crafty found the drawing move.

I think a human can draw by 3-fold-rep in a human game without playing the move, but he has to tell the TD which move it is.
In computer chess, the drawing move should be played before any claims.

BTW, I will change "resign" to something else.

Matthias.
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de
User avatar
Matthias Gemuh
Posts: 3245
Joined: Thu Mar 09, 2006 9:10 am

Re: Strange problem with Crafty 23.0

Post by Matthias Gemuh »

Matthias Gemuh wrote:
Debug received and analyzed.
The "resign" is a misleading text from ChessGUI :evil:
It is issued in any case where an engine somehow claims that the game is finished, but ChessGUI disagrees.

In this particular case, ChessGUI is waiting for a move from Crafty.
Crafty then suddenly claims a draw by repetition, without having sent the drawing move. ChessGUI rejects the claim because it cannot prove that Crafty found the drawing move.

I think a human can draw by 3-fold-rep in a human game without playing the move, but he has to tell the TD which move it is.
In computer chess, the drawing move should be played before any claims.

BTW, I will change "resign" to something else.

Matthias.

WB engines that claim a 3-fold-rep without having played the drawing move are very very rare.
I have encountered only one or two of them, though my 1200-engine swiss tournament includes almost all WB engines.

Matthias.
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de
User avatar
Graham Banks
Posts: 44611
Joined: Sun Feb 26, 2006 10:52 am
Location: Auckland, NZ

Re: Strange problem with Crafty 23.0

Post by Graham Banks »

Matthias Gemuh wrote:
Matthias Gemuh wrote:
Debug received and analyzed.
The "resign" is a misleading text from ChessGUI :evil:
It is issued in any case where an engine somehow claims that the game is finished, but ChessGUI disagrees.

In this particular case, ChessGUI is waiting for a move from Crafty.
Crafty then suddenly claims a draw by repetition, without having sent the drawing move. ChessGUI rejects the claim because it cannot prove that Crafty found the drawing move.

I think a human can draw by 3-fold-rep in a human game without playing the move, but he has to tell the TD which move it is.
In computer chess, the drawing move should be played before any claims.

BTW, I will change "resign" to something else.

Matthias.

WB engines that claim a 3-fold-rep without having played the drawing move are very very rare.
I have encountered only one or two of them, though my 1200-engine swiss tournament includes almost all WB engines.

Matthias.
We'll keep a close eye on Crafty games. 8-)
gbanksnz at gmail.com
User avatar
Matthias Gemuh
Posts: 3245
Joined: Thu Mar 09, 2006 9:10 am

Re: Strange problem with Crafty 23.0

Post by Matthias Gemuh »

Graham Banks wrote:
We'll keep a close eye on Crafty games. 8-)

It is one line of code, if Bob wants to send that move.

Matthias.
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Strange problem with Crafty 23.0

Post by bob »

Graham Banks wrote:I'm impressed with Crafty 23.0. It's doing well in my testing so far (still early days though).

One thing I've noticed is that instead of accepting a draw by repetition, it resigns. This is under ChessGUI running it as a Winboard engine.
Matthias - I guess I need to check the box that says draws accepted/refused?

Cheers, Graham.
Crafty is resigning rather than going for a repetition? Can you send me a log file from when that happens? I've not seen that ever. Might be some sort of missed communication between Crafty and the GUI and the GUI is doing the resignation for unknown reasons...
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Strange problem with Crafty 23.0

Post by bob »

Matthias Gemuh wrote:
Graham Banks wrote:
Graham Banks wrote:
Okay - will do so shortly. 8-)
On its way now.

Debug received and analyzed.
The "resign" is a misleading text from ChessGUI :evil:
It is issued in any case where an engine somehow claims that the game is finished, but ChessGUI disagrees.

In this particular case, ChessGUI is waiting for a move from Crafty.
Crafty then suddenly claims a draw by repetition, without having sent the drawing move. ChessGUI rejects the claim because it cannot prove that Crafty found the drawing move.

I think a human can draw by 3-fold-rep in a human game without playing the move, but he has to tell the TD which move it is.
In computer chess, the drawing move should be played before any claims.

BTW, I will change "resign" to something else.

Matthias.
I believe this is wrong and has been discussed in the past.

The proper timing is this:

1. claim the draw.
2. send the move that forces the draw.

The inverse can not work. If I send the move, you can relay that to the opponent and get a move back before I get a chance to claim the draw, and the draw might no longer be valid.

What we need is a way to claim a draw and include the move at the same time, to remove the ambiguity and the potential race condition caused by using two commands. Such as "move Rh7 draw-by-repetition" or whatever, all on one line. Then this problem will go away. I play with no draw offers/claims on my cluster testing and let the referee force the end of games by repetition or 50 move rule to avoid this problem since many programs first send the move then claim the draw which exposes the race condition.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Strange problem with Crafty 23.0

Post by bob »

Matthias Gemuh wrote:
Matthias Gemuh wrote:
Debug received and analyzed.
The "resign" is a misleading text from ChessGUI :evil:
It is issued in any case where an engine somehow claims that the game is finished, but ChessGUI disagrees.

In this particular case, ChessGUI is waiting for a move from Crafty.
Crafty then suddenly claims a draw by repetition, without having sent the drawing move. ChessGUI rejects the claim because it cannot prove that Crafty found the drawing move.

I think a human can draw by 3-fold-rep in a human game without playing the move, but he has to tell the TD which move it is.
In computer chess, the drawing move should be played before any claims.

BTW, I will change "resign" to something else.

Matthias.

WB engines that claim a 3-fold-rep without having played the drawing move are very very rare.
I have encountered only one or two of them, though my 1200-engine swiss tournament includes almost all WB engines.

Matthias.
There are probably none that have played as many games on ICC as Crafty, which is where this race condition problem is easily seen when playing another computer. ICC treats the draw claim as an offer, and then when the move comes in and it notices a 3-fold or 50 move draw has occurred, it forgets the offer and takes it as a claim and ends the game.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Strange problem with Crafty 23.0

Post by bob »

Matthias Gemuh wrote:
Graham Banks wrote:
We'll keep a close eye on Crafty games. 8-)

It is one line of code, if Bob wants to send that move.

Matthias.
See previous posts. I could change it but then we get into the race condition I mentioned, which is just as bad. The GUI needs to understand this issue and an even better solution would be a protocol version 3 that does the correctly. For example, "move Rh7 draw" is taken as "if this is a 50 move draw after this move, or a 3-fold repetition, I am claiming a draw. Otherwise I am making this move and simply offering my opponent a draw, which he can accept or refuse as he wishes.

RIght now sending the move and then draw claim is broken. Sending the draw claim and then move at least works correctly on ICC.