Computer Chess Club Archives


Search

Terms

Messages

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
satisfied:

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.

Tord




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.