Computer Chess Club Archives




Subject: Re: When to do a null move search - an experiment

Author: Robert Hyatt

Date: 13:13:52 04/26/04

Go up one level in this thread

On April 26, 2004 at 15:56:13, Sune Fischer wrote:

>On April 26, 2004 at 15:02:23, Robert Hyatt wrote:
>>On April 26, 2004 at 14:25:01, Sune Fischer wrote:
>>>>(1) you are in some sort of zugzwang position where a null-move will fail high
>>>>for the wrong reason and wreck the search.  Classic examples here are positions
>>>>with very few pieces.  IE pawns vs a knight where the knight can be zugged.
>>>>Most require some minimal amount of material on the board to avoid this problem.
>>>>(2) there is a tactical issue that is hidden with the R reduction.  IE the
>>>>classic position with white pawns at f2, g3 and h2, black queen at h3 and black
>>>>pawn or bishop at f3, threatening mate on the move.  If the R reduction prevents
>>>>you from seeing the mate, you can have problems.
>>>>(3) The hash table proves that the null-move search will not fail high, meaning
>>>>that the search will be wasted effort.
>>>>(4) Obvious positions such as when the side on move is in check.  Not moving
>>>>can't fail high here as the king is lost.
>>>>(5) I don't allow two consecutive nulls.  It is a potentially cute way of
>>>>eliminating zugzwang problems, but it is only good for that, and it is not free
>>>>in positions where no zugzwang is possible.  I choose to not deal with it
>>>>although I have this on my "to do" list to test with (say) pawn-only endings.
>>>The first 4 I agree with, unfortunately 1 and 2 are not so easy to detect. :)
>>>I don't get the point of (5) though, how does it avoid zugzwangs?
>>Think about it this way.
>>You do a null move search.  If you are in zugzwang, it will fail high for the
>>wrong reason, since doing nothing in a zugzwang position is a good thing.  Agree
>>so far?
>>What we are hoping to show is that our position is so good, even if we do
>>nothing our opponent is busted.  IE We are a queen up, and the most valuable
>>piece our opponent attacks is a knight.  If we don't try to save the knight we
>>are _still_ winning.
>>Now, take the bad null-move case where we are in zugzwang.  The null search
>>fails high for the wrong reason.  But if, at the next ply, you try a null it
>>will _also_ fail high, causing that side to return beta, which makes _our_ null
>>search fail low and not kill us in the zugzwang position.
>Exactly, you want the nullmove to FL when you are in zugzwang, so
>I don't see how this is an argument in _favor_ of (5)?

Maybe we are semantically dancing around the head of the pin?

IE I don't do 2 nulls in a row as in most middlegame positions zugzwang is not
an issue and the second (of two consecutive nulls) is wasted effort.  I have
plans to experiment with turning this double-null on in endgames however, as
there zugzwang is _very_ common and the detection would seem to be a
more-than-break-even deal.

IE I am not saying double null is always bad.  Just that it is bad in the
middlegame and as a result I don't do double-null anywhere at the moment...

>>>I don't see any logical reason to do (5), because after you have nullmoved you
>>>want to see if the other side can FH so we may FL on the nullmove. The fastest
>>>way to do that is to do another nullmove.
>>In normal positions, if I am a queen up, and I try a null, if you also try a
>>null you are _still_ a queen down, the null-search fails low, and you continue
>>to search normally making that second consecutive null-search wasted effort.
>In this case his nullmove will FL so you waste a cheap nullmove to depth X-2R.
>On the other hand, suppose his nullmove fails high, then you have saved a full
>search to depth X-R!

Yes, but in the middlegame you almost _always_ waste that X-2R search.  In
today's 14-16 ply (plus extensions to make it even worse) that is a non-trivial
wasted effort.  In endgames it will likely pay off...

>It seems logical that if a nullmove is worth while (statisticly) at depth X, it
>should also be worth while (statisticly) at depth X-R.

No, for one reason.  If the depth=X search is done, in a reasonable place, the
X-R search will fail low and be wasted effort.  If you can't guarantee that the
X-R search is going to pay off fairly frequently, then doing it just burns
search space.  In the endgame this is different since zugzwang is a big part of
such positions...

>Assuming of course we have no game specific knowledge of en prised or pinnes
>pieces or anything like that.
>It's like you're hoping so much that your first nullmove will FH that you don't
>even want to try a quick check to see if it might actually FL :)

All I really care about is fail highs on zugzwang positions.  Fail lows are not
an issue...

>>>So I get the same results as Tord here, it's weaker (slightly, but measurably)
>>>with this restriction on.
>>As I said, YMMV...
>Oh of course, as always! :)

This page took 0.01 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.