Author: William Bryant
Date: 13:38:55 05/08/04
Go up one level in this thread
On May 08, 2004 at 13:18:36, Robert Hyatt wrote: >On May 08, 2004 at 12:56:24, Jeff GAZET wrote: > >>>>>Hi, >>>>>when getting hashtable informations like this : >>>>>switch(target->flags) >>>>> { >>>>> case hashfEXACT: return target->eval; break; >>>>> case hashfALPHA: if(target->eval<=alpha) {return alpha;} break; >>>>> case hashfBETA: if(target->eval>=beta) {return beta;} break; >>>>> } >>>>>In which case mustn'nt we do a null-move ? >>>>>Thanks. >> >>>>If your hash record for a node (position) does not have enough draft to return >>>>from the search at this point, but does have enough draft >>>> (ie current_depth – R) for the null move search and predicts that it will >>>> not fail high (ie the stored hashflag is not a lower bound and the stored >>>>> value is < beta) then you can avoid the null move search for this node. >> >>I don't understand what means "draft". I would understand better a piece of code >>than a sentence, if possible. >>So you say : >>if(depth-R>0 && target->eval<beta)... DoNull=FALSE... ? :-) >>Thanks > > if (type == UPPER && depth-R <= draft && tableval < beta) > avoid_null = 1; > >Draft is "remaining depth" and is the depth value stored in the hash table... Just to clarify an important, because I think I am confused. The draft value is how much deeper the search is planning to search (before quescence) remaining depth, ___NOT___ the depth of the search up to this point? So a value stored in the hash table near the root, has a greater Draft, and a greater value, than a value stored near the leaves. Is this correct? William
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.