Author: Tony Werten
Date: 23:08:40 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; > } > } > >May be Vincent may correct me. >It seems that there is an implicit kind of IID with 2R-2 too. Correct. Chech your hashtable again after the nullmove, if you didn't have a best move before. Then throw out IID. Tony > >What i do (did?), is a conditional confirmation search with same depth reduction >if a single nullmove fails high. To look whether there is at least one move >equal or better than doing nothing. Pseudo code like this: > > if (!inCheck) > { > eva = evaluate(&thread,..); // thead is negative if eg. own pieces hang > if ( move2thisNode != null && eva + thread - margin >= beta ) > ( > val = -doNullMoveSearch(depth-1-R,...); > if ( val >= beta ) > { // nullmove cutoff? > if ( !likely2haveZugzwang() ) > return val; > if ( search(depth-1-R,...) >= beta ) // one may even try depth-2-R > return val; > // else zugzwang detected > } > } > } > >Cheers, >Gerd
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.