Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: When to do a null move search - an experiment

Author: Sune Fischer

Date: 13:26:37 04/28/04

Go up one level in this thread


On April 28, 2004 at 16:14:39, Gerd Isenberg wrote:

>On April 28, 2004 at 13:45:05, Ed Schröder wrote:
>
><snip>
>
>>What is double nullmove? I only know recursive nullmove allowing multiple
>>nullmoves. I also read about "allowing 2 nullmoves in a row". What are the
>>differences?
>>
>>I use recursive nullmove, not allowing the next ply after the nullmove to
>>nullmove. So:
>>
>>  e2-e4
>>  e7-e5
>>  **-**     // nullmove
>>  d7-d5     // do no allow nullmove
>>
>>When I remove that check I get a few percent speedup, results look okay.
>>
>>Ed
>
>
>Hi Ed,
>
>yes Double Nullmove, suggested and invented by Vincent, allows to play two
>nullmoves in a row, to efficiently get rid of zugzwang problems. It is recursive
>too, and if i understand correctly, it works fine without any nullmove
>precondition:
>
>  if (!inCheck)
>  {
>     if ( move2thisNode != null || move2ParentNode != null ) (
>        val = -doNullMoveSearch(depth-1-R,...);
>        if ( val >= beta ) return val; // return beta;
>     }
>  }

I understand it differently, like this:

  if (!inCheck)
  {
     if ( nullmoves<2) (
        nullmoves++;
        val = -doNullMoveSearch(depth-1-R,...);
        nullmoves--;
        if ( val >= beta ) return val; // return beta;
     }
  }

So you may have:

  e2-e4
  e7-e5
  **-**     // nullmove
  **-**     // another nullmove to quickly test if parant nullmove fails-low!
  Nf3       // nullmove NOT allowed here, max 2 nullmoves along each line

-S.



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