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.