Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Crafty bug? (18.12)

Author: Robert Hyatt

Date: 11:23:44 10/18/01

Go up one level in this thread


On October 18, 2001 at 10:47:50, Rafael Andrist wrote:

>On October 18, 2001 at 08:51:56, Robert Hyatt wrote:
>
>>On October 17, 2001 at 17:49:39, Robert Hyatt wrote:
>>
>>>On October 17, 2001 at 13:05:35, Roy Eassa wrote:
>>>
>>>>On October 17, 2001 at 13:02:34, Robert Hyatt wrote:
>>>>
>>>>>On October 17, 2001 at 11:15:12, Robert Hyatt wrote:
>>>>>
>>>>>>definitely a bug of some sort...
>>>>>
>>>>>A pretty simple bug in fact.  I just fixed it in the 18.12 source and
>>>>>re-copied the source to the ftp machine.  If you want to try the fix,
>>>>>feel free.  There was a bad calculation that failed when the king was within
>>>>>one square of the rook-file promotion square, and the pawn was within one square
>>>>>of the promotion square, and the pawn was to move first...
>>>>
>>>>
>>>>Was the bug only in 18.12, or was it also in previous versions?
>>>
>>>
>>>Been there a while...  Nothing has been changed here for several versions.  I
>>>am completely rewriting the EvaluateDraws() code and have changed the name to
>>>EvaluateWinner().  It returns a bitmask of two bits, 01 means white can win
>>>only, 10 means black can win only, 11 means either can win, and 00 means dead
>>>drawn.
>>>
>>>It also recognizes a few more cases.  I temporarily deleted the 18.12 source
>>>as I want to fix this completely as part of the final 18.12 release.  I hope to
>>>finish it tonight...
>>
>>
>>New version is now available.  It at least handles the test position for this
>>thread correctly.  The search is more "stable" in the endgame as well, now.
>
>Did you include this KBP-KP case or did you only fix the bug in the evaluation
>of KBP-K endgames? Do you also handle cases, where the defending king is near
>enough, but can be forced to go away? E.g.
>
>[D]5k2/8/3K3P/8/8/8/2B5/8 w - - 0 1
>
>regards
>Rafael B. Andrist


Hopefully both.  In the KBP side, crafty will know that the side with the KB
and wrong rook pawn can't win, regardless of whether the other side can win or
not.

This is not about declaring a game as absolutely drawn or not, but about
being correct about declaring when one side can not possibly win.  Once I
know that one side can't win, then I will never let the eval favor that side,
I will always drag it back to DrawScore().

IE KRB vs KRPPP is not going to be won by the KRB side.  So if the other
side loses a pawn, it would be tempting to say this is +1 for the KRB side.
But in reality, Crafty will score that as 0.00, unless the pawns advance
far enough to pull the score in the _other_ direction...

So far, so good.  But I won't swear everything is fixed yet...



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.