Author: Scott Gasch
Date: 11:25:19 12/06/00
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. 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.