Author: Robert Hyatt
Date: 07:44:26 01/10/99
Go up one level in this thread
On January 10, 1999 at 10:22:04, Steve Maughan wrote: >On January 10, 1999 at 02:18:42, Larry Griffiths wrote: > >>Steve, >> >>I used Iterative Deepening for time control. My program keeps increaseing >>its max depth and starting another search as long as time remains. >>max depth and start another search. >> >>The other reason I use it is to increase the efficiency of the alpha-beta >>search. The principle variation of the last iteration is used as a >>"Killer heuristic". The moves for the next iteration are ordered >>based on the previous iteration. This tends to increase the number of >>alpha-beta cutoffs. > >Larry, > >Yes I have come across Iterative Deepening, the technique I was refering to is >INTERNAL Iterative Deepening. In Crafty, when it comes across a node in the >middle of the search tree that it does not have a hash table value for, it does >a Depth-2 search to try to find a good move for move ordering. The benefits are >like the ones you outlined. I was somewhat surprised that it was of benefit as >an internal move ordering technique. I'll have to write the rest of my Chess >program before I can test the idea :( > >Thanks > >Steve Maughan A subtle point: it doesn't do "just a depth-2 search"... because it just calls Search() recursively with depth-2, but _that_ search will also have no hash move, so it calls itself with depth-2 again... what this means is that I first do only a q-search to find the best capture. Then I do a 2 ply search trying the hash move first, but I'll likely find a non-capture is better. Then I'll take that non-capture and do a 4-ply search, and so forth... so it really is like an 'iterated' search rather than just a simple search to depth-2 and then quit... thanks to the wonders of recursion. :)
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.