Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: QSearch and SEE

Author: Bas Hamstra

Date: 10:46:08 08/08/99

Go up one level in this thread


On August 08, 1999 at 13:06:59, Robert Hyatt wrote:

>On August 08, 1999 at 12:41:07, Bas Hamstra wrote:
>
>>Bob,
>>
>>I read that thread with interest. I am experimenting with the qsearch (and SEE)
>>too. Currently I use only check evasions in the qsearch. I don't like it when
>>the qsearch stumbles per accident on a mate and it doesn't see it's a mate. And
>>it returning a bogus Eval because Eval was > Beta. With evasions only that won't
>>happen. It doesn't cost an awful lot of nodes and it sees mates quicker.
>>
>
>I did this sort of stuff in Cray Blitz, but I controlled the 'check evasion'
>stuff...  ie if the first q-search move was a check, then I would evade at
>qsearch ply-2, and if the move at qsearch ply-3 was a check, I would evade at
>ply-4, etc.  IE so long as _every_ qsearch ply for one side was a check
>evasion, I evaded at N+2.  But the minute the side in question was not in
>check, it could stand pat.  And I would do no more evasions for that side below
>this node since they would not lead to a forced mate (the side on move can
>always stand pat and not play a capture if all captures lead to mate...)

Interesting. But you did also checking moves in the qsearch that are not
captures, which I don't.

The reason why it doesn't cost a lot of nodes, I forgot to mention, is that when
InCheck I try normal captures first. Just like normal. However if after *every*
capture my king is still in check (so no captures were legal) *then* I do
evasions. Note that I don't allow Eval>Beta cutoffs, when in Check. It helps me
see WAC141.


Regards,
Bas Hamstra.









>>And I can confirm that SEE ordering doesn't give a great reduction in treesize
>>but throwing out losers is a win. However I did a MVV/LVA scheme while only
>>throwing out "obvious" losers. That is, when A > D and after the capture A is
>>hanging, throw it out. That's much faster than SEE. If I'm not mistaken it did
>>not do much worse than SEE.
>
>
>Note that I don't use SEE on _all_ q-search captures...  There are plenty that
>can be weeded out without calling SEE at all...  IE I use a trick just like
>yours to avoid calling Swap() in cases where the capture is obviously bad...
>
>
>
>
>>
>>(tried to reply to some posts yesterday, but couldn't post)
>>
>>Regards,
>>Bas Hamstra.



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.