Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Hashtable and avoid null move

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.