Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Hash table insert

Author: Aivaras Juzvikas

Date: 08:40:38 05/09/04

Go up one level in this thread


On May 09, 2004 at 10:57:22, Jeff GAZET wrote:

>>>>>>>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 ?

i believe its the same as the 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.