Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: negative extensions

Author: Christophe Theron

Date: 09:11:51 01/26/01

Go up one level in this thread


On January 25, 2001 at 19:06:58, Robert Hyatt wrote:

>On January 25, 2001 at 12:21:34, Gian-Carlo Pascutto wrote:
>
>>On January 25, 2001 at 11:00:46, Robert Hyatt wrote:
>>
>>>Anytime you reduce the depth, I would call that a "negative" extension...
>>
>>My point was that nullmove doesn't really reduce the depth:
>>it does a _different_ (with nullmove included) search with
>>a reduced depth, and decides based on that whether to cut
>>or not.
>>
>>I do not consider the nullmove search to be part of the
>>normal search, it is just a fancy way of establishing a
>>bound and pruning based on what that bound is. Nullmove
>>prunes, it doesn't reduce the depth (of your _real_ search).
>>
>>If you, for example, would reduce the depth of your main
>>search by a ply if your nullmove failed high, I'd consider
>>that to be a negative extension.
>>
>>The main reason why I make this distinction is that any
>>effect by a negative extension should be circumventable
>>by searching deeper. This is not true for nullmove, because
>>it cuts (based on a dynamic criterion which happens to
>>include searching something _else_ with reduced depth).
>>
>>Vincent's double nullmove(*) _could_ be considered a negative
>>extension, because it will pick up zugzwang's eventually
>>if depth is increased. This is not true for normal nullmove.
>>
>>(*) If it works like I remember...I think that you do
>>two consecutive nullmoves and hence end up in the normal
>>search again?
>>
>>--
>>GCP
>
>The point of a double-null is that if it is my move, and I pass, the search
>might actually fail high because not moving wins.  If I follow this null
>move search by one for you, yours will also fail high if it is a true zugzwang
>position, and if you return beta, my null-move search will fail low and I keep
>searching normally..



Sounds like the gigantic depth reduction resulting from a double null move will
push the detection of these zugzwang cases very far away.

The total depth reduction after two consecutive null moves is 3+3=6 (if you use
R=2).

So you will avoid to fall into zugzwang traps, but you will need 6 plies more
than a brute force search. It's still better than never seeing them (which is
the case with regular null move), but does not sound better than a much simpler
system: when you suspect that a zugzwang COULD happen in the position or later
in the search, enable null move only in the last plies near the horizon.

For example enable null move only in the 6 plies before the horizon when you
reach post-middlegame positions, or endgame positions. You'll get the same
result than the double null move system, but you will simply need less nodes.
And the code will also be simpler.



    Christophe



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

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