Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Incorporating time controls in chess programs

Author: Andrew Williams

Date: 04:26:58 02/16/00

Go up one level in this thread


On February 16, 2000 at 00:54:26, Sanjiv Karnataki wrote:

>On February 15, 2000 at 19:10:44, Andrew Williams wrote:
>
>>On February 15, 2000 at 18:10:12, Sanjiv Karnataki wrote:
>>
>>>Hi All,
>>>
>>>I am at the point where I am about to put time controls in my program and
>>>thought I will ask the experts before trying to do it all.
>>>
>>>a) determine the time available for the next move.
>>>
>>>b) While time is unexpired, search. At expiry of time use the best move from the
>>>last iteration. If the best move is a negative evaluation increase the time by
>>>some factor.
>>>
>>>That is the easy part.
>>>
>>>a) How do you determine if you don't need to use all the time ? eg: after
>>>iteration 10 the score is +20, would you save time by not looking further?
>>>
>>
>>I only do this sort of thing if there's only one move available, in which
>>case I do a very short search (4 ply I think) so that I can be sure I've got
>>a move to ponder on. Otherwise I just search for the full allocation. This time
>>isn't exactly wasted; it fills up the hash table with (hopefully) useful info.
>>Have you got access to old issues of ICCA Journal? If you do, you might want
>>to look at Chrilly Donninger's article "A la Recherche du Temps Perdu: That was
>>easy" in vol 17 No 1 March 1994. I don't know if this is out of date, but it
>>discusses the issue.
>>
>>>b) in case the time control is 40 moves in 120 minutes, it gives 3 minutes per
>>>move. how do you determine what time control to use if the games is all moves in
>>>xx minutes? How do you handle increments ?
>>>
>>
>>The increments thing is something I've been meaning to ask here for a while.
>>For your other question, I simply divide the time available by 30. Once we
>>reach the endgame, I reduce this to 20. With an increment, PostModernist adds
>>the increment to the time after the division. Before CCT1, I noticed that PM
>>would use less time than other programs in increment games. So where there's
>>an increment, I reduce the divisor somewhat (maybe 28 and 18, IIRC). I can't
>>help feeling that this isn't ideal, but I couldn't think of anything better at
>>the time.
>>
>
>If I divide the time available by 30 and then always use the full time
>available, wouldn't I run out of time on move 30? or am I missing something ?
>
>thank you again.
>

Sorry, I wasn't clear there. I meant "before each move, divide the remaining
time by 30 (or 20)". So if you've got an hour for the whole game you would
use 2 minutes for the first move, (58/30) minutes for the second move etc etc.


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.