Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: repetition detection & hashing

Author: Steffan Westcott

Date: 14:40:24 01/16/02

Go up one level in this thread


On January 16, 2002 at 09:22:55, Robert Hyatt wrote:

>On January 16, 2002 at 00:08:19, martin fierz wrote:
>
>>On January 15, 2002 at 23:38:54, Robert Hyatt wrote:
>>
>>>On January 15, 2002 at 21:50:52, martin fierz wrote:
>>>
>>>>aloha,
>>>>
>>>>i have a question about repetitions, and it's only about the search itself, not
>>>>about the game history: in my checkers program, to find repetition draws i keep
>>>>track of the hash keys of the current variation, and if i find that the key for
>>>>the current position has already ocurred before in the search, i return zero
>>>>without searching further. i think this is the standard implementation?!
>>>>anyway, i am wondering about the following problem: imagine you are searching a
>>>>variation, and in the end you make a repetition. the program will stop searching
>>>>there in the tree and assign the position a value of 0. now imagine that you
>>>>have a different path of moves without a repetition which ends up at that node,
>>>>probes the hashtable and returns 0. is this just my imagination, or can this
>>>>happen and can it be bad?
>>>>
>>>>cheers
>>>>  martin
>>>
>>>
>>>It can happen.  As can the inverse, where you retrieve a real score from the
>>>hash table but you can never reach the position because there is a three-fold
>>>repetition between where you are and where you are going...
>>
>>so... is there a solution to this problem? or is it just tacitly assumed that it
>>"never happens"?
>>
>>cheers
>>  martin
>
>
>You can disable hashing.  Or you can hash all path information which will
>effectively disable transpositions which will disable hashing.  :)

How about including the number of position repititions in the hash information?

Granted, it doesn't solve all the problems as it doesn't include path
information (so in general we don't know the move sequence which led to the
repeated position when we retrieve it from the hash table later) but it helps
making _some_ otherwise identical positions distinct. That way, repeated
positions get distinct hash table entries, and could have different scores
stored in them. Unfortunately, they have to be individually searched - No
assumption is made between the scores for each repeated position.

Steffan



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.