Author: Andrew Dados
Date: 01:40:51 12/10/00
Go up one level in this thread
On December 10, 2000 at 04:15:58, Scott Gasch wrote: >Hi, > >What kind of hash replacement schemes are commonly used in chess programs? >Until now I've been using no replacement scheme but when I tried to implement >one it broke the hash. What I tried was a dirty count on each entry that was >incremented between moves... I would only replace over a hash entry if it was >dirty (from last move or earlier) or the depth of the replacement was >= the >depth of the replaced node. > >I guess this breaks because you get the hash full of nodes with very large draft >and don't replace them to deal with low draft but important nodes. Someone told >me about a 2 table system where you have an always replace and a good table... >thought being to save high draft "valuable" hash entries in the good table and >also save low depth but recently hit entries in the always replace table. > >What are the other schemes people are using? How bad is it to have no >replacement scheme at all (clobber everything)? > >Thanks, >Scott I use 2 probes, don't have distinction between them. If first can't be replaced I try second one. I replace when: current_depth<=stored_depth (root depth==0) and favor fail high nodes over fail low (they would have best move stored, thus good for move ordering). I store and probe till ply=0 (first ply of qsearch). I replace always if move was stored in previous search(es) (this is dumb). I don't store null move fail highs in HT for reason I forgot. -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.