Author: Robert Hyatt
Date: 05:19:16 10/08/99
Go up one level in this thread
On October 08, 1999 at 04:44:23, Inmann Werner wrote: >On October 07, 1999 at 21:33:12, Robert Hyatt wrote: > >>Bob Hyatt wrote >> >>The only time I stuff the hash is at the end of an iteration, before starting >>the next, as it is very probable that part of the PV was overwritten by the >>searches that followed the PV move. > >why should it be overwritten? >It only can happen with collisions, or am I wrong? > >Werner No. You have some sort of replacement strategy, correct? After searching the PV, you do lots of other searching on the remaining N-1 root moves. And those drive the search just as deeply as the PV search did. What do you do when one of those searches wants to store on top of the same entry left when searching the PV? use the classic 'depth-preferred replacement' idea? Some of those N-1 moves could have pathways that have more checks than the best move. So that the depth along the path is deeper, and you overwrite some of the PV entries. here is the easy way to see this happen: write the "PV move stuffer" code that takes the PV and stuffs it into the hash at the end (or at the beginning) of each iteration. But before you stuff a move, do a probe for that position to see if the move is already there. Then you'll see just how many times the full PV is _not_ in the hash table, particularly at deeper depths with smaller tables. I did this a couple of months ago, just to see what was happening, as it would be nice to avoid the PV array altogether and retrieve it from the hash table but that is an ineffective way of doing it, generally. Because in most cases, all of the PV won't be found...
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.