Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Question about Qsearch

Author: Robert Hyatt

Date: 16:50:51 03/24/99

Go up one level in this thread


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


Here are some choices:

1.  ignore (don't detect) checks.  This is what I do.

2.  Detect them, and when you do, do a normal move generation, and not a
capture-only generation.  Then try all the moves and if none are legal, you
can safely declare 'mate'.

(2) has a problem, in that suppose you are 6 plies into the q-search, and you
find mate.  You back this up to the previous ply and your opponent can choose
to 'stand pat' rather than try a capture that leads to getting mated.  And you
can't see/force the mate.

There are a couple of solutions to this (if you check your opponent at the
first ply of q-search, he _has_ to try all moves in (2).  Then if you check
him again at ply=3, he has to try all moves, so that as long as he is in
check, from the front of the q-search until you mate him, you _know_ he couldn't
stand pat.

But it isn't 'free'...



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.