Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Efficient hash algorithm?

Author: Roberto Waldteufel

Date: 09:24:37 09/22/98

Go up one level in this thread



On September 22, 1998 at 08:14:30, Pat King wrote:

>
>On September 22, 1998 at 05:52:43, Roberto Waldteufel wrote:
>
>> Maybe there should also be an "age"
>>entry in the tables based on the move-number at the root of the search when the
>>move was stored (or maybe last used)?
>>
>>Best wishes,
>>Roberto
>
>How about if you store the ply the position was encountered.  When a collision
>occurs, the new position replaces the old if...
>
>  1) old.ply < current.ply (old position now history)
>  2) new.ply < old.ply (new position nearer root)
>  3) new.ply = old.ply and new.depth > old.depth (new position has higher
>quality score)
>
>Right now, I'm using always replace, but I haven't been terribly pleased with my
>results, and the above seems to simply incorporate the ideas discussed in this
>thread.
>
>Pat

This seems fine, but it does require a new variable "new.ply" to be carted
around the search, otherwise move extensions (eg after checking moves) would
cause problems: the depth parameter would not give a reliable indication of true
depth. Possibly it might be more efficient to allow some innaccuracy in order to
avoid this, eg replace if:

1) gamelength>oldgamelength+offset
2)depth>olddepth

Here the gamelength refers only to the moves that have actually been played, not
moves in the search. It is therefore constant over any one search, although it
increases for searches done throughout the game. The offset could be set at some
value slightly greater than the usual depth achieved in the searches, which
would of course depend on the time controls and the nature of the position.

Since the gamelength is held in a global variable anyway, this method would not
require any additional data to be updated during the search, yet would still
overwrite the outdated entries. What do you think?

Best wishes,
Roberto



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.