Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Correct values if all moves are pruned?

Author: Johan Melin

Date: 03:04:02 01/06/01

Go up one level in this thread


On January 05, 2001 at 15:21:18, Severi Salminen wrote:

>Hi!
>
>1.If I prune a move in normal search: if(material+gain(move)+FMARGIN<=alpha)
>what should I assign to the best score so far? Material+gain, material+FMARGIN,
>material+gain+FMARGIN or material only? Now I'm using material+FMARGIN but it
>can't be right. Material+gain sounds right because that would be returned from
>qsearch if stand pat fails high?

In fail-hard alpha-beta, the correct value for a fail-low is alpha.

However, if you are using fail-soft, you should return the best bound that you
are confident in. In this case, that bound would be material+gain+FMARGIN. This
is not an estimate of what the score will be, but an upper bound on how high the
score might be.



>2.I'm using now SEE and I wonder what is the "correct" value to return from
>qsearch if I prune all captures: if(eval()+seescore(move)+MARGIN<=alpha)? Now I
>just return alpha. If all moves result a score<=alpha should I return
>eval+seescore or something else.

Here as well, treat the pruned move as if it had the score eval+see+MARGIN,
which is the best bound you get without search. If you return alpha you lose
information about how bad this position is, and if you return eval+see the bound
will often be to optimistic.

/Johan Melin

>I ask this because PVS or aspiration window search doesn't seem to like "wrong
>values"
>
>Severi



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.