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/

Reply via email to