Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: simple time management??

Author: Tony Werten

Date: 06:36:13 06/13/03

Go up one level in this thread


On June 12, 2003 at 08:43:02, Magoo wrote:

>Hi, my engine MiniMardi is doing well!! playing good at a fixed depth = 4.
>Now i've added time management that seems to work (i think), but i wonder how
>other newbie engines do this? My method is: if game has increment,
>allocated_time = inc + time, where time = time_left/speed. Speed is set so that
>if time_left > time_opponent, speed++, else speed--. (to match the opponent).
>This method works well for slow games, but in bullet (1 0) this method doesn't
>work so well, the speed variable takes "moves to update", so this means the
>engine after about move 30, has <10 sec left. To fix this i use a special case
>to detect the game is bullet, but of course, i dont want to this for ALL
>different time controls (3 0, 5 0 etc..).

Your quite save with:

time_for_move=(time_left div (max(60-moves_played),20))

except where moves_played is small and (time_left div 60) is much smaller than
increment. Just adjust for that.

You might want to increment time_for_move with:

if nr_of_moves_since_leaving_book<10 then
begin
  inc(time_per_move,(time_per_move div 10)*(10-nr_of_moves_since_leaving_book))
end;

Tony



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.