I take a look to this Wikipedia article from time to time because I find very interesting that the first move has a small advantage in our chess theory and game databases. I realized about this funny quote the last time:
So I thought that I could do some calculations about this fact. Today I downloaded the PGN files of CCRL 40/40, CCRL 40/4 and CCRL 40/4 FRC (thank you very much to all programmers and testers!) after I downloaded Norm Pollock's PGN utilities with the wish of find some tools for split {1-0, ½-½, 0-1} results (I was almost sure that this tool existed; in fact, it is resultSplit) and then find other tool for count the number of plies (I was not sure about its existance, but it exists!): plyCount was exactly what I was looking for, so thank you very much to Norm!Wikipedia wrote:"You will win with either color if you are the better player, but it takes longer with Black." – Isaac Kashdan
Today I wrote a very simple Fortran 95 programme for calculate the mean and the sample standard deviation of a group of numbers:
Code: Select all
program plies
implicit none
integer,parameter::n=41923!black404frc
integer,parameter::maxply=512!black404frc
integer::i,ply
real(kind=3)::mu,s,sum,sum2,games(0:maxply)
open(unit=10,file='black404frc.txt',status='unknown',action='read')
do i=0,maxply
read(10,*) ply,games(ply)!First plies, then games.
end do
close(10)
sum=0d0
do ply=0,maxply
sum=sum+ply*games(ply)
end do
mu=sum/(n+0d0)
sum2=0d0
do ply=0,maxply
sum2=sum2+games(ply)*(ply-mu)*(ply-mu)
end do
s=sqrt(sum2/(n-1d0))
open(unit=11,file='Results_black404frc.txt',status='unknown',action='write')
write(11,'(A)') 'Rounding up to 0.01 plies:'
write(11,*)
write(11,'(A,F6.2,A)') 'µ ~ ',1d-2*nint(1d2*mu,kind=3),' plies.'
write(11,'(A,F6.2,A)',advance='no') 's ~ ',1d-2*nint(1d2*s,kind=3),' plies.'
close(11)
end program
Code: Select all
CCRL 40/40 (413955 games). Rounding up to 0.01 plies:
(1-0, 148228 games): µ ~ 123.03 plies; s ~ 43.71 plies.
(½-½, 155027 games): µ ~ 157.33 plies; s ~ 73.01 plies.
(0-1, 110700 games): µ ~ 128.53 plies; s ~ 44.24 plies.
(1-0): minimum ply count = 29 plies (1 game); maximum ply count = 585 plies (1 game).
(½-½): minimum ply count = 28 plies (98 games); maximum ply count = 641 plies (1 game).
(0-1): minimum ply count = 30 plies (1 game); maximum ply count = 600 plies (1 game).
Code: Select all
CCRL 40/4 (919265 games). Rounding up to 0.01 plies:
(1-0, 362493 games): µ ~ 129.58 plies; s ~ 44.75 plies.
(½-½, 260803 games): µ ~ 168.99 plies; s ~ 80.58 plies.
(0-1, 295969 games): µ ~ 134.55 plies; s ~ 44.77 plies.
(1-0): minimum ply count = 28 plies (4 games); maximum ply count = 577 plies (1 game).
(½-½): minimum ply count = 28 plies (153 games); maximum ply count = 700 plies (1 game).
(0-1): minimum ply count = 28 plies (4 games); maximum ply count = 584 plies (1 game).
Code: Select all
CCRL 40/4 FRC (111800 games). Rounding up to 0.01 plies:
(1-0, 46890 games): µ ~ 121.24 plies; s ~ 43.83 plies.
(½-½, 22987 games): µ ~ 173.34 plies; s ~ 83.85 plies.
(0-1, 41923 games): µ ~ 124.02 plies; s ~ 43.78 plies.
(1-0): minimum ply count = 21 plies (1 game); maximum ply count = 569 plies (1 game).
(½-½): minimum ply count = 10 plies (1 game); maximum ply count = 801 plies (1 game).
(0-1): minimum ply count = 20 plies (1 game); maximum ply count = 512 plies (1 game).
Any insights, comments... are welcome, as usual.
Regards from Spain.
Ajedrecista.