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.