Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: A question about quiescence search

Author: Nagendra Singh Tomar

Date: 17:08:49 10/19/02

Go up one level in this thread


Another question that is part of the same discussion is
if(sval > alpha)
{
    if(sval >= beta)
    {

    }
    alpha = sval; /* why this */
}

be setting alpha to sval we are telling the qsearcher that we will not be
interested in any score less than the static score at the qsearch root.
Why so?
Normally we decide bounds on the search with a previous search done with a
higher or same depth as the current search. But here we are deciding the bounds
of a deeper search (qsearch) with a lesser depth search (static eval at the
qsearch root).

Any comments are highly welcome

tomar

On October 19, 2002 at 19:16:59, Nagendra Singh Tomar wrote:

>Hi All,
>	In quiesce search as soon as we enter the quiesce() routine and we find that
>the the side to move is not in check, we call static evaluation to get the
>static score(say sval). Now if sval >= beta, we simply return sval/beta
>(depending on whether its a fail-soft search), *without* doing the quiesce
>search. Does that mean that we are assuming that the quiesce search will only
>increase the score, because if the quiesce score were to be less than the static
>board score then failing high would not have been correct.
>We fail-high when we know that anything else will only better the score.
>An incomplete routine highlighting the above point is shown below.
>
>int quiesce(alpha, beta, depth)
>{
>    if(ptm_not_in_check)
>    {
>	sval = evaluate();
>	if(depth == 0)
>		return sval;
>	if(sval > alpha)
>	{
>	    if(sval >= beta)
>		return sval;	/* why this */
>	}
>    }
>}
>
>\tomar



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