On Oct 31, 2006, at 1:05 AM, Tom Pollard wrote:
> Here are some comparisons of the three update methods, tested by  
> running 100000 60-second 'advances' with each method. The numbers  
> represent the percentage of the time that each error was found.   
> (The 'error', again, is the reported time minus the actual time, in  
> minutes.)

Out of curiosity, I tried translating Cameron's method into my code.   
(This mainly involved working in units of minutes, rather than  
seconds).   I found it produces the following distribution,

Cameron's method
* Choose offset uniformly from the set [-5..1], , but don't change  
the reported time if the chosen offset would cause it to retrogress.
-5   -4   -3   -2   -1    0    1    2    3    4    5
0.0  1.2  7.2 18.1 28.4 28.3 16.7  0.0  0.0  0.0  0.0

The results are reasonably balanced, centered more-or-less  
symmetrically around minus a half-minute.
Also, in this scheme, the reported time can /never/ be more than one  
minute ahead of the actual time.

I wanted to do this with other people's entries, too, but am out of  
time for now...

Cheers,

Tom

> Method 1
> * Choose offset uniformly from the set of values that prevent the  
> reported time from regressing.
>
> -5   -4   -3   -2   -1    0    1    2    3    4    5
> 0.0  0.0  0.0  0.0  0.1  0.3  1.6  6.2 18.4 36.5 36.9
>
> Method 2
> * Choose offset uniformly from the set of all allowable offsets,  
> but don't change the reported time if the chosen offset would cause  
> it to retrogress.
>
> -5   -4   -3   -2   -1    0    1    2    3    4    5
> 0.0  0.1  0.7  2.2  5.5 10.2 15.7 19.7 20.3 16.6  9.0
>
> Method 3
> * Changes offset randomly by +/- one minute on each update, but  
> don't change the reported time if the chosen offset would cause it  
> to retrogress.
>
> -5   -4   -3   -2   -1    0    1    2    3    4    5
> 9.2  9.4  9.6  9.3  9.1  8.8  9.1  9.0  8.8  8.8  9.0
>