Author: Sanjiv Karnataki
Date: 19:45:21 02/12/00
Go up one level in this thread
On February 12, 2000 at 19:39:44, Robert Hyatt wrote: >On February 12, 2000 at 17:46:51, Sanjiv Karnataki wrote: > >>Hi All, >> >>I was trying to put in MTD(f) in my amateur program, but it seemed to worsen the >>search times so I decided to do what every amateur does when they get stuck ;) I >>looked at Crafty's code to see if it did something similar, but I cannot figure >>out what it is doing. >> >>Could someone (possibly Dr. Hyatt) please explain in small words the logic in >>iterate.c and searchr.c? I understand that it maintains a sorted root move list, >>but I cannot understand all the stuff it is doing with root_alpha, root_beta, >>root_moves[0].status. It also modifies root_beta in SearchRoot !?. >> >>Any help is greatly appreciated, thank you in advance ! >> >>Sanjiv. > > >first, I don't use mtd(f). I tried it, but didn't like it. > >iterate simply calls SearchRoot() over and over. If the value returned is >< alpha, I relax alpha and search again, same depth. If the value returned is >> beta, I relax beta and search again, same depth. Otherwise I go to the next >ply. > >Other than that I am not sure what you don't understand.. feel free to ask >specific things however.. Thank you Dr. Hyatt. A couple of specific questions: a) Crafty seems to use the two least significant bits of root_moves[0].status in some way that controls how alpha and beta are relaxed. What do the bits mean and why different rules for relaxing alpha/beta? b) If iterate.c controls calls to searchroot, why is SearchRoot in turn also modifying root_beta ? does that improve the window somehow? Thank you for your patience and answers ! Sanjiv.
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.