On its way now.Graham Banks wrote:Okay - will do so shortly.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.
Strange problem with Crafty 23.0
Moderator: Ras
-
- Posts: 44611
- Joined: Sun Feb 26, 2006 10:52 am
- Location: Auckland, NZ
Re: Strange problem with Crafty 23.0
gbanksnz at gmail.com
-
- Posts: 2034
- Joined: Thu Sep 18, 2008 10:24 pm
Re: Strange problem with Crafty 23.0
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.
When BLACK is winning and it is BLACK'S turn to move Crafty shows the score as winning for white.
All other evals ok.
-
- Posts: 3245
- Joined: Thu Mar 09, 2006 9:10 am
Re: Strange problem with Crafty 23.0
Graham Banks wrote:On its way now.Graham Banks wrote:
Okay - will do so shortly.
Debug received and analyzed.
The "resign" is a misleading text from ChessGUI

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
http://www.chess.hylogic.de
-
- Posts: 3245
- Joined: Thu Mar 09, 2006 9:10 am
Re: Strange problem with Crafty 23.0
Matthias Gemuh wrote:
Debug received and analyzed.
The "resign" is a misleading text from ChessGUI![]()
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
http://www.chess.hylogic.de
-
- Posts: 44611
- Joined: Sun Feb 26, 2006 10:52 am
- Location: Auckland, NZ
Re: Strange problem with Crafty 23.0
We'll keep a close eye on Crafty games.Matthias Gemuh wrote:Matthias Gemuh wrote:
Debug received and analyzed.
The "resign" is a misleading text from ChessGUI![]()
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.

gbanksnz at gmail.com
-
- Posts: 3245
- Joined: Thu Mar 09, 2006 9:10 am
Re: Strange problem with Crafty 23.0
Graham Banks wrote:
We'll keep a close eye on Crafty games.
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
http://www.chess.hylogic.de
-
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: Strange problem with Crafty 23.0
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...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.
-
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: Strange problem with Crafty 23.0
I believe this is wrong and has been discussed in the past.Matthias Gemuh wrote:Graham Banks wrote:On its way now.Graham Banks wrote:
Okay - will do so shortly.
Debug received and analyzed.
The "resign" is a misleading text from ChessGUI![]()
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.
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.
-
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: Strange problem with Crafty 23.0
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.Matthias Gemuh wrote:Matthias Gemuh wrote:
Debug received and analyzed.
The "resign" is a misleading text from ChessGUI![]()
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.
-
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: Strange problem with Crafty 23.0
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.Matthias Gemuh wrote:Graham Banks wrote:
We'll keep a close eye on Crafty games.
It is one line of code, if Bob wants to send that move.
Matthias.
RIght now sending the move and then draw claim is broken. Sending the draw claim and then move at least works correctly on ICC.