Wednesday, August 23, 2017

RELO proposal by Harri Hurme

On the MatPlus forum, Harri Hurme makes a great proposal for RELO, an improved Elo system for solvers of chess problems.
As Piotr Murdzia keeps on losing rating points, even if he wins all tournaments, the old system needs an overhaul indeed. So anyone interested should read Harri Hurme's idea.

The most relevant parts of the posting are quoted below.

 We can calculate the first cornerstone in the rating system, which is the difficulty rating for the problems, using the old ratings of solvers and the solving results as the basis. We call this rating as "Rdifficulty", this tells how tough an "opponent" each problem is.

Rdifficulty = Rav-C*arctanh(2*Pav/Pmax-1);
where Rav = average rating for solvers who have old rating
C=800/ln(10) = 347.4
Pav =average points for each problem by solvers who have old rating
Pmax=maximum points for a problem (presently Pmax=5)

I prefer using inverse of hyperbolic tanget but I could use logistic function as well.


After calculating the difficulty of the problems we can proceed with standard Elo rating methods. I give the required formulas though here as well.

Pexpected = 0.5(1+tanh((Ro-Rdifficulty)/C)

This is calculated separately for each solver and each problem and summed. The new Rating

Rnew= Ro+K*sum(Pachieved-Pexpected);

The coefficient K is normally 4 but can be different as in normal Elo-rating calculations, (4*Pmax=20). The K factor can be different for different category solving tourneys. Also the number of solvers should affect it. These questions need practical testing and thus this should be discussed after testing.

Calculate performance rating for each (new) solver. At this point we know the “opponents” (each problem) ratings and results ratings

Rperformance=Rav+C*(arctanh(2*Pt/Pmaxt-1)-arctanh(2*Pavt/Pmaxt-1))

The index t means that here total summed points are in use, not per problem as above.

The classical Elo rating is based on cumulative normal distribution.
Instead of the normal distribution prof Arpad Elo suggest to use so called logistic function as an approximation of the distribution. The basic reason for the approximation seems to be ability to carry practical calculations readily. However the logistic function 1/(1+10 (Ro-Ropp)/ 400) ) is a close approximation. Actually US chess federation consider this as more accurate. We transform the logistic function into more practical form by using hyperbolic tangent function and its inverse with the following mathematical identity: Logistic function 1/(1+10^x) = 0.5*(1+tanh(x/2)).
The hyperbolic tangent function is commonly used in engineering because its approximation evaluation is very simple, with small argument values
Tanh(x) ~ x and tanh(x)=1, if X>> 1 and tanh(x)=-1 if x<<-1. This helps in approximating in the normal middle range.

No comments:

Post a Comment