Computer Chess Club Archives


Search

Terms

Messages

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

Author: Will Singleton

Date: 14:59:56 12/26/98

Go up one level in this thread


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



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.