Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: No Benefit From Null Move

Author: Stuart Cracraft

Date: 10:50:28 01/08/06

Go up one level in this thread


On January 07, 2006 at 12:09:49, Robert Hyatt wrote:

>On January 07, 2006 at 09:14:03, Michael Neish wrote:
>
>>
>>I hope this doesn't come across as too much of a beginner's question.
>>
>>Is it beyond question that null move improves search?
>>
>>The reason I ask is that I recently dusted off my old program, and ran a few
>>tests on it, and was dismayed to discover that I seem to be getting very little
>>benefit from using it.  This is trying out different parameters (R-2, R-3, at
>>depth >2, >3, etc.).
>>
>>I thought the whole idea of using null was that you could get a swifter cut-off
>>and hence reduce the number of nodes searched to reach a given depth, but I'm
>>getting little or no reduction at all, and in some cases even an increase.
>>
>>Depending on the position, and the parameters used, about 40-60% of null moves
>>performed fail high and return immediately.  The remainder move on to a normal
>>search.  So I thought that, in my program's case, perhaps the nodes wasted on
>>null move searches that don't fail high is almost the same as those saved by
>>null move searches that do fail high.  Does this make sense?
>>
>>Is a cut-off rate of about 40-60% to be expected, or should it be higher?
>>
>>For what it's worth, around 80% of nodes in the tree are in Quiesce().  Could
>>this have something to do with it?
>>
>>So barring an error in my implementation, can anyone comment on why null move is
>>giving me virtually null benefit?
>>
>>Thanks in advance to anyone who takes the time to reply.
>>
>>Regards,
>>
>>Mike.
>
>The obvious question is, "where is your bug?"  :)
>
>null-move should _greatly_ reduce the size of the tree.  And reduce it enough
>that you get another 1-2 plies of search depth in the same time.  So, are you
>sure you are doing the null-move test correctly?
>
>make a null move
>search resulting position to depth-R-1
>if result >= beta, just return beta here and don't search any real moves at all.
>otherwise, do a normal search and pretend the null-move search was never done.

What is the effect of returning the value of the null move search
if result >= beta instead of returning beta in a PVS search?
Deleterious?

Also, do you store the null move in the hash table? If so, why?

Thanks ahead,

Stuart



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.