Computer Chess Club Archives




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

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

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

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.