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.