Computer Chess Club Archives




Subject: Re: a question to Tord about detecting threats in null move

Author: Tord Romstad

Date: 00:46:16 10/04/03

Go up one level in this thread

Hello, Uri!

I think it would be better to ask Sergei these questions -- after all he has
much more
experience with this extension than I have.  I give you some answers and
below, but I'm not sure they are worth much.

On October 03, 2003 at 12:03:49, Uri Blass wrote:

>I can detect every big threat by adding a special search after making null move.
>For example if I like to detect threats of at least 2.2 pawns I can do
>if (val<=beta-220)
>//ply-1 because I still did not undo the null move.
>I understood that you use the botvinik extension only after big threats so how
>do you detect big threats?
>Do you decide to detect only part of the threats or do you do additional search
>to detect all of them?

In general, I don't see any reason to keep any secrets about how my program
but there is one exception:  In cases when I use an idea I have recieved in
e-mail from another engine author, and I am not sure the author wants the idea
be public, I naturally don't want to reveal it.  Unfortunately my precise
definition of
"sufficiently serious threats" is based on such an idea.

At least I can tell you that I don't do anything similar to your pseudo-code
Because I am using MTD(f), I am forced to avoid all search extensions,
or forward pruning tricks based on the values of alpha and beta.  All such
give me search instabilities which are so huge that they would scare even you.

But the short answer is that I don't always find a sufficiently big threat to
the extension, even when such a threat exists.  In this respect, my
of the Botvinnik-Markoff extension is imperfect.  It happens that I don't extend
in positions which should have been extended (but this is probably much better
than extending in too many positions, of course).

>Another question is about your order of moves.
>Do you start with the threat move in case of a big threat or do you start with
>good captures?

After a null move, I search moves with the same target as the previous threat
(if such a move exists, of course) directly after the move from the hash table,
before good captures.

I haven't experimented much with this yet, though.  It is likely that I will
much fine-tuning before my implementation is anywhere near optimal.  So far,
I have just added a few simple lines of code without thinking much, and played
a few test matches.  This makes me even more optimistic regarding the potential
of the idea.  When even a quick and dirty implementation is good enough to
beat a version without the extension by 111.5-88.5, it is likely that a
implementation would perform extremely well.


This page took 0.04 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.