Author: Dan Newman
Date: 02:13:25 10/06/99
Go up one level in this thread
On October 05, 1999 at 22:09:12, Robert Hyatt wrote: >On October 05, 1999 at 16:36:59, William Bryant wrote: > >>When updating the history for a move that has generated a cutoff, >>what value to people use. >> >>Do you use ply or some function of ply which means that the closer you are to >>the leaves, the greater the value being used for updating? >>ie: History[from][to] += ply; >> >>Do you use depth or some function of depth which means the closer you are to the >>root, the greater the value being used for updating? >>ie: History[from][to] += ply; >> >>Or are there other values being used. >> >>Thank you in advance. >> >>William >>wbryant@ix.netcom.com > > >The latter. because good moves at the root are more reliable good moves >than those near the leaves... > >I use depth*depth I think, but even better is 1<<depth. the problem with >that is 32 bit counters get ripped instantly if you can do a deep search. I discovered that the hard way. I don't recall exactly the effect, but at the time (three or four years ago) I was generating both captures and non-captures mixed together and was using only the history heuristic to sort them... It must have been the "brick wall" effect on an endgame test that I first noticed something wrong. I looked at some old notes just now and see that the history table entries started wrapping at about 30 ply depth searches. My first solution (with which I was never really satisfied) was to divide the depth by 2: history[index] += (1 << (depth >> 1));. Later, I saw Bob's solution in Crafty (depth * depth) and have used that ever since. -Dan.
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.