Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Checks in the Qsearch

Author: Robert Hyatt

Date: 19:07:43 07/01/02

Go up one level in this thread


On July 01, 2002 at 18:03:21, Bas Hamstra wrote:

>On June 30, 2002 at 12:26:25, Robert Hyatt wrote:
>
>>On June 29, 2002 at 00:57:05, Peter McKenzie wrote:
>>
>>>On June 28, 2002 at 23:31:11, Robert Hyatt wrote:
>>>
>>>>On June 28, 2002 at 16:33:10, Scott Gasch wrote:
>>>>
>>>>>I've been experimenting with checks in the qsearch.  While implementing this I
>>>>>ran across a couple of old posts from Bob who said, in essence: If side to move
>>>>>is in check in the qsearch but has had a chance to stand pat at a previous ply
>>>>>in the qsearch then the check is not forced and generating all replies to check
>>>>>is wasted nodes.
>>>>>
>>>>>I am struggling with this idea.  If you are in check and have no good way out
>>>>>your opponent will fail high and you will just stand pat where you could at a
>>>>>previous ply.  I get that.  So is the idea to only generate responses to check
>>>>>that have a chance at not failing low?  Maybe only capturing responses and
>>>>>blocking or king flees?  Imagine you are in check and have no capture responses
>>>>>so you conclude there is no good way out of check -- is it sound to return -MATE
>>>>>to force your side to stand pat where it could have at a previous ply?  I
>>>>>suppose the assumption here is that if you are in check and way below alpha
>>>>>running away or blocking the check is not going to do the trick and you will end
>>>>>up standing pat at a previous ply anyway.
>>>>
>>>>Here is the problem.  It is my move.  I can stand pat.  Or I can make a
>>>>capture.  If I make a capture, you check me and now I have to get out of
>>>>check and am mated.  You back up a mate score and I will refuse to make this
>>>>capture and just stand pat.  So you can't _prove_ that every move leads to
>>>
>>>Sure, and thats just fine.  Your unsound capture is refuted, just as it should
>>>be.  Therefore the score backed up will be more accurate.
>>
>>Wrong.  The q-search is _full_ of errors.  Assuming a capture is best when
>>the opponent might have an impossibly strong threat move you don't look at
>>and so you don't see it.
>>
>>
>>>
>>>>a mate, because whenever I get to stand pat, I stop the mate right there.
>>>>
>>>>The only way to fix this is to follow checks if and only if every move for
>>>
>>>Fix what?  I don't see anything that is broken.
>>
>>
>>
>>Fix the fact that you are causing your q-search to explode badly, where most
>>of the time the search space you add does _nothing_.  It doesn't refute a
>>capture, you just look at checks that are captures and make the other side
>>look at all possible moves to be sure it isn't mated.
>>
>>I'm not about to say it isn't a good thing.  I do say that in lots of testing
>>I decided that if I was going to follow checks, I was going to maintain the
>>ability to recognize forced mates as a result.  Evading check after _any_
>>capture in the q-search is highly expensive...  and will cost a ply easily
>>in some positions, more in wildly tactical positions.  Without letting you
>>find deeper mates at all.
>
>Have you ever self-played a qcheck version of Crafty versus a normal one? Just
>try it. It sees WAY more. Nullmove is simply inaccurate without it.
>
>Bas.


Yes I have.  Why do you think early versions did checks, while the current
version does not?  I made this decision just before Jakarta after playing
thousands of games with and without.  qsearch checks see _way_ more in
some positions.  They see _way_ less in others.  The question is, which is
most important.  I have voted with my "editor".  :)



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.