Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: eval and qsearch

Author: Tord Romstad

Date: 10:14:11 01/21/04

Go up one level in this thread


On January 21, 2004 at 12:52:47, Charles Roberson wrote:

>   The qsearch algorithm allows the ability to "pass" in such a case, and
>others, the qsearch will not catch undefended pieces.

It isn't necessary to always allow the side to move to pass in the qsearch.
I sometimes don't allow passing when the side to move has more than one piece
hanging.  In such cases, I search moves which brings one of the hanging pieces
to a safe square in addition to captures and checks.

I have found that using the evaluation function to decide what to do in the
qsearch can be a rather powerful technique.  With some effort, it is possible
to write a qsearch which is both faster *and* more reliable than a plain
stand pat + winning/equal captures qsearch.

What I do is to collect as much information as possible about hanging, pinned,
trapped and overloaded pieces as possible in the evaluation function.  If the
tactical complexity is low, I sometimes just return the value of the static
eval plus the SEE value of capturing the biggest hanging piece for the
opponent, without searching any moves at all.  In more complicated
positions, relying only on the SEE is too risky, and I search all winning
and equal captures.  If the position is really wild, I don't trust my
SEE at all, and searches all captures (even those which appear to lose
material).  Furthermore, king safety and the presence of promising-looking
force is used to the decide whether checks should be searched.

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.