Author: Dave Gomboc
Date: 07:21:13 09/01/00
Go up one level in this thread
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
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.