Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Can looking forward in hash table increase the number of visited nodes ?

Author: Ricardo Gibert

Date: 14:34:26 06/16/03

Go up one level in this thread


On June 16, 2003 at 16:34:09, Andrea Griffini wrote:

>I'm writing a chess program (iigchess on FICS) and I implemented
>something I've seen described and to which I didn't think myself
>before, that is doing a scan on all moves when entering a node
>in the alpha-beta search to see if any of the reachable positions
>is already in the hash table and its value can justify a beta cut.

Enhanced Transposition Cut-off or ETC.

>Doing this after the hash table probe for this node but before
>doing the move sorting and before starting evaluating the moves
>seemed to me a possibility to save something, but after implementing
>it I saw that I was actually getting an *increased* number of
>visited nodes to reach the same search depth.
>
>Does this means there's a bug in my code or that can indeed happen ?

If you include leaf nodes, I can see how this can easily happen. Try restricting
its use to nodes further down the tree. This can be generalized to restrict its
use to nodes where the remaining depth is greater than some constant parameter
"blah". The idea is the closer you are to the root, the greater the payoff you
get for a hash table hit. Also, a hit is more likely, since for example, leaf
nodes are more likely to be completely new positions compared to interior nodes.

Why don't you sort the moves for ETC? Just the first half dozen or so. The rest
can be random or skipping them all together perhaps is an interesting variant.
After the first half dozen moves fail to get a cut-off, the remaining moves are
unlikely to meet with success in any event.

BTW, I haven't tried any of this, so take what I say with a grain of salt. I
hope this helps. Good luck!

>
>My hash table is just a single-probe always-update one, but I
>suppose that shouldn't be the problem. Also a position in the hash
>table is considered usable only if the search depth that generated
>the stored result is not lower than current search depth or if we
>are in capture search (search depth is expressed in units of one
>tenth of a ply, depth<0 means capture search).
>
>Andrea



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.