Author: Frank Phillips
Date: 15:08:43 12/03/02
Go up one level in this thread
On December 03, 2002 at 17:45:11, Robert Hyatt wrote:
>On December 03, 2002 at 15:40:09, Frank Phillips wrote:
>
>>I have failed miserably to implement ETC.
>>
>>My broad understanding is that you try for a transposition table cutoff for each
>>move (successor position) at a node before recursing the search from that node.
>>In my implementation the search tree is reduced, but Searcher plays noticeably
>>weaker in real games, despite its performance on test suites not deteriorating -
>>in fact improving slightly. Below is my pseudo code. Any help appreciated.
>>
>>Frank
>>
>>for (each move)
>>{
>> // MakeMove
>> // Check for Draws.
>> // Extensions for this move.
>> tdepth=depth-1+extension;
>> hit=HashRetrieve(pboard,tdepth-1,&tscore,&flag);
>
>I am not sure I understand the above. tdepth has already been decremented by 1.
>You are doing it a second time. That would seem to incorrectly order the tree,
>and assume a hit because the depth is one ply less than it really should be...
>
>Unless you have your search written in a way different than most, where the
>normal hash probe is done right at the top for most of us...
>
>
>
>
Then maybe this is the bit I am not understanding. Ignoring extensions for the
current node, I do
ABsearch(depth.....)
{
(normal) hash lookup
score = -ABsearch(depth-1........)
}
I had in mind that the ETC extra hash lookup was a surrogate for the value
returned from the recursive call score = -ABsearch(depth-1)
and therefore that the ETC hash probe should be depth-1 ie
ABsearch(depth.....)
{
(normal) hash lookup
for (each move)
ETC has lookup at depth-1
score = -ABsearch(depth-1........)
}
Cutting off at a shallower depth than the search would certainly explain things
though.....
Frank
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.