Author: Robert Hyatt
Date: 13:56:01 05/08/04
Go up one level in this thread
On May 08, 2004 at 15:47:47, 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... > >Thank you all. >A last "stupid" question : is UPPER = hashfALPHA ? Yes... The stored score is an upper bound. The real score would probably be even lower.
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.