Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Zugzwang in a Null Move Search?

Author: Roberto Waldteufel

Date: 19:58:59 12/24/98

Go up one level in this thread



On December 24, 1998 at 14:14:19, KarinsDad wrote:


>Roberto,
>
>You mention that if the null move search hits a zugzwang, the search is >broken.
>But you do not mention how to fix it.

Ah, but the problem is that you can't fix it because you don't know whether it
is broken or not, because if you have a zugzwang and null move fails high, that
is precisely when you stop the search. Upon entering a new node and checking the
hash tables, you insert the null move (with reduced depth of course) before any
of the real legal moves. If null move returns a value >= beta then you return
beta and exit. You save by not having to search any of the real moves to normal
depth. The logic runs something like "even if I do nothing in this position, it
is still too good for me and my opponent has a better choice earlier on, so
after I actually make a useful move my position will be even better still,
therefore this position is less than optimal for my opponent and there is no
need to search any further"  This logic fails if in fact all the real moves make
my position worse rather than better (zugzwang) or if the reduced depth null
move search was too shallow to see something important that would be seen at
normal depth. But you *must* take the null move score on trust, otherwise there
is no point doing it if you intend to search the real moves regardless. That's
why it's a gamble.



>I assume that if you could detect zugzwang
>(possibly by finding that all Ply x+2 moves have a lower score than their parent
>Ply x+1 move as indicated in my previous message), you could back out and
>re-search the Ply x+1 moves without the null move search.
>
>Would this method of detection and re-search work?

Well, you might detect the zugzwangs, but I think in the process you would
nullify (no pun intended) the purpose of the null move search, ie to avoid
searching any real moves.

>
>And I am totally confused on how one would go about using multiple null move
>searches within a single path (do you alternate between sides or what, and what
>does this buy you?).
>
>Thanks,
>
>KarinsDad
>

It's just like single null move, except instead of blocking further null moves
at all nodes descended from your first null move, you only block them for one
ply. It means that the reduced depth null move searches can in turn be made even
faster by using more null moves within their subtrees. As I posted, I seem to
have squeazed an extra 25% or so out of my search by implementing this. But the
figure is doubtless dependant on all sorts of other parameters, like type of
position, search depth, amount of depth reduction in null moves etc.

Merry Christmas,
Roberto



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.