Computer Chess Club Archives




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

Author: Tord Romstad

Date: 07:41:29 01/15/04

Go up one level in this thread

On January 15, 2004 at 09:56:26, Volker Böhm wrote:

>On January 15, 2004 at 08:06:34, Tord Romstad wrote:
>>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.
>Hanging pieces in the qSearch?! I planned (not yet implemented) to search one
>ply deeper if my eval reports:
>1. More than one hanging pieces (and pieces attacked by less valuable pieces).
>2. A tied (hope this word is correct, I mean a piece that can´t move because it
>has a king or a valuable or hanging piece behind) piece attacked by a "smaller"
>3. Some kind of mate threads
>Tried this too?

I do some similar stuff, yes.  I don't usually extend in such cases
(except for mate threats), but I am much more careful about reductions
and forward pruning at nodes where there are hanging or pinned pieces.
In addition, the null move reduction factor is often reduced (R=1 or 2
instead of my default R=3) at such nodes.

>How did you implement the "hanging piece" move? In q-Search you are never >forced to move.

In my qsearch(), you sometimes are.  :-)

In some cases when the static eval for the side to move is good, but it
seems that there is a big danger of losing material (usually because there
are at least two pieces hanging, or because there is a mate threat combined
with at least one hanging piece), I don't always allow the qsearch to return
the static eval.


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