Computer Chess Club Archives




Subject: Re: QSearch() as PVS() ?

Author: Matthias Gemuh

Date: 07:15:37 01/15/04

Go up one level in this thread

On January 15, 2004 at 08:06:34, Tord Romstad wrote:

>On January 15, 2004 at 07:48:42, Matthias Gemuh wrote:
>>BTW, in QSearch I also generate moves for
>>1) all passed pawns
>Interesting.  I once tried doing this in some endgames (only pawn endgames
>and knight endgames, if I recall correctly), but wasn't satisfied with the
>results.  It's probably worth trying again some time soon.
>>2) all attacked pieces moving to unattacked empty squares
>This sounds a bit too expensive to me.  I do something similar, but with
>several restrictions.  Translated from MTD(f)-lingo to PVS-lingo and
>slightly simplified, what I do is roughly this:
>I generate safe moves for hanging pieces if all of the following are
>a) The value of the static eval is >= alpha.
>b) At least two of the pieces for the side to move is hanging.
>c) static_eval-(value of capturing the smallest hanging piece)/4 < alpha
>d) I am in one of the first two plies of the qsearch.
>Always generating all safe moves for all hanging pieces is probably a
>waste of time.  For instance, if you are a queen up, it is not very
>important to find out whether it is possible to save a hanging knight.
>And in positions with only one hanging piece, it will usually be safe
>to assume that the piece can be saved.  Of course there are exceptions,
>but I think it is better to ignore them and use the time saved to
>search deeper.

Hi Tord,
my approach is even more expensive than you think, as I am talking about
attacked pieces, not just hanging ones.
I surprisingly get better results at test suites, than with "standard" QSearch.
In games, I cannot notice any measurable difference.

This page took 0.03 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.