Author: Andrew Dados
Date: 00:15:55 12/20/03
Go up one level in this thread
On December 20, 2003 at 02:20:33, Russell Reagan wrote: >On December 19, 2003 at 22:05:11, Dann Corbit wrote: > >>You can make too large of a hash table if you clear hash frequently (e.g. >>between moves) and the hash clear time becomes significant. > >You could avoid this by adding a counter element to each hash table entry. If >the counter of the hash entry is equal to the counter value representing the >"current" search, then that entry is from the current search. Otherwise, it's >old data. You increment the counter after each game move is made (not each >search move). You just have to make sure your counter will last long enough. >Probably a byte will do (256 plies have to pass before an old element could be >considered current). > >If your choices are to use a small hash size (say, 32 MB) because you need to >clear it, or use a larger hash size (say, 1 GB) and "waste" one byte per entry, >you'll probably come out way ahead on the amount of data you can store in your >table. 3 bits (8 values) for 8 consecutive searches was enough last time I worked on my proggy (some years ago it was :). By the time that 3-bit counter wraps you either: a) have no entries left from 8 searches ago (tiny HT, all were overwritten) b) still have some 8-search old entries left, which means HT size is huge comparing to single search nodecount, so little harm is made. -Andrew-
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.