Computer Chess Club Archives


Search

Terms

Messages

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

Author: Inmann Werner

Date: 08:00:31 12/26/98

Go up one level in this thread


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



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.