Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Hashtable and avoid null move

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.