Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Move Ordering and Transpostion Tables -- A Question

Author: Bruce Moreland

Date: 10:12:44 08/10/01

Go up one level in this thread


On August 10, 2001 at 11:45:32, Erik Evenson wrote:

>I'm just starting to implement move ordering in my chess program and have a
>quick question:
>
>The first factor in move ordering I am incorporating is using previous search
>evaluation results.  Currently, my transposition table stores a postion's
>evaluation (int), evaluation depth (int), and a hashlock (long).
>
>Q: Should I be storing the possible moves and resulting new position evaluation
>as well?  This would seem to speed up subsequent searches (no need to move gen
>or evaluate if sufficient depth), but redundantly stores the evaluation (in the
>move and in the next position.  In addition, I would structure this as a list in
>each hashtable entry, so now my hash table is growing pretty fast...
>
>How does everyone else do this?

A lot of positions don't have an exact value associated with them.  Instead, you
know that the value must be less than or equal to some number, or greater than
or equal some other number.  Most implementations store another value that
explains what the evaluation means.

In the case of a position where you find a move that causes a cutoff (very
common), or a move that goes into the principle variation (rare), this move is
stored in the hash table, too, so you can search it first.

The previous paragraph is most of the point of hashing middlegame positions.

bruce

>
>TIA.



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.