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.