Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Finding mate in the quiesce search

Author: Robert Hyatt

Date: 10:45:56 08/25/04

Go up one level in this thread


On August 24, 2004 at 15:43:00, Scott Gasch wrote:

>On August 24, 2004 at 11:46:28, Robert Hyatt wrote:
>
>>On August 24, 2004 at 11:34:31, Alessandro Scotti wrote:
>>
>>>On August 24, 2004 at 11:24:28, Anthony Cozzie wrote:
>>>
>>>>On August 24, 2004 at 10:40:15, Alessandro Scotti wrote:
>>>>
>>>>>Ok but then you don't propagate the mate score out of the quiesce, right?
>>>>
>>>>And why not?
>>>
>>>Well if I knew why I wouldn't be asking! (*) :-)
>>>
>>>For now my reason is: there is no proof that a score is mate out of quiesce,
>>>because quiesce doesn't examine all possible moves but only part of them. After
>>>reading several replies this doesn't seem to be a popular opinion, though, but
>>>that's how I see things at present...
>>>
>>>(*) Hope English tenses are correct here!
>>
>>
>>You miss the point.  I reach a node X, I can play a move which lets my opponent
>>mate me, or I can stand pat.  The way around this is to notice that you are in
>>check, and force the q-search to look at _all_ legal replies, and eliminate the
>>"stand pat" option.
>>
>>Either way will produce a valid search result.  The latter will find forced
>>mates more accurately of course...
>
>To expand on what Bob said: also remember that if you have a position in the
>qsearch where a side is in check BUT that side could have stood pat in the
>previous qsearch positions then it does not really help to return a MATED score
>now.


You can probably find that exact description in the Crafty main.c from back when
I had copied the Cray Blitz q-search.  Just prior to the 1996 WMCCC event in
Jakarta I removed the checks/check evasions in the q-search.  Until then I did
as you are explaining as otherwise backing up mate scores will fail where the
side getting mated can "stand pat" earlier in the q-search.


>  You know that because they chose not to stand pat before that they are
>"down".  But because you have to assume that they had some other move option
>than to continue trading / capturing when they chose not to stand pat, this
>position is not forced and therefore not a true mate.
>
>In my qsearch I do something like this:
>
>    Are we in check AND has the side on move never had the chance to stand pat
>    up to now?
>
>    YES? Then do not allow a stand pat here and search all legal replies and
>    possibly return a MATED-IN-N score here.  This position is forced.
>
>    NO? Then allow a stand pat here and search a subset of the moves.  Do not
>    return a MATED-IN-N score here even if you detect a mate because it is
>    not forced.
>


I didn't like that as it caused a few hash table mate oddities.  IE your
q-search finds a mate, but obviously not the shortest mate possible.  That can
lead to quirks in PV output and so forth if you carry hash scores across
searches...





>This makes sense to me but I'd welcome any comments ;)
>
>Scott



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.