Hello!
I have been working a little on two new programmes and I changed a few things in my other four programmes, including minor cosmetic changes. Here are the main changes that I remember:
LOS_and_Elo_uncertainties_calculator:
Now I use sample standard deviations (divide by 
(n - 1) instead of 
n). The rest remains unchanged.
Minimum_number_of_games:
Now I use sample standard deviations (divide by 
(n - 1) instead of 
n). The rest remains unchanged.
Minimum_score_for_no_regression:
Now I use sample standard deviations (divide by 
(n - 1) instead of 
n). The rest remains unchanged. I include an 
expansion of Ciarrochi's table (the original one can be visited 
here).
Probabilities_in_a_trinomial_distribution:
A new programme. It calculates probabilities without using an approach of mean and sample standard deviation of a normal distribution. It is valid for matches between two engines but it can be also used with the average of ratings of a pool of several players/engines as a rough approximation. The only similar thing I know is this 
Tournament Performance Luck Calculator, but Probabilities_in_a_trinomial_distribution has more freedom because you can choose the draw ratio.
It has a drawback: the intensive use of RAM. When I open Task Manager, Probabilities_in_a_trinomial_distribution and salflibc.dll use almost 800 MB of RAM: it is due to huge size of arrays and most of the elements of arrays are never used. Well, I am not a programmer... I tried 
allocatable but things were incredibly slow so I discarded this method (by the way I do not know how exactly works and I surely used it in a wrong way). Anyway, the longest calculations should take a few seconds at maximum.
Rating_performances_for_Round_Robin_tournaments:
Other new programme: a very simple rating programme (without covariance, draw model, prior and other things) that is useful only for Round Robin tournaments, but it does not need PGN files and it gives very similar results when compared to EloSTAT. It supports up to 64 engines/players but this number can be increased easily in the source code. Here is an example:
Re: War Engines
Code: Select all
    Program                          Elo    +   -   Games   Score   Av.Op.  Draws  
 1 Houdini 3 Pro x64              : 3332   17  17   1000    69.8 %   3187   39.4 %  
 2 Critter 1.6a 64-bit            : 3247   14  14   1000    57.4 %   3195   55.2 %  
 3 Strelka 5.5 x64                : 3244   15  15   1000    56.9 %   3196   49.0 %  
 4 Komodo 5 64-bit                : 3226   16  16   1000    54.1 %   3198   45.0 %  
 5 Bouquet _1.6 x64               : 3196   15  15   1000    49.4 %   3201   53.8 %  
 6 RobboLito 0.21Q x64            : 3195   15  15   1000    49.2 %   3201   51.7 %  
 7 IvanHoe 9.46h x64              : 3185   14  14   1000    47.5 %   3202   56.5 %  
 8 Deep Rybka 4.1 x64             : 3180   16  16   1000    46.8 %   3202   45.1 %  
 9 Stockfish 2.3.1 JA 64bit       : 3171   16  16   1000    45.4 %   3203   44.7 % 
10 DeepSaros 3.3 x64              : 3168   14  14   1000    44.9 %   3203   54.8 % 
11 Chiron 1.5 64bit               : 3056   18  18   1000    28.6 %   3215   36.8 %
ELOstat > Start Elo = 3200
Here is what must be written in a Notepad at the same path that Rating_performances_for_Round_Robin_tournaments:
Code: Select all
698
574
569
541
494
492.5
475.5
467.5
453.5
449
286
And here is the input data on the programme once it is opened (double click on the executable):
Code: Select all
Rating_performances_for_Round_Robin_tournaments, ® 2012-2013.
Write down the full name of the Notepad (including .txt), up to 64 characters:
War_engines.txt
Write down the number of engines of the Round Robin tournament (up to 64):
11
Write down your desired mean of ratings between -5000 and 5000:
3200
Write down the clock rate of the CPU (in GHz), only for timing the elapsed time of the calculations:
3
Rating performances have been saved into List_of_rating_performances.txt file.
Approximated elapsed time:   26 ms.
Thanks for using Rating_performances_for_Round_Robin_tournaments. Press Enter to exit.
Code: Select all
Round Robin with 11 engines and   1000 games per engine.
Total number of games:      5500 games.
 
 Engines:     Performance:     Score:
 
Engine 01:      3331.13       69.80 %
Engine 02:      3246.77       57.40 %
Engine 03:      3243.57       56.90 %
Engine 04:      3225.84       54.10 %
Engine 05:      3196.39       49.40 %
Engine 06:      3195.46       49.25 %
Engine 07:      3184.81       47.55 %
Engine 08:      3179.79       46.75 %
Engine 09:      3170.98       45.35 %
Engine 10:      3168.14       44.90 %
Engine 11:      3057.11       28.60 %
 
Mean of ratings:  3200.00 Elo.
Rating(Houdini 3) - rating(Chiron 1.5) = 3332 - 3056 = 276 using EloSTAT; the same difference with my programme is 3331.13 - 3057.11 = 274.02 (less than 1% of difference between EloSTAT and Rating_performances_for_Round_Robin_tournaments). All the cases I have tried ended with a difference of less than 1%.
Round_Robin_pairings_generator:
The maximum number of players/engines supported is now 80 instead of 64.
------------------------
I have uploaded my tools (including source codes) in Dropbox this time, with the aim of get a permanent link:
Six_Fortran_95_tools.rar (681.58 KB)
Please remember that these executables should only work in Windows. These programmes are far to be perfect... I do not expect bugs but probably they exist in very extreme cases. Any insights are welcome. Enjoy!
Regards from Spain.
Ajedrecista.