Author: Andrew Williams
Date: 06:31:09 05/30/02
Go up one level in this thread
On May 29, 2002 at 20:13:10, martin fierz wrote: >i'm preparing my engine for a computer checkers tournament, where i will have to >have some real time management for the first time. right now, i only have fixed >time per move, which i implemented as > >if(time_elapsed < 0.5*time_to_think) > do next iterative deepening >else > return move > >and in the search: >if(time_elapsed > 4*time_to_think) > abort search, return best move of last iteration > >it occured to me that this might not be the best way to do it ;-) >i thought that if i'm past the 0.5*time_to_think limit and run into >a fail-high for a certain move, and i also notice that i am already close >to aborting the search, then i could just play the fail-high move anyway without >really knowing how bad it is. >on the other hand, i thought that if i'm in a fail-low condition, i might not >want to abort the search even if i am past the originally allotted thinking >time. does this make any sense? what are you guys doing? My program allocates an amount of time to search for the current move, call it T. If I find that the score at the root is dropping, I extend T up to a maximum of 6.5 times the original allocation. > >one more thing: i used to use a windowed search, where i knew what a fail-high >and a fail-low was. then i switched to MTD - now i'm not really sure how to >translate the above thoughts to MTD... any ideas? > >cheers > martin My program uses MTD(f). At the root, I successively try guesses to try to identify the score for the position. Each time I get a score back from the search, I compare it with what the first guess, f, was. If the score is 90 centipawns lower or worse, I extend the original allocatoin by 550%. If it's 50 centipawns or lower, I extend by 350%. If the score is 25 centipawns down, I extend by 100% etc etc. (These aren't the exact numbers, but you get the idea). One thing to try is to say "if the score has been dropping for n guesses, extend the search time, even if you've not yet had back a score which would trigger the extension". Depending on how your MT driver works, it might be that you run out of time while you're testing a guess which is 25 centipawns lower than the first guess. In mine, if the search came back saying that the score was lower than that guess, it would trigger an extension. Why not trigger an extension when you're investigating this question? Andrew
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.