Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Hash table insert

Author: Jeff GAZET

Date: 07:57:22 05/09/04

Go up one level in this thread


>>>>>>Hi,
>>>>>>
>>>>>>in theory, when adding informations into the transposition table :
>>>>>>If the hash is found in the TT, we update informations if TTDepth<=depth.
>>>>>>If the hash is not found, we add the new entry.
>>>>>>
>>>>>>So this could be written like this :
>>>>>>
>>>>>>if(target->zkey==g_hash && target->depth<=depth)
>>>>>>	{
>>>>>>	//target->zkey = g_hash;
>>>>>>	target->eval = eval;
>>>>>>	target->flags = hashflag;
>>>>>>	target->depth = depth;
>>>>>>	target->m = m;
>>>>>>	}
>>>>>>
>>>>>>// New entry
>>>>>>else
>>>>>>	{
>>>>>>	target->zkey = g_hash;
>>>>>>	target->eval = eval;
>>>>>>	target->flags = hashflag;
>>>>>>	target->depth = depth;
>>>>>>	target->m = m;
>>>>>>	}
>>>>>>
>>>>>>My question is that in both cases, the same thing is done ! :-)
>>>>>>And this must be wrong.
>>>>
>>>>>You should add the new entry only if its depth is >= the depth of the previous
>>>>>entry that you are about to overwrite.
>>>>>Rémi
>>>>
>>>>But if this is a new entry, there isn't any previous one ?
>>>
>>>if (target->zkey == g_hash) {
>>> if (target->depth > depth)
>>>  return;
>>>}
>>>
>>>target->zkey = g_hash;
>>>target->eval = eval;
>>>target->flags = hashflag;
>>>target->depth = depth;
>>>target->m = m;
>>
>>Thanks, but i wrote : if (target->zkey!=g_hash && target->depth>depth) {return;}
>>Because we update only if target->zkey==g_hash and depth>=target->depth:
>><=>  (target->zkey==g_hash && depth >= target->depth)
>>So we must return if :
>>!(target->zkey==g_hash && depth >= target->depth)
>><=> (target->zkey!=g_hash && target->depth>depth)
>>(>= becomes > because we mustn't quit if target->depth=depth)

>dont u think that if keys dont match u should overwrite the old entry? as i
>understand when the table fills up, ur replacement scheme will store fewer and
>fewer new entries.

Yes, you're right. So this is the same as the first code i posted ?



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.