bob wrote:I am willing to admit defeat here. This is old, you don't want to get it, so you are never going to get it. I will make one more pass below, you can reply, and I will let that be the last word because this is pointless.
First, how you hijacked the thread to get back on this topic is beyond me, because we started off disagreeing on repetition detection, where you made a statement that was wrong and I gave data to prove it. Then it slowly worked its way back to a different argument...
Excuse me?
It was _you_ who actually 'hijacked' the thread by bringing up this topic again:
bob wrote:I think this is all pretty interesting in light of the discussion we had about winboard_F and its apparently policy of terminating a game when the rules of chess do not allow it. In the case we were discussing, false draw claims, and possibly illegal moves were grounds for terminating the game on the spot.
I don't know what game you think you are playing here by these gros distortions of reality...
Nope. Whose perspective is "definitely over" from? The engine's? How many times do I need to say that the result command should be eliminated?
Zero would be a good number. As it wouldn't make the slightest difference...
It won't break a single engine. If the GUI recognizes that the game is over, the result is not needed. If it doesn't, either the game is not over and the program can continue or lose on time, or else if it is over, the GUI needs to be fixed. Plain and simple logic.
Yes, you want towaste time waiting out the flag. Or, more accurately, you want _others_ that have far less computing power than you to waste the little they have. As _you_ are not even using WinBoard for testing your engine. You only want to spoil it for others. Pretty sick, actually...
Just because _I_ believe something does _not_ make it a fact. Same for you. Do you "get" that concept? An engine can be wrong. It has happened thousands of times in my testing with Arasan versions as I have reported here. It thinks it is losing, wants to resign, but rather than sending a "resign" it would send a result with the 1-0 reversed if it was playing black. Xboard would take that and end the game as a loss for Crafty assuming Arasan sent the result command before Crafty. I modified xboard to not accept result from any program except Crafty to solve this My "cluster GUI" ignores results from other programs, which solves the problem, and doesn't cause those programs any problems whatsoever. Every one I have tried that emits a "result" has continued to play just fine. So perhaps you _don't_ get "definitely over". Because a program can think the game is definitely over and be wrong for any of several reasons.
Then it should be more careful in using commands that might be equivalent to 'resign'. Especially if there are recommended alternatives where it would not run that risk.
One more time:
Eliminate the result command. An engine should not be able to claim a win or draw on its own;
As the result command has none of the properties for which you dislike it, unless you select it to have those properties, and fulfills a useful / necessar function, I have no intension to do so.
keep the current "offer draw" which is a way to offer a draw to the opponent _only_, the GUI takes no other action.
add a "claim draw" which is a way to claim a draw if a program believes the game has ended by rule. The program should be prepared to have the claim ignored if the position is actually not drawn. For example, one could decide to ignore the 50-move rule for certain endings, as FIDE did many years ago, and the GUI would implement that decision and the program should be able to continue.
For one, you are discussing a protocol change now, which is beyond the scope of this discussion. I have no say over the protocol.
Apart from that, I don't see what is to be gained by introducing this 'claim' command next to 'offer'. By FIDE rules the 'claim' command would have to be relayed as a draw offer to the opponent anyway, if there is no basis for a claim.
So only the case remains where an "offer draw" command would be sent in a legal draw position. You would want to dey the offferer the draw it wants in that case, to penalize it for not using the poper command, perhaps because it did not recognize the lagal draw? How large do you think the probabiity is that this happens, and how large the probability that the opponent in such a case would also not recognize it, and refuse the draw offer?
None of the above would break existing programs. And they would solve existing problems cleanly and clearly.
Of course it would break existing programs. It would break all programs that follow the current protocol, which uses "offer draw" in this situation (because this already works in WinBoard-mediated ICS play.
So get off the "result" hang-up and move on. basic programs with every statement having a line number is a thing of the past. This should be too.
Your suffer from tunnel vision focused on FIDE Chess. There are many games for which WinBoard is not capable to reliably determine game end. It has no choice but trusting the engines for the result, in those games.