Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Check Extesion

Author: Robert Hyatt

Date: 22:10:49 01/02/03

Go up one level in this thread


On January 03, 2003 at 00:28:46, Martin Bauer wrote:

>Hi all,
>
>on Mr. Schröder's Page (thanks for the great page!) i read the an extension in
>REBEL is made, when the King moves _out of check_. In my own Engine I extend
>when the King is _in check_.
>
>Are there any known differences between these ideas, or are they equal?
>What are other engines doing?
>
>Without trying it, I would say that extending when King is _in check_ has the
>advantage, that you dont enter into the quiescence search with king being in
>check.
>
>Any experiences?
>
>Martin


Basically there is _no_ difference.  Your implementation might make it
behave differently.

IE in crafty, if I am at remaining_depth=1, and check the opponent, I
increment depth by 1 ply, so that when I recursively call search() with
depth-1, I still have depth left and don't drop into the q-search, which
in my case doesn't do anything about being in check.  If I waited to increment
on getting out of check, I would hit the q-search after checking my opponent,
while if I extend when I give the check I don't.

In Cray Blitz I handled checks in the q-search and extend on getting out of
check as Ed does.  In Crafty I do the opposite.  In Cray Blitz, I could have
done it either way with absolutely no measurable difference.

However, if you limit extensions to (say) one ply, there _can_ be a difference
as if you extend when you check, you might also extend again if there is one
legal way out, plus other extensions.

If you have other extensions firing when you extend the check, it might
be limited.  If you have extensions firing when you get out of check, it might
be limited there.

So actual implementation details will decide whether there is any real
difference or not.



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.