Computer Chess Club Archives


Search

Terms

Messages

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

Author: Robert Hyatt

Date: 08:29:46 04/27/04

Go up one level in this thread


On April 27, 2004 at 00:59:32, rasjid chan wrote:

>On April 26, 2004 at 16:13:52, Robert Hyatt wrote:
>
>>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?
>>>
>>>Yes.
>>>
>>>>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.
>>>
>>>Yes
>>>
>>>>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.
>
>When sugzwang is not an issue, then infinite n-th consecutive nullmove
>seems optimal, or is this dumb?
>
>The premise is our criterions for nullmove are valid and reliable
>otherwise we should not be doing even one nullmove.


I'm not sure I follow.  Null-move is most effective when one side is winning by
a significant margin, such as where a move at a shallow ply drops a queen, and
deep into the search nothing has been won back.

The side that is winning tries a null and it works.  The side that is losing
will never get a fail-high on a null...



>By induction, the more nullmove the greater the savings and advantage.
>The conditions for the 2nd/n-th nullmove is the same as the one before
>and do not depend on what goes before if we assume uniform criterion
>quality,that it is cheaper then a full-width search.



Note that there is no restriction on the number of null-moves that can be played
along any single path, just that there can never be _two_ consecutuve null
moves.

All I can say is that I have tried it both ways and in the middle-game, two
consecutive nulls made the tree somewhat larger.  I haven't re-tested in several
years however...




>
>So maybe the findings of nullmove everywhere, and maybe add all-the-time,
>may be correct.
>
>Rasjid
>
>
>
>
>>
>>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! :)
>>>
>>>-S.



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