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.