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.