Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Repetition Checks

Author: Angrim

Date: 12:13:20 07/30/03

Go up one level in this thread


On July 29, 2003 at 13:04:47, Dann Corbit wrote:

>On July 29, 2003 at 11:38:40, Russell Reagan wrote:
>
>>This may be the source of my confusion -> Did you mean A) use the main
>>transposition hash table to detect repetitions, or B) use a seperate, smaller
>>hash table to detect repetitions, as Bruce does in Gerbil?
>
>Separate table.  I have used the same hash functions to manipulate all different
>hash tables, though.
>
>>I assumed you meant A (not sure why), but I use B. I think that by using a small
>>hash table, you are safe. Even if there are 600 positions that occured in the
>>game, if you use a 64-bit key, that is...gosh, really good odds :)
>
>You will never have to worry about more than 100 of them, since every capture or
>pawn push resets the list.

With the hash table method this is incorrect, since in the search you
have to retain the hash values when making a non-reversable move to
make undoing a move possible.  So you need to store at most 99+(max
possible search depth counting extensions) hash values.
It seems reasonable to not store/check for repetition data in the qsearch,
so I don't count that in the depth.

>Collisions are more frequent than people imagine because of the birthday
>paradox.  You start running into trouble at around sqrt(key_size) stores,
>typically.

Not sqrt(key_size) but sqrt(number of possible key values)
so for 64 bit key, this is 2^32 stored values.  I don't have enough
ram to even get close to that :)

Angrim



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.