Computer Chess Club Archives


Search

Terms

Messages

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

Author: Robert Hyatt

Date: 06:05:25 09/02/00

Go up one level in this thread


On September 01, 2000 at 10:21:13, Dave Gomboc wrote:

>On August 31, 2000 at 13:36:54, Bruce Moreland wrote:
>
>>On August 30, 2000 at 05:41:01, Severi Salminen wrote:
>>
>>>>>>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
>>>>>
>>>>>I believe the idea was to give higher weights to nodes near the root since they
>>>>>are not updated as often.
>>>>>
>>>>
>>>>and they are also more important, as they are *still* good with a deeper search
>>>>tree below them.
>>>
>>>Oh, I got it. I thought it was the depth in which the cut off was found, not the
>>>depth remaining below that node...
>>>
>>>So is this what basically happens:
>>>1. you generate pseudo-moves
>>>2. you give captures a big priority plus
>>>3. you add the corresponding history value from history[from][to] to priority
>>>value
>>>4. make the best move
>>>5. inc history value in array if cutoff found (or fail high)
>>>6. after search decrease history values a bit
>>>
>>>Right?
>>>
>>>Severi
>>
>>The 2^depth thing is based upon the belief that chess programs play better if
>>they use "cool" math like "^" rather than "boring" math like "+".
>>
>>bruce
>
>No, it's based on wanting to give higher increments to moves when they succeed
>near the root of the search than when they succeed near the tips of the search.
>An absolute shift left operation (<< ; how 2^depth is implemented) both gives
>this effect and executes extremely quickly.
>
>As an aside, the history heuristic is something that was created 15 years ago,
>and it wouldn't terribly surprise me if programs have changed enough over that
>time that it's no longer valuable.  I believe it's still a net win for Jonathan
>in his Chinook program, though.
>
>Dave


Remember that the history heuristic is just a more general case of the killer
move idea, which is over 25 years old.  And so far as I know, either still works
very well in today's chess programs.  If you already have killers, history might
not help a lot, but I haven't seen a case where it hurts, once it is implemented
correctly...



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.