Computer Chess Club Archives




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

Author: Sune Fischer

Date: 12:56:13 04/26/04

Go up one level in this thread

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)?

>>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!

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.

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 :)

>>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.