## LOS (again)

Discussion of chess software programming and technical issues.

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
John_F
Posts: 44
Joined: Wed Jan 27, 2010 1:58 pm

### Re: LOS again.

Ajedrecista
Posts: 1405
Joined: Wed Jul 13, 2011 7:04 pm
Contact:

### Expansion of Ciarrochi's table.

Hello!

Ciarrochi's table is well known for engine testers and/or engine programmers, but I see a drawback in it... the maximum number of games supported is only 1000. I add more results generated by my slightly modified Fortran 95 programme Minimum_score_for_no_regression (I called this modified version Expansion_of_Ciarrochi_s_table. I know I am too original with the names of my programmes... just kidding).

I did a rewrite of my Fortran programmes that calculate standard deviation of matches between two engines: they calculate now sample standard deviations (just replace n in the denominator by (n - 1)). When I computed LOS tables I used the non-sample standard deviation and I realize that if I use sample standard deviations, the results I obtain are a little more approximated to true values IMHO, whatever they are... be quiet, Ed: differences are so small with high number of games, maybe 0.01% or 0.02% at maximum! So I think that LOS tables that I generated some months ago, which you kindly host in your site are enough for the purpose I generated them (getting a rough idea). Maybe it is worth to be hosted somewhere... are you there, Ed? I think it would be a nice complement to LOS tables.

Here is the source code of Expansion_of_Ciarrochi_s_table:

Code: Select all

``````! Programme for add more data to Ciarrochi's table.

program Expansion_of_Ciarrochi_s_table

implicit none

character&#40;len=*) &#58;&#58; F; parameter &#40;F = '&#40;I6,A,F7.4,A&#41;')
integer, parameter &#58;&#58; partitions = 2000, iterations = 50
real&#40;KIND=3&#41; &#58;&#58; mu&#40;0&#58;5,0&#58;1e5&#41;, sigma&#40;0&#58;5,0&#58;1e5&#41;, draw_ratio, k, f_de_mu&#40;0&#58;4,0&#58;1e5&#41;, derivative&#40;0&#58;4,0&#58;1e5&#41;, d_mu&#40;0&#58;4,0&#58;1e5&#41;
real&#40;KIND=3&#41; &#58;&#58; a, b, LOS, function_a, function_b, function_k, h_a, h_b, h_k, S1, S2, S_a, S_b, S_k, x
real&#40;KIND=3&#41; &#58;&#58; start, finish, clock_rate, elapsed_time, h2_a, h2_b, h2_k, three_sqrt_of_two_pi
integer &#58;&#58; i, j, n

write&#40;*,*)
write&#40;*,*)
write&#40;*,'&#40;A&#41;') 'Write down the draw ratio &#40;in percentage&#41;&#58;'
write&#40;*,*)
write&#40;*,*)

