Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: time management & fail low/high

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.