Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Double Null move?

Author: Uri Blass

Date: 00:38:11 07/14/01

Go up one level in this thread


On July 13, 2001 at 22:40:39, Robert Hyatt wrote:

>On July 13, 2001 at 16:50:26, Uri Blass wrote:
>
>>On July 13, 2001 at 14:25:23, Robert Hyatt wrote:
>>
>>>On July 13, 2001 at 12:28:01, Steve Maughan wrote:
>>>
>>>>I'm thinking of implementing double null move in my program.  Now as far as I
>>>>know the most conventional way is to do the normal null move search and if there
>>>>is a cutoff follow it with a normal search at reduced depth to confirm no
>>>>zugwag.  However I do remember that someone here (Vincent?) outlined a different
>>>>way of doing double null move.  Is there another way?  If there is, what are the
>>>>pros and cons of each?
>>>>
>>>>Thanks,
>>>>
>>>>Steve
>>>
>>>
>>>That's the gist of it.  If the position is a zugzwang position, the second
>>>null-move search will fail high, which will cause the first to fail low and
>>>you don't run into the zug problem.
>>>
>>>The downside is the cost.  The second null will fail low most of the time and
>>>just generate wasted nodes.
>>>
>>>The other downside is that not all null-positions are zugzwang problems.  In
>>>fact, most null-move problems are caused by the R-value which bring the horizon
>>>too close to spot a tactical threat.  Double null won't find any of those...
>>>
>>>So you expend quite a bit of effort, to eliminate one small part of the total
>>>problem...
>>
>>If you search to clearly reduced depth(for example before normal search with
>>null move pruning to depth d when d>=6 you search without null move to depth
>>d/2-2) then you may be less than 1% slower.
>>
>>I believe that it is a good deal to be 1% slower in order to avoid not seeing
>>simple zunzwangs.
>>
>>I guess that you may earn 3 elo from not falling in some zunzwangs and lose only
>>1 elo from being slightly slower.
>>
>>Uri
>
>
>It is far worse than 1%, as you try a null move after _every_ null move, except
>you never do 3 in a row.  If you are searching to 14 plies, and you try a null
>move at ply=2, remaining depth would be 9 (12 - R=2 - 1).  If you do a null-move
>search at ply=3, remaining depth would be 6 (9 - R=2 - 1).  A 6 ply search is
>non-trivial.
>
>Do a bunch of them and it is _really_ non-trivial...

I doubt it.

remember that we are talking about 6 plies with null move except the first move
when 2 nulls in a row is not possible because in the 6 ply search because the
remaining depth is going to be negative in this case.

The original problem was 12 plies with null move pruning.

You start solving a problem of 12 plies search with null move pruning by solving
a problem of 6 plies search with null move pruning except the first move.

For every problem of 12 plies you have at most one problem of 6 plies(there are
cases when the 12 plies are after null so the first 2 nulls in a row are not
allowed and you have not 6 plies search problem).

If you assume branching factor of 3 then it seems to me that you are only
1/3^6=1/729 slower that is less than 1%.


Uri



This page took 0.08 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.