if (&#40;draw_ratio < 0d0&#41; .or. &#40;draw_ratio > 1d2&#41;)  then
write&#40;*,'&#40;A&#41;') 'Incorrect draw ratio.'
write&#40;*,*)
write&#40;*,'&#40;A&#41;') 'Please close and try again. Press Enter to exit.'
stop
end if

if &#40;draw_ratio == 1d2&#41; then
write&#40;*,'&#40;A&#41;') 'The mathematical model used in Minimum_score_for_no_regression does not support a draw ratio of 100%'
write&#40;*,*)
write&#40;*,'&#40;A&#41;') 'Please close and try again. Press Enter to exit.'
stop
end if

write&#40;*,*) 'Write down the likelihood of superiority &#40;in percentage&#41; between 75% and 99.9% &#40;LOS will be rounded up to 0.01%)&#58;'
write&#40;*,*)
read&#40;*,*) LOS  ! Likelihood of superiority.
write&#40;*,*)

LOS = 1d-2*nint&#40;1d2*LOS,KIND=3&#41;  ! Rounded up to 0.01%.

if (&#40;LOS < 7.5d1&#41; .or. &#40;LOS > 9.99001d1&#41;)  then
write&#40;*,'&#40;A&#41;') 'Minimum_score_for_no_regression will not work with a LOS value outside a range of 75% - 99.9%'
write&#40;*,*)
write&#40;*,'&#40;A&#41;') 'Please close and try again. Press Enter to exit.'
stop
end if

write&#40;*,'&#40;A&#41;') 'Write down the clock rate of the CPU &#40;in GHz&#41;, only for timing the elapsed time of the calculations&#58;'
write&#40;*,*)
if &#40;clock_rate <= 0d0&#41; then
write&#40;*,'&#40;A&#41;') 'The clock rate must be a positive number.'
write&#40;*,*)
write&#40;*,'&#40;A&#41;') 'Please close and try again. Press Enter to exit.'
stop
end if

start = cpu_clock@()  ! Start of the calculations.

! Approximation of the definite integral of the cumulative distribution function of a normal distribution by the composite Simpson's rule.

three_sqrt_of_two_pi = 3d0*sqrt&#40;2d0*acos&#40;-1d0&#41;)

if &#40;LOS < 8d1&#41; then  ! It splits into smaller intervals for later doing less iterations; less time is consumed.
a = 6.744d-1; b = 8.417d-1
else if (&#40;LOS >= 8d1&#41; .and. &#40;LOS < 8.5d1&#41;) then
a = 8.416d-1; b = 1.0365d0
else if (&#40;LOS >= 8.5d1&#41; .and. &#40;LOS < 8.75d1&#41;) then
a = 1.0364d0; b = 1.1504d0
else if (&#40;LOS >= 8.75d1&#41; .and. &#40;LOS < 9d-1&#41;) then
a = 1.1503d0; b = 1.2816d0
else if (&#40;LOS >= 9d-1&#41; .and. &#40;LOS < 9.25d1&#41;) then
a = 1.2815d-1; b = 1.4396d0
else if (&#40;LOS >= 9.25d1&#41; .and. &#40;LOS < 9.5d1&#41;) then
a = 1.4395d0; b = 1.6449d0
else if (&#40;LOS >= 9.5d1&#41; .and. &#40;LOS < 9.75d1&#41;) then
a = 1.6448d0; b = 1.96d0
else if (&#40;LOS >= 9.75d1&#41; .and. &#40;LOS < 9.9d1&#41;) then
a = 1.9599d0; b = 2.5759d0
else if (&#40;LOS >= 9.9d1&#41; .and. &#40;LOS < 9.975d1&#41;) then
a = 2.5758d0; b = 2.8071d0
else if &#40;LOS >= 9.975d1&#41; then
a = 2.807d0; b = 3.0903d0
end if

S_a = 0d0
h_a = a/partitions
h2_a = h_a + h_a

x = -h_a
S1 = 0d0
do i = 1, partitions-1, 2
x = x + h2_a
S1 = S1 + exp&#40;-5d-1*x*x&#41;
end do

x = 0d0
S2 = 0d0
do i = 2, partitions-2, 2
x = x + h2_a
S2 = S2 + exp&#40;-5d-1*x*x&#41;
end do

S_a = 5d-1 + h_a*&#40;1d0 + 4d0*S1 + 2d0*S2 + exp&#40;-5d-1*a*a&#41;)/three_sqrt_of_two_pi  ! This line prepares a one-sided test.
function_a = S_a - 1d-2*LOS

S_b = 0d0
h_b = b/partitions
h2_b = h_b + h_b

x = -h_b
S1 = 0d0
do i = 1, partitions-1, 2
x = x + h2_b
S1 = S1 + exp&#40;-5d-1*x*x&#41;
end do

x = 0d0
S2 = 0d0
do i = 2, partitions-2, 2
x = x + h2_b
S2 = S2 + exp&#40;-5d-1*x*x&#41;
end do

S_b = 5d-1 + h_b*&#40;1d0 + 4d0*S1 + 2d0*S2 + exp&#40;-5d-1*b*b&#41;)/three_sqrt_of_two_pi  ! This line prepares a one-sided test.
function_b = S_b - 1d-2*LOS

do j = 1, iterations  ! Solve the parameter k by Regula Falsi method&#58;
k = a - &#40;b - a&#41;*function_a/&#40;function_b - function_a&#41;
! The following is the original&#58;
! k = a + &#40;b - a&#41;*abs&#40;function_a&#41;/&#40;abs&#40;function_a&#41; + abs&#40;function_b&#41;)
! But given the fact that function_a < 0 and function_b > 0, the other form to calculate k requires less operations, so is faster.
S_k = 0d0
h_k = k/partitions
h2_k = h_k + h_k

x = -h_k
S1 = 0d0
do i = 1, partitions-1, 2
x = x + h2_k
S1 = S1 + exp&#40;-5d-1*x*x&#41;
end do

x = 0d0
S2 = 0d0
do i = 2, partitions-2, 2
x = x + h2_k
S2 = S2 + exp&#40;-5d-1*x*x&#41;
end do

S_k = 5d-1 + h_k*&#40;1d0 + 4d0*S1 + 2d0*S2 + exp&#40;-5d-1*k*k&#41;)/three_sqrt_of_two_pi  ! This line prepares a one-sided test.
function_k = S_k - 1d-2*LOS

if &#40;function_a*function_k < 0d0&#41; then
b = k
function_b = function_k
else if &#40;function_b*function_k < 0d0&#41; then
a = k
function_a = function_k
end if
end do

do n = 2000, 100000, 1000
mu&#40;0,n&#41; = 5d-1  ! Initial value for start the iterations in Newton's method.
end do

do n = 2000, 100000, 1000
do i = 0, 4  ! Implementation of Newton's method for getting mu.
sigma&#40;i,n&#41; = sqrt&#40;&#40;mu&#40;i,n&#41;*&#40;1d0 - mu&#40;i,n&#41;) - 2.5d-3*draw_ratio&#41;/&#40;n - 1d0&#41;)  ! Sample standard deviation with &#40;n - 1&#41; in the denominator.
! The formula for calculating sigma was taken from this thread &#40;first seen in post #22&#41;&#58;
! A detailed explanation of the expression for the standard deviation &#40;sigma&#41; is found in the section 3.2 of this PDF&#58;
f_de_mu&#40;i,n&#41; = mu&#40;i,n&#41; - k*sigma&#40;i,n&#41; - 5d-1
derivative&#40;i,n&#41; = 1d0 - 5d-1*&#40;1d0 - 2d0*mu&#40;i,n&#41;)*k/sqrt&#40;&#40;n - 1d0&#41;*&#40;mu&#40;i,n&#41;*&#40;1d0 - mu&#40;i,n&#41;) - 2.5d-3*draw_ratio&#41;)
d_mu&#40;i,n&#41; = -f_de_mu&#40;i,n&#41;/derivative&#40;i,n&#41;
mu&#40;i+1,n&#41; = mu&#40;i,n&#41; + d_mu&#40;i,n&#41;
if (&#40;mu&#40;i+1,n&#41; < 5d-3*draw_ratio&#41; .or. &#40;mu&#40;i+1,n&#41; > 1d0 - 5d-3*draw_ratio&#41;) then  ! The score must be between these two bounds.
write&#40;*,'&#40;A&#41;') 'The mathematical model used in Minimum_score_for_no_regression fails for at least one of these three reasons&#58;'
write&#40;*,*)
write&#40;*,'&#40;A&#41;') 'a&#41; It does not support such a low number of games.'
write&#40;*,'&#40;A&#41;') 'b&#41; It does not support such a high draw ratio.'
write&#40;*,'&#40;A&#41;') 'c&#41; It does not support such a high confidence level for the data of this match.'
write&#40;*,*)
write&#40;*,'&#40;A&#41;') 'Please close and try again. Press Enter to exit.'
stop
end if
end do
end do

open&#40;unit=11,file='Results.txt',status='unknown',action='write')
do n = 2000, 100000, 1000
write&#40;11,F&#41; n, '   ', 1d-4*nint&#40;1d6*mu&#40;5,n&#41;,KIND=3&#41;, ' %'
end do
close&#40;11&#41;

finish = cpu_clock@()  ! End of the calculations.
elapsed_time = 1d-6*&#40;finish - start&#41;/clock_rate  ! Approximated elapsed time in milliseconds.

write&#40;*,*)
write&#40;*,'&#40;A&#41;') 'The calculations have been saved into Results.txt file.'
write&#40;*,*)
write&#40;*,'&#40;A,I3,A&#41;') 'Approximated total elapsed time&#58; ', nint&#40;elapsed_time,KIND=3&#41;, ' ms.'

end program Expansion_of_Ciarrochi_s_table``````
I maintained the assumption of 32% of draws, the same as Ciarrochi. Please bear in mind that my results are approximations, although good ones. I randomly checked some values and all of them match with the ones given by Minimum_score_for_no_regression (it is logical given the fact that Expansion_of_Ciarrochi_s_table is almost a clone), but I always get very reliable results, so I think that these two programmes are free of bugs.

The calculation and print of results were really fast: around 41 ms for a cut-off of 5% (LOS = 95%), 52 ms for a cut-off of 1% (LOS = 99%) and 48 ms for a cut-off of 0.1% (LOS = 99.9%). Anyway, I think the programme is far from being well optimized but I do not care about it.

The output of this programme is a notepad with two columns: number of games (from 2000 to 100000 in steps of 1000) and the minimum score (rounded up to 0.0001%). I merged the three output notepads for getting a more readable format. Please remember that I input a draw ratio of 32%:

Code: Select all

``````                    Cut-off &#40;alpha&#41;

Games       5%           1%          0.1%

2000    51.5158 %    52.1424 %    51.5158 %
3000    51.2378 %    51.7499 %    51.2378 %
4000    51.0721 %    51.5158 %    51.0721 %
5000    50.9589 %    51.3559 %    50.9589 %
6000    50.8754 %    51.2378 %    50.8754 %
7000    50.8105 %    51.1461 %    50.8105 %
8000    50.7582 %    51.0721 %    50.7582 %
9000    50.7148 %    51.0108 %    50.7148 %
10000    50.6781 %    50.9590 %    50.6781 %
11000    50.6466 %    50.9144 %    50.6466 %
12000    50.6191 %    50.8754 %    50.6191 %
13000    50.5948 %    50.8411 %    50.5948 %
14000    50.5731 %    50.8105 %    50.5731 %
15000    50.5537 %    50.7831 %    50.5537 %
16000    50.5361 %    50.7582 %    50.5361 %
17000    50.5201 %    50.7356 %    50.5201 %
18000    50.5055 %    50.7148 %    50.5055 %
19000    50.4920 %    50.6958 %    50.4920 %
20000    50.4795 %    50.6782 %    50.4795 %
21000    50.4680 %    50.6618 %    50.4680 %
22000    50.4572 %    50.6466 %    50.4572 %
23000    50.4472 %    50.6324 %    50.4472 %
24000    50.4378 %    50.6191 %    50.4378 %
25000    50.4289 %    50.6066 %    50.4289 %
26000    50.4206 %    50.5948 %    50.4206 %
27000    50.4127 %    50.5837 %    50.4127 %
28000    50.4053 %    50.5732 %    50.4053 %
29000    50.3982 %    50.5632 %    50.3982 %
30000    50.3915 %    50.5537 %    50.3915 %
31000    50.3852 %    50.5447 %    50.3852 %
32000    50.3791 %    50.5362 %    50.3791 %
33000    50.3733 %    50.5280 %    50.3733 %
34000    50.3678 %    50.5202 %    50.3678 %
35000    50.3625 %    50.5127 %    50.3625 %
36000    50.3574 %    50.5055 %    50.3574 %
37000    50.3526 %    50.4986 %    50.3526 %
38000    50.3479 %    50.4920 %    50.3479 %
39000    50.3434 %    50.4857 %    50.3434 %
40000    50.3391 %    50.4796 %    50.3391 %
41000    50.3349 %    50.4737 %    50.3349 %
42000    50.3309 %    50.4680 %    50.3309 %
43000    50.3270 %    50.4625 %    50.3270 %
44000    50.3233 %    50.4572 %    50.3233 %
45000    50.3197 %    50.4521 %    50.3197 %
46000    50.3162 %    50.4472 %    50.3162 %
47000    50.3128 %    50.4424 %    50.3128 %
48000    50.3095 %    50.4378 %    50.3095 %
49000    50.3064 %    50.4333 %    50.3064 %
50000    50.3033 %    50.4289 %    50.3033 %
51000    50.3003 %    50.4247 %    50.3003 %
52000    50.2974 %    50.4206 %    50.2974 %
53000    50.2946 %    50.4166 %    50.2946 %
54000    50.2918 %    50.4127 %    50.2918 %
55000    50.2892 %    50.4090 %    50.2892 %
56000    50.2866 %    50.4053 %    50.2866 %
57000    50.2841 %    50.4017 %    50.2841 %
58000    50.2816 %    50.3983 %    50.2816 %
59000    50.2792 %    50.3949 %    50.2792 %
60000    50.2769 %    50.3916 %    50.2769 %
61000    50.2746 %    50.3883 %    50.2746 %
62000    50.2724 %    50.3852 %    50.2724 %
63000    50.2702 %    50.3821 %    50.2702 %
64000    50.2681 %    50.3791 %    50.2681 %
65000    50.2660 %    50.3762 %    50.2660 %
66000    50.2640 %    50.3733 %    50.2640 %
67000    50.2620 %    50.3706 %    50.2620 %
68000    50.2601 %    50.3678 %    50.2601 %
69000    50.2582 %    50.3651 %    50.2582 %
70000    50.2563 %    50.3625 %    50.2563 %
71000    50.2545 %    50.3600 %    50.2545 %
72000    50.2527 %    50.3575 %    50.2527 %
73000    50.2510 %    50.3550 %    50.2510 %
74000    50.2493 %    50.3526 %    50.2493 %
75000    50.2476 %    50.3502 %    50.2476 %
76000    50.2460 %    50.3479 %    50.2460 %
77000    50.2444 %    50.3457 %    50.2444 %
78000    50.2428 %    50.3434 %    50.2428 %
79000    50.2413 %    50.3413 %    50.2413 %
80000    50.2398 %    50.3391 %    50.2398 %
81000    50.2383 %    50.3370 %    50.2383 %
82000    50.2368 %    50.3350 %    50.2368 %
83000    50.2354 %    50.3329 %    50.2354 %
84000    50.2340 %    50.3309 %    50.2340 %
85000    50.2326 %    50.3290 %    50.2326 %
86000    50.2313 %    50.3271 %    50.2313 %
87000    50.2299 %    50.3252 %    50.2299 %
88000    50.2286 %    50.3233 %    50.2286 %
89000    50.2273 %    50.3215 %    50.2273 %
90000    50.2261 %    50.3197 %    50.2261 %
91000    50.2248 %    50.3180 %    50.2248 %
92000    50.2236 %    50.3162 %    50.2236 %
93000    50.2224 %    50.3145 %    50.2224 %
94000    50.2212 %    50.3128 %    50.2212 %
95000    50.2200 %    50.3112 %    50.2200 %
96000    50.2189 %    50.3096 %    50.2189 %
97000    50.2178 %    50.3080 %    50.2178 %
98000    50.2166 %    50.3064 %    50.2166 %
99000    50.2155 %    50.3048 %    50.2155 %
100000    50.2145 %    50.3033 %    50.2145 %``````
Corrections will be welcome because I am not perfect, as expected!

Regards from Spain.

Ajedrecista.

Ajedrecista
Posts: 1405
Joined: Wed Jul 13, 2011 7:04 pm
Contact:

### Re: Expansion of Ciarrochi's table.

Hi again:

I blew it and printed two times the second column. I will not have time to correct it until Friday. Sorry. Please do not copy the full code box because the last column is wrong.

Regards from Spain.

Ajedrecista.

Ajedrecista
Posts: 1405
Joined: Wed Jul 13, 2011 7:04 pm
Contact:

### Correct expansion of Ciarrochi's table.

Hello:
Ajedrecista wrote:Hi again:

I blew it and printed two times the second column. I will not have time to correct it until Friday. Sorry. Please do not copy the full code box because the last column is wrong.

Regards from Spain.

Ajedrecista.
Luckily, I was smart enough to copy and paste the code of my programme here. I generated the table again (it was generated without errors the first time) but I hope that the merge of numbers is correct this time. Please remember that I set the draw ratio to 32%:

Code: Select all

``````                    Cut-off &#40;alpha&#41;

Games       5%           1%          0.1%

2000    51.5158 %    52.1424 %    52.8430 %
3000    51.2378 %    51.7499 %    52.3229 %
4000    51.0721 %    51.5158 %    52.0124 %
5000    50.9589 %    51.3559 %    51.8004 %
6000    50.8754 %    51.2378 %    51.6437 %
7000    50.8105 %    51.1461 %    51.5220 %
8000    50.7582 %    51.0721 %    51.4238 %
9000    50.7148 %    51.0108 %    51.3424 %
10000    50.6781 %    50.9590 %    51.2736 %
11000    50.6466 %    50.9144 %    51.2144 %
12000    50.6191 %    50.8754 %    51.1627 %
13000    50.5948 %    50.8411 %    51.1171 %
14000    50.5731 %    50.8105 %    51.0765 %
15000    50.5537 %    50.7831 %    51.0400 %
16000    50.5361 %    50.7582 %    51.0070 %
17000    50.5201 %    50.7356 %    50.9770 %
18000    50.5055 %    50.7148 %    50.9495 %
19000    50.4920 %    50.6958 %    50.9241 %
20000    50.4795 %    50.6782 %    50.9008 %
21000    50.4680 %    50.6618 %    50.8791 %
22000    50.4572 %    50.6466 %    50.8589 %
23000    50.4472 %    50.6324 %    50.8400 %
24000    50.4378 %    50.6191 %    50.8223 %
25000    50.4289 %    50.6066 %    50.8057 %
26000    50.4206 %    50.5948 %    50.7901 %
27000    50.4127 %    50.5837 %    50.7753 %
28000    50.4053 %    50.5732 %    50.7613 %
29000    50.3982 %    50.5632 %    50.7481 %
30000    50.3915 %    50.5537 %    50.7355 %
31000    50.3852 %    50.5447 %    50.7236 %
32000    50.3791 %    50.5362 %    50.7122 %
33000    50.3733 %    50.5280 %    50.7013 %
34000    50.3678 %    50.5202 %    50.6909 %
35000    50.3625 %    50.5127 %    50.6810 %
36000    50.3574 %    50.5055 %    50.6714 %
37000    50.3526 %    50.4986 %    50.6623 %
38000    50.3479 %    50.4920 %    50.6535 %
39000    50.3434 %    50.4857 %    50.6451 %
40000    50.3391 %    50.4796 %    50.6370 %
41000    50.3349 %    50.4737 %    50.6292 %
42000    50.3309 %    50.4680 %    50.6217 %
43000    50.3270 %    50.4625 %    50.6144 %
44000    50.3233 %    50.4572 %    50.6074 %
45000    50.3197 %    50.4521 %    50.6006 %
46000    50.3162 %    50.4472 %    50.5940 %
47000    50.3128 %    50.4424 %    50.5877 %
48000    50.3095 %    50.4378 %    50.5815 %
49000    50.3064 %    50.4333 %    50.5755 %
50000    50.3033 %    50.4289 %    50.5698 %
51000    50.3003 %    50.4247 %    50.5641 %
52000    50.2974 %    50.4206 %    50.5587 %
53000    50.2946 %    50.4166 %    50.5534 %
54000    50.2918 %    50.4127 %    50.5483 %
55000    50.2892 %    50.4090 %    50.5433 %
56000    50.2866 %    50.4053 %    50.5384 %
57000    50.2841 %    50.4017 %    50.5336 %
58000    50.2816 %    50.3983 %    50.5290 %
59000    50.2792 %    50.3949 %    50.5245 %
60000    50.2769 %    50.3916 %    50.5201 %
61000    50.2746 %    50.3883 %    50.5158 %
62000    50.2724 %    50.3852 %    50.5117 %
63000    50.2702 %    50.3821 %    50.5076 %
64000    50.2681 %    50.3791 %    50.5036 %
65000    50.2660 %    50.3762 %    50.4997 %
66000    50.2640 %    50.3733 %    50.4959 %
67000    50.2620 %    50.3706 %    50.4922 %
68000    50.2601 %    50.3678 %    50.4886 %
69000    50.2582 %    50.3651 %    50.4850 %
70000    50.2563 %    50.3625 %    50.4815 %
71000    50.2545 %    50.3600 %    50.4781 %
72000    50.2527 %    50.3575 %    50.4748 %
73000    50.2510 %    50.3550 %    50.4716 %
74000    50.2493 %    50.3526 %    50.4684 %
75000    50.2476 %    50.3502 %    50.4652 %
76000    50.2460 %    50.3479 %    50.4622 %
77000    50.2444 %    50.3457 %    50.4591 %
78000    50.2428 %    50.3434 %    50.4562 %
79000    50.2413 %    50.3413 %    50.4533 %
80000    50.2398 %    50.3391 %    50.4505 %
81000    50.2383 %    50.3370 %    50.4477 %
82000    50.2368 %    50.3350 %    50.4449 %
83000    50.2354 %    50.3329 %    50.4422 %
84000    50.2340 %    50.3309 %    50.4396 %
85000    50.2326 %    50.3290 %    50.4370 %
86000    50.2313 %    50.3271 %    50.4345 %
87000    50.2299 %    50.3252 %    50.4320 %
88000    50.2286 %    50.3233 %    50.4295 %
89000    50.2273 %    50.3215 %    50.4271 %
90000    50.2261 %    50.3197 %    50.4247 %
91000    50.2248 %    50.3180 %    50.4224 %
92000    50.2236 %    50.3162 %    50.4201 %
93000    50.2224 %    50.3145 %    50.4178 %
94000    50.2212 %    50.3128 %    50.4156 %
95000    50.2200 %    50.3112 %    50.4134 %
96000    50.2189 %    50.3096 %    50.4112 %
97000    50.2178 %    50.3080 %    50.4091 %
98000    50.2166 %    50.3064 %    50.4070 %
99000    50.2155 %    50.3048 %    50.4049 %
100000    50.2145 %    50.3033 %    50.4029 %``````
I hope that this expansion of Ciarrochi's table will be useful for someone.

Regards from Spain.

Ajedrecista.

Posts: 9757
Joined: Wed Jul 26, 2006 8:21 pm

### Re: Correct expansion of Ciarrochi's table.

Ajedrecista wrote:Hello:
Ajedrecista wrote:Hi again:

I blew it and printed two times the second column. I will not have time to correct it until Friday. Sorry. Please do not copy the full code box because the last column is wrong.

Regards from Spain.

Ajedrecista.
Luckily, I was smart enough to copy and paste the code of my programme here. I generated the table again (it was generated without errors the first time) but I hope that the merge of numbers is correct this time. Please remember that I set the draw ratio to 32%:

Code: Select all

``````                    Cut-off &#40;alpha&#41;

Games       5%           1%          0.1%

2000    51.5158 %    52.1424 %    52.8430 %
3000    51.2378 %    51.7499 %    52.3229 %
4000    51.0721 %    51.5158 %    52.0124 %
99000    50.2155 %    50.3048 %    50.4049 %
100000    50.2145 %    50.3033 %    50.4029 %``````
I hope that this expansion of Ciarrochi's table will be useful for someone.

Regards from Spain.

Ajedrecista.
In short:

Code: Select all

``````5%    50% + 68/sqrt&#40;N&#41;
1%    50% + 96/sqrt&#40;N&#41;
0.1%  50% + 127/sqrt&#40;N&#41;``````
for 32% draws.

Or, even more intuitive, if N1 and N2 are the number of points for each engine, with N=N1+N2, then

Code: Select all

``````5%    &#40;N1-N2&#41; / sqrt&#40;N&#41; = 1.36
1%    &#40;N1-N2&#41; / sqrt&#40;N&#41; = 1.92
0.1%  &#40;N1-N2&#41; / sqrt&#40;N&#41; = 2.54
``````
This is for 32% draws, for higher number of draws the values are a bit smaller.

Posts: 9757
Joined: Wed Jul 26, 2006 8:21 pm

### Re: Correct expansion of Ciarrochi's table.

In short:

Code: Select all

``````5%    50% + 68/sqrt&#40;N&#41;
1%    50% + 96/sqrt&#40;N&#41;
0.1%  50% + 127/sqrt&#40;N&#41;``````
for 32% draws.

Or, even more intuitive, if N1 and N2 are the number of points for each engine, with N=N1+N2, then

Code: Select all

``````5%    &#40;N1-N2&#41; / sqrt&#40;N&#41; = 1.36
1%    &#40;N1-N2&#41; / sqrt&#40;N&#41; = 1.92
0.1%  &#40;N1-N2&#41; / sqrt&#40;N&#41; = 2.54
``````
This is for 32% draws, for higher number of draws the values are a bit smaller.
And as a rule of thumb, if N1 and N2 are the scores of each engine, with N1+N2=N, then

if |N1-N2| / sqrt(N) reaches 1.3-1.4, we get LOS of 95%. If it reaches ~2, then LOS is above 99%.