Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Checks in the Qsearch

Author: Uri Blass

Date: 10:13:10 07/04/02

Go up one level in this thread


On July 02, 2002 at 14:20:30, Bas Hamstra wrote:

>On July 01, 2002 at 22:07:43, Robert Hyatt wrote:
>
>>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".  :)
>
>I have done many experiments too and it certainly works for me. But (as I once
>read in another thread) you want to do checks everywhere and totally OR not at
>all. IMO that's not the way to do it. According to MANY experiments I did, it
>works best if you limit qchecks to the first 1 or 2 plies. It solves the
>nullmove "blindness" for mates almost entirely. For me it costs 0,5 ply nominal
>searchdepth. But this loss in depth is merely optical, because in selfplay (at
>least in Blitz) the qcheck version wins with BIG margins.

What do you mean by big margins?
60%,65% or 70%.

How many games did you play?

Can you give exact results of your experiment?


Thank in advance
Uri



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.