Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: When would you use a Null Move Search?

Author: Roberto Waldteufel

Date: 10:02:23 12/27/98

Go up one level in this thread



On December 26, 1998 at 17:59:56, Will Singleton wrote:

>On December 26, 1998 at 11:00:31, Inmann Werner wrote:
>
>>On December 23, 1998 at 19:57:54, Roberto Waldteufel wrote:
>>
>>>
>>>On December 23, 1998 at 19:27:34, Inmann Werner wrote:
>>>>
>>>>I use Null move only in the "normal" alpha-beta (not in q-search)
>>>>I do it in each (nearly each) position before trying any other move. After doing
>>>>the null move I call normal alpha beta, but with less depth. There again can
>>>>occur Nullmoves, but never allow 2 in a row. When I get back my value, and it is
>>>>>= beta I stop this tree and return beta without trying any move. This reduces
>>>>the tree a lot. (But is not a really sure thing, but wrking fine.)
>>>>Second, if the value is rather deep (nearly mate) I extend the search with one
>>>>ply, cause there anywhere is a mate threat possible. Works also fine.
>>>>
>>>>Dont forget: Beware of Zugzwang!!
>>>>
>>>>Wish a happy Christmas
>>>>
>>>>Werner
>>>
>>>Hi Werner,
>>>
>>>Most of what you describe is the same as what I do, but I am interested to read
>>>that you allow multiple null moves in the same line. I only allow one null move
>>>in a line, which I implement by setting a flag after a null move that prohibits
>>>further null moves in all descendant nodes. Have you compared the two methods
>>>and found multiple null moves faster? Are null move related errors noticeably
>>>more or less frequent with multiple null moves?
>>>
>>>Also, can you explain exactly how you use the null move score to trigger an
>>>extension? Do you mean that you do this if the null move score is close to
>>>"giving mate" or when it is close to "being mated" for the side to move?
>>>
>>I must explain:
>> When white does a Null move, black has two moves in row. Now white gets back a
>>value lower -20000 (white gets mated, bad for white), I extend, cause there may
>>be a bad threat. It reall works fine. Example is the testposition LCTCMB01. With
>>this, Inmichess finds the good move in ply 6. Without in ply 8. It mostly works
>>fine together with allowed check extensions to find "nice" moves early.
>>I do not understand it really. Also I only check, if something goes really bad,
>>the program finds something really good much earlier.
>>
>>>And zugzwang, the great danger for null move. I dissallow null moves when either
>>>side has less than 3 pieces (not pawns). How do you do it?
>>>
>>I do it the hard way. As long as both sides have one piece (withou pawns) I
>>allow it. Maybe a little risky?
>>
>>>Merry Christmas,
>>>Roberto
>>
>>It is nice, that my answer helped you. Good to give a little back to you, who
>>often helped me a lot. :)
>>
>>Merry Christmas
>>Werner
>
>I will have to try the null-move mate extension.  Was that an idea of Bruce's,
>originally?
>
>I only allow one null move in a search, like Roberto.  I know multiple nulls are
>possible, but I never found much benefit in the idea.  I suppose that's because,
>in blitz games, there's not much opportunity to do multiple nulls.  I only get
>like 6-7 ply in the middlegame, so there's really no opportunity.
>
>Have you done tests that show a definite benefit to multiple nulls?
>
>Will

Hi Will,

I've not tested it extensively, but I seem to get about a 20-25% speedup from
the recursive null move, but it doesn't kick in untill I hit 8 plies of depth.
That would be consistant with your findings for blitz at about 6-7 plies. If you
try this again, it might be worth testing longer time controls to allow the
program to search deeper.

Best wishes,
Roberto



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.