Computer Chess Club Archives


Search

Terms

Messages

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

Author: rasjid chan

Date: 21:59:32 04/26/04

Go up one level in this thread


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

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