Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: How fast should a search tree expand?

Author: John Coffey

Date: 14:07:08 09/28/98

Go up one level in this thread


The gracious response I got earlier from Dr. Hyatt would seem to answer the
question both ways ...

--------------------------------------------------------------------------
when talking about material, we are testing the side that is *up* in material,
and saying "if I give my opponent two moves in a row, can he recover the
material he is down?"  If the answer is yes, then we have to search this node
normally.  If the answer is no, then we say "two moves in a row didn't let him
recover the material, so if I play a move in between his two best moves it is
even *less* likely he can recover it, so we can stop searching this path.

>I have asked repeatedly if we only do the null move check when up material,
>and I have been told repeatedly that it is done everywhere.

this is correct...
--------------------------------------------------------------------------

And then the responses I got a few days ago confused me even more .....

--------------------------------------------------------------------------



Posted by Robert Hyatt on September 23, 1998 at 16:38:57:

In Reply to: Re: Mr. Hyatt, could I get a clarification on this? posted by John
Coffey on September 23, 1998 at 15:14:58:


On September 23, 1998 at 15:14:58, John Coffey wrote:

>On September 22, 1998 at 22:37:24, Dave Gomboc wrote:
>
>>On September 21, 1998 at 18:35:42, John Coffey wrote:
>>
>>>
>>>>I try them _everywhere_ in the search, before trying any other move.  The idea
>>>>is that if your opponent can't take two moves in a row and crush you, your
>>>>position is **overwhelming** and doesn't need any further searching to prove that
>>>>it is probably winning...
>>>
>>>The "**" above are mine.
>>>
>>>So you only try them when ahead in material?   I just needed to clarify
>>>that because you also say "everywhere."
>>>
>>>Thanks a lot.
>>>
>>>John Coffey
>>
>>He really means **everywhere**.  Actually, he might disable them in a few
>>low-material endgame positions if tablebases aren't present.  Or he might not.
>>:)
>>
>>But yeah, basically **everywhere**.
>>
>>Dave Gomboc
>
>
>What is confusing to me is that I thought that null-move search is only done
>when ahead in material?   Why do them when the material is even or when one
>is behind in material?
>
>John Coffey


Because it works even in non material-ahead positions.   IE I would venture that
I could beat almost any player in the world, if at some point in the game, I am
allowed to make two moves in a row.  Just once per game.  Material ahead will
obviously cause the null-move search to fail high if your opponent has no
threats to regain that material.  But it will also fail high if you have a
serious positional edge that your opponent can't neutralize.  Or if your
opponent has a serious positional weakness that he can't neutralize with two
moves in a row.

It works *everywhere*.  There is one short trick, written up by the Deep Blue
guys several years ago... when you do a probe into the hash table, and you get
a "hit" but the draft is too low, it still might be a good clue whether or not
the null-move search will fail high or not, because you will be searching two
plies less deeply.  If the draft is enough to cover that, even though it can't
match the current depth requirement, then you can use that hash entry to say
"don't try a null-move here, it will fail low" and save some time doing so...

Other than that, I do them *everywhere* except at the root, and not in the
q-search at all of course.




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.