Computer Chess Club Archives




Subject: Re: Null-Move: Difference between R = 2 and R = 3 in action

Author: Vincent Diepeveen

Date: 08:52:36 07/13/02

Go up one level in this thread

On July 13, 2002 at 11:09:19, Omid David wrote:

>On July 13, 2002 at 10:33:19, Vincent Diepeveen wrote:
>>On July 13, 2002 at 04:47:16, Omid David wrote:
>>>On July 13, 2002 at 02:39:38, Dann Corbit wrote:
>>>>On July 13, 2002 at 02:22:00, Omid David wrote:
>>>>>On July 13, 2002 at 02:07:17, Vincent Diepeveen wrote:
>>>>>>I still do not understand which positions you talk about which R=2
>>>>>>is finding and R=3 isn't.
>>>>>I read your other post, that's also my point: Although at fixed depth, R=2 is
>>>>>much better than R=3 (see also "adaptive null-move pruning" Heinz 1999), in
>>>>>practice R=3 performs about the same as R=2 since on many occasions it finds the
>>>>>correct move one ply later with lower search cost.
>>>>By the way, if you have not found Vincent's post on double null move you should
>>>>look it up.  It is a clear win for sure.
>>>Yes it's a nice idea. But the main null-move pruning deficiency is its tactical
>>>weakness due to horizon effect. Zugzwangs are not a major problem, and as
>>>Vincent points out, he invented the double null-move idea just to show that
>>>null-move pruning is OK. Now nobody doubts effectiveness of null-move pruning at
>>>all, the only discussion nowadays is the depth reduction value.
>>I'm missing any position where you have a problem though. Seems to me
>>your thing is incredible weak, and or doing other dubious things which
>>gets looked up in hashtable, after which it weakens your program.
>>In DIEP i don't have all these problems.
>>  - no dubious forward pruning
>>  - no futility
>>  - no razoring or any of these techniques.
>>  - checks in qsearch
>>Just PVS with nullmove R=3 and a bunch of extensions. That's it.
>>Means that after a nullmove i don't get transpositions to positions
>>where you have stored a score which is based upon a dubious score.
>>Best regards,
>Why do you think there is a problem?! All the results I got are natural. I'm
>sure even in DIEP, R=2 works better under "fixed theoretical" conditions.

No it works worse, because i search at least a ply less deeply. If i search
a ply deeper that doesn't only mean i get a ply more. Because the depth
is already pretty decent it also means all extensions might get triggered
a ply extra (like singular extensions).

>However in practice you don't search to fixed depth and thus R=3 might be better
>in practice.
>My only point is that "R=3 might be better than most people consider it." (Take
>DIEP as a successful use of R=3)
>Have you published anything regarding double null-move?

I simply posted in CCC and RGCC. the thing is real easy.
allow 2 nullmoves in a row always, but not 3.
Exception is if both sides only have pawns (of course you
can solve a few testset positions sooner by saying that
if either side has only pawns you don't allow nullmove
FOR BOTH SIDES, but that's in reality not so smart to do).

Apart from that the normal conditions that i don't nullmove
when in check.

This in fact results in nullmove not missing zugzwangs anymore.
Of course for more than 1 zugzwang the extra depth needed is
pretty big.

Best regards,

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