Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Nullmove question

Author: Robert Hyatt

Date: 11:32:50 11/05/01

Go up one level in this thread


On November 05, 2001 at 07:00:48, Tord Romstad wrote:

>On November 04, 2001 at 17:41:06, Michel Langeveld wrote:
>
>>Don't forget to look at Bruce Mooreland's excellent homepage about
>>computerchess: http://www.seanet.com/~brucemo/toc.htm
>
>This looks like a very good site --- thanks to you for mentioning it, and
>to Bruce for writing it!
>
>I was a bit surprised to see the suggested implementation of the null move
>heuristic on Bruce's homepage, the alpha-beta window is different from what
>I have always used.  This is the code fragment:
>
>  MakeNullMove();
>  val = -AlphaBeta(depth - 1 - R, -beta, -beta + 1);
>  UnmakeNullMove();
>  if (val >= beta)
>    return beta;
>
>In my code, I have something like
>
>  val = -AlphaBeta(depth - 1 - R, -beta, mate_value);



No reason.  All you want to do, is with minimal effort, prove that if you
do _nothing_ the score will return >= beta.  Whether it is > beta, or = beta
means nothing here.  using mate-value means you will not be able to prune
many lines in the null-move search that would be discarded by alpha/beta
with X, X+1 as the bounds.

>
>which I always thought was the normal way of doing things.  The advantage
>of my method is that I can often detect serious tactical threats, while
>Bruce's approach has the obvious advantage that it searches fewer nodes.
>Without extensive testing, it is not clear to me which technique works
>better.
>
>What alpha-beta window do the rest of you use?  If anybody has tried both,
>which approach works better?
>
>Tord

I've always used X,X+1 for null-move.  I've tried others, but none were as
efficient.  I don't see how it would matter if the score is == beta, or way
above beta.  All that says is that you are winning, or you are _really_
winning, without having to play a move.  Now if the null-move search fails
_low_ that tells you something.  IE the difference between alpha and alpha-100
would be interesting.  Alpha means doing nothing is not good.  alpha-100
failing low means doing nothing loses a pawn.  Which may mean the opponent
has a serious threat that you have to actively hold off by playing a move.





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.