Computer Chess Club Archives




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

Author: Tord Romstad

Date: 05:06:34 01/15/04

Go up one level in this thread

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.


This page took 0.02 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.