Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Adaptive null move pruning

Author: Dan Newman

Date: 16:43:12 02/29/00

Go up one level in this thread


On February 29, 2000 at 08:39:14, Robert Hyatt wrote:

>On February 29, 2000 at 03:19:00, Bas Hamstra wrote:
>
>>On February 29, 2000 at 01:34:48, Sanjiv Karnataki wrote:
>>
>>>Hi All,
>>>
>>>I just finished reading Ernest Heinz's article on the subject and I had a
>>>question about the code sample. It uses a routine called "try_null" that is not
>>>given in the article and the only thing the article says is "tries to avoid
>>>superfluous null-move searches that do not really promise to cut off as decided
>>>by the function try_null"
>>>
>>>Does anyone know how that decision could be made? I was thinking of trying it in
>>>my program.
>>>
>>>Thank you
>>>
>>>Sanjiv.
>>
>>For instance if material is more than PawnValue below Alpha,chances are there
>>will be no cutoff. Not perferct of course.
>
>
>Also the hash table trick (used in crafty and many other null-move programs)
>can be used.  If you get a hit on the hash table, but the depth is not deep
>enough to let you take the true score of cutoff score, it still might be good
>enough to prove that a null-move search won't fail high (see search.c in Crafty
>source, look for "avoid_null".  Then look at hash.c to see how this gets set to
>disable a null move at this position.)

I tried this once, a few months ago, but I didn't seem to get very good
results from it.  I figured I might be doing something wrong and finally
disabled it.  I seemed to get to depth a little faster for depth=5 searches,
but actually took longer for depth=7 (on WAC).  When I did fixed-time searches
on WAC, Shrike lost a point with the avoid-null code turned on.  I thought
maybe the trouble was that I was losing a lot of mate-threat detections by
skipping the null-move, but I didn't get around to pursuing that.

Now that I think about it, that may well be what was going wrong.  I guess
I'll have to try it again with a mate-threat flag added to the hash entry.
Though it seems like that won't entirely eliminate this problem...

(I also put in some code to make sure it was working properly and did notice
a few cases per search where the null-move got a cutoff even though the hash
entry said avoid-null.  I assumed this was normal...)

-Dan.



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.