Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: ETC

Author: Murray

Date: 02:03:46 12/04/02

Go up one level in this thread


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);
>	// UnMakeMove
>	if (hit)
>	{
>		tscore=-tscore;
>		if (tscore>=beta && (flag==upper_bound || flag==exact_value))
>			return (tscore);
>		if (tscore<=alpha && (flag==lower_bound || flag==exact_value)
>			return (alpha);
>		}
>	}
>
>The basic idea is that upper_bound for the successor is the same as lower_bound
>for parent etc.
>And I would call the successor with depth=depth-1+extensions, therefore should
>probe the hash table with that depth.
>exact_value == score is equal to stored value.
>lower_bound == score is at least stored value.
>upper_bound == score is at most stored value.

I believe this is an error and you should remove it:

if (tscore<=alpha && (flag==lower_bound || flag==exact_value)
   return (alpha);

You are in effect saying that "if this particular move fails low, assume that
all moves fail low!!"

The other part of the code...

if (tscore>=beta && (flag==upper_bound || flag==exact_value))
   return (tscore);

...is correct, because any move leading to score >= beta is sufficient to cutoff
regardless of the score of any other move.

I use ETC in my checkers program and it's very effective. I have heard due to
the smaller number of transpositions in chess it's not so effective there.

Good luck

Murray



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.