Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Why do you add 2^depth?

Author: Robert Hyatt

Date: 10:02:11 08/30/00

Go up one level in this thread


On August 29, 2000 at 16:13:31, Severi Salminen wrote:

>Hi!
>
>>I plan on implementing it to see what happens.  This heuristic is related to
>>killer moves and uses the from and to squares in a 64 x 64 array to maintain
>>history information when moves are bestmoves or cutoffs.  Each entry has 2 to
>>the depth power added to it when a bestmove or cutoff is found.
>
>
>Why do you add a value depending on depth (2^depth)? Why not just increment by
>1? Just asking because I'm new to chess programming techniques and I'm starting
>to program my own creature...
>
>Severi


Think about this:  which move would you trust as being "best"...  a move
near the root that failed high, or a root near the tip that failed hi?  Using
depth^2 (where depth is the number of plies remaining before quiescence)
tends to favor moves near the root.

This is good and bad, and probably needs thought.  IE a move that fails high
near the root may not fail high near the q-search because it isn't searched
nearly as deeply and the underlying reasons why it failed high near the root
might not be found with a shallow search.  Similarly, moves that fail high
near the tips may not fail high near the root as the 'near-the-root' search
will be much deeper and see far more.

A better approach might be to do this on a per-ply type of basis.  So that
at depth=N, you try the history moves found at other depth=N searches, before
you consider history moves for non-depth=N positions.  Would take some thought
to make this work reasonably quickly.  But it probably would be better.  But as
a sloppy first approximation, depth^2 works well, for the reason given.



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.