Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Checks in the Qsearch

Author: Robert Hyatt

Date: 09:26:25 06/30/02

Go up one level in this thread


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.


>
>>the side has been a check since q-search started.  This means the side
>>getting checked _never_ has a chance to stand pat (I assume you can't stand
>>pat when evading a check) so that a mate is really forced and can't be
>>hidden by a stand pat...
>>
>>
>>
>>
>>>
>>>Another idea that I read from was that generating non-capturing checks in the
>>>qsearch against a side that has had a chance to stand pat already is a waste.  I
>>>really don't understand this idea and disagree with it.  Imagine black has had
>>>an oppertunity to stand pat but instead plays RxN (N appears hung).  Well this
>>>looks really good unless white then generates Qd4+ forking blacks R and K and
>>>winning the R.  If you neglect to generate checks on a side who has already had
>>>the chance to stand pat you let him get away with RxN and like it.  If the only
>>>reason to add checks to the qsearch is to find mates then I agree -- checking
>>>after a side could stand pat is wasted.  But if the goal is to improve tactical
>>>play then I think this idea is not sound.
>>>
>>>Scott
>>
>>
>>Try it and see what happens to the size of your tree.  _then_ make the
>>decision whether the slight gain in tactical accuracy of refuting a capture
>>that fails to a check is worth the loss of a ply or so of overall depth
>>because your q-search explodes...



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.