Author: Robert Hyatt
Date: 13:06:16 12/06/00
Go up one level in this thread
On December 06, 2000 at 14:25:19, Scott Gasch wrote: >Hi all, > >My hashing code is working very well since I've been looking at it carefully and >finding bugs. Thanks for your help and comments. > >I am still unclear on one issue, though. Many people have said "store the >remaining depth in the draft of a hash entry." What happens if I make a move, >say "aha, this was a threatoning pawn push, extend by 1 ply!" then call search >recursively. This returns a fail high (beta cutoff). > >Now I am about to store a lower bound in my hash... this position is worth at >least X, maybe more. Do I store this with a draft of depth or depth + extend? >I think depth + extend -- after all I got the score from a depth + extend call >to search... the remaining depth for this position was depth + extend? Some >people have said "make sure you don't store extend values in your hash table or >you will have bugs" and I don't understand this. > You have to store the draft to reflect how you probe. If you probe at the front of Search() (as most of us do) then you should store a draft that is independent of any extensions you would do at _this_ ply. Why? Because if you don't you will have inconsistencies when you probe/hit and find something with a _deeper_ draft than it should have. I probe at the top of search, and use the depth passed into search for the draft test. I store at the bottom of search, just before I exit, and I store the _same_ depth value there that was passed in to search. >If I was about to store an exact or upper bound in the hash table after >searching all N moves in this position I would store with a draft of depth >_unless_ every move was searched with an extend of 1 ply. This is the case in >my code when the side on move is in check... so in this case I would store depth >+ extend again. > >Maybe I'm loony or don't fully understand this stuff. But the way I see it is >that I have a score X from an expensive recursive call(s) to search... and I >want to save this score for later. If I every one of my 1..N calls to search >used to generate X was made with a depth of depth + extend I store this as the >draft. > >Later if someone comes in and says I need a score of the same position to depth >+ 1 it should be OK to give them the same score computed above... because of the >extend above I did end up computing score X to depth + 1 already... > >Do I misunderstand some negative aspect of this plan? > >As always, much appreciate the help. >Scott
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.