Author: José Carlos
Date: 03:53:51 12/27/03
Go up one level in this thread
On December 26, 2003 at 17:44:36, Tord Romstad wrote: >On December 24, 2003 at 03:19:35, Uri Blass wrote: > >>The disadvantage that I can see is that using hash tables become more >>problematic because the score may be dependent not only on the final position >>but also on the path. > >This reminds me of something I have been wondering about for a long time: >Many engines use recapture extensions. How is this possible without introducing >search inconsistencies? The same position could occur more than once in the >search >tree, and in some of the nodes one particular move could be a recapture, while >the >same move is not a recapture in other nodes. Does people somehow hash the move >leading to the position? If yes, doesn't this dramatically decrease the number >of >hash table hits? Is there some other clever trick which I haven't thought about >yet? > >The same problem occurs, of course, in all cases when you do some search >decision >which depends on the path leading to the position. I'd really like to know how >other >programmers handle this problem. At the moment, it is my single most difficult >problem in chess programming. > >Tord Sorry but I don't get the idea. Let's see it with some pseudocode: ///////////////////////////////////////////////////////// CheckDraws(); CheckHashTable(); TryNullMove(); for all moves { MakeMove(); CalculateExtensions(); Search(); } StoreInHash(); ///////////////////////////////////////////////////////// That's how I do it. I assume most do like this. So I enter the node with depth d, try moves and one of them is a recapture, so I search that move with d (instead of d - 1). When I enter the search in that node, I do it with d, check that hash table with d and store the result with d. So where's the problem? (Sorry if I missed something obvious). José C.
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.