Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: History Heuristic

Author: Sune Fischer

Date: 12:31:45 03/16/04

Go up one level in this thread


On March 16, 2004 at 13:10:33, Robert Hyatt wrote:

>On March 16, 2004 at 12:56:29, Sune Fischer wrote:
>
>>On March 16, 2004 at 12:33:30, Robert Hyatt wrote:
>>
>>>>   1> apply HH to the subtrees with that shallow (5-7 ply) remaining depth, and
>>>>      reset them for every other subtree, ofcourse
>>>>   2> apply HH to the top (5-7 ply) only
>>>>
>>>>It did not have the effect I thought it would have...
>>>>
>>>>Any ideas on the topic? Which should be doing better anyway? Or apply them both!
>>>>
>>>>Renze
>>>
>>>Neither.  At the root, before starting a brand new search (not a new iteration)
>>>age the counters...  IE in Crafty, in "main()" I shift the counters right 8 bits
>>>(divide them by 256).  This ages old history counters away over a few moves,
>>>without losing important values instantly...
>>
>>I think it is better to rescale it once and a while if you analyze for a long
>>time on each move.
>>
>>What happens is that the table will get filled with search information and as
>>the search moves into a new branch (a branch which is largely uncorrelated with
>>previous ones) the new search information will have to compete with the old one
>>and that can/will result in decreased efficiency.
>>
>>If you rescale it every x nodes or so, the information keeps being fresh.
>>
>>Anyway, this is what seems to produce the lowest nodes to solution numbers in my
>>tests.
>>Every man is his own best tester :)
>>
>>-S.
>
>
>I think we are different because I use _both_ approaches... killers and history
>moves.  Killers are definitely local.  History is a "global killer".  Perhaps if
>you don't do both, your results could be different from mine???

I use killers also, but I don't consider HH to be "global" as such.
I consider HH to be valid in the neighborhood of where it is constructed,
globally I see no reason why it should work well.

I think if it did work well globally there would be no need to build it
on-the-fly, one could just seed the table before the search with precalculated
data.

My view is that the history tables provides a form of probability matrix.
It tells us which type of move has the best probability of producing a cutoff.
The the more local the matrix is, the more accurate does it describe the
probabilities for the current position.

As a global table I believe it will become quite smeared and lose some of its
sting.

Anyway it should be a quick test to see which (for Crafty) produces the smallest
tree :)

-S.
>But in any case, I depend on killers for local cutoff moves, and I use history
>when all else has failed...



This page took 0.01 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.