Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Question about Qsearch

Author: Alessandro Damiani

Date: 09:25:42 03/25/99

Go up one level in this thread


On March 24, 1999 at 09:45:24, Frank Schneider wrote:

>On March 24, 1999 at 09:30:19, Inmann Werner wrote:
>
>>Hello.
>>
>>My question sure is a little dumb, but anyway....
>>
>>When in Qsearch a check occurs, and the opponent can not come out of the check
>>(cause he only tries capture moves!) a position is evaluated to be mate,
>>although this is not right.
>>I am worried about this, but looking at the play of my program, it seems to
>>never occur.
>>In normal search, when a check comes, I extend. I also extend on the way to the
>>Qsearch. But if I am really in Qsearch I seem to ignore the problem.
>>
>>Is it a problem or am I seeing Ghosts?
>>
>>Werner
>
>Hi Werner,
>
>may be a problem, I think (I never tried not searching quiet moves when in
>check). What Gromit does is described in the old Kraas/Schruefer-book and
>works like this:

Hi Frank,

does Kraas/Schruefer's book have some more information than the "Computers,
Chess and Cognition, Springer-Verlag"? I was looking for it some time ago, but
it was not printed anymore.

Alessandro








>when in check
>- search all captures. if one causes a cutoff - good
>- after searching all captures and before searching the first
>  quiet move (excerpt from Gromits code):
>           /* These checks are performed after the last capturemove.
>               During the quiescence we assume that only captures
>               (or selected quiet moves) can improve the evaluationscore.
>               Therefore there are new cutoffs after searching all of them.
>               1. If a capture got a better score than the evaluation
>                  (quiet moves are not better than the evaluation)
>               2. If the evaluationscore is < alpha
>                  (quiet moves will be < alpha too)
>               3. if a quiet move is > evaluation
>                  (see 1.)
>             */
>        {
>            if (best>=evscore)
>            {
>                goto done; // 1. a capture was good enough
>            }
>
>            if (evscore<=alpha)
>            {
>                best = evscore; // best=alpha?
>                goto done; // 2. no quiet move will be better than evscore
>            }
>
>            if (evscore<beta)
>            {
>                beta=evscore; // else lower beta so that a cutoff occurs as
>// soon as a quiet move is as good as the evaluation.
>            }
>        }
>... go on searching quiet moves
>
>
>Hope that helps
>
>Frank



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.