On 9/24/07, Don Dailey <[EMAIL PROTECTED]> wrote: > My impression is that you over-engineer (or over-think) everything. You > try to improve on something before you've implemented something that is > simple and you know works reasonably well. >
My latest timing implementation is available under GPLv3 at [1]. It probably has a few warts still (including hard coded default values), but does seem to work relatively well. It estimates mean and variance of the different sources of timing losses and then creates a confidence interval for how long the time losses for the remainder of the game will take. The equation for this (for n future moves) takes the form a*n+b*sqrt(n). It then treats time beyond that as spare time to allocate over moves. While that final piece is simplistic (10% beyond a fixed min think time per move), I assume someone may find the statistical estimation stuff useful. External lag (AKA network lag) is relatively noisy because of time rounding issues. To overcome this, I do not compute sample variance, but just the average delay observed in the game. Variance is assumed to be a function of mean like in the exponential distribution. Because of initial noise, the estimated mean slowly changes from a default value to the observed value. Internal lag is assumed to have finer detail and both sample mean and variance are used after just a few samples. [1] http://housebot.svn.sourceforge.net/viewvc/housebot/trunk/housebot/timecontrol.d?view=markup
_______________________________________________ computer-go mailing list [email protected] http://www.computer-go.org/mailman/listinfo/computer-go/
