The Ockham rating function
Wlodzimierz Holsztynski
The Ockham rating function
=====================
Index:
1. Introduction
2. Success function sc(a A B)
3. The game's relevance factor; the rating function
4. The simplest relevance factor
5. The strength quotient factor
6. The activity factor
7. SUMMARY
The Ockham rating function is the crucial
component of my Ockham rating system.
This function applies for two-party games
(like chess, weiqi, tennis, soccer, ...).
Each party has a rating before the game.
Their rating after the game will depend on
the result of the game and on their ratings
just before the game, and to some extent
also on other factors like the difference of
playing strength and activity of the two partners
(opponents :-).
(I'll address the issue of the parallel games,
as in the correspondence chess, elsewhere).
I assume that the result of each game is a
real number a \in [0;1], i.e. non-negative and
not greater than 1. This is meant to be the
result of the first player; then the result of the
second player is b := 1 - a.
I will describe certain multiplicative rating
functions. For such functions each player's
rating is always a positive real number (which
may change after each game).
Multiplicative rating has the following property:
Let A B be the ratings of two players
just before their long match. If the running
average score a_n (and b_n := 1 - a_n)
oscillates around a (resp. b := 1-a) then
the ratings of the players will oscillate
near the values:
Aoo := a*(A+B) and Boo := b*(A+B)
respectively. We see that the ultimate ratings
A:=Aoo B:=Boo will be proportional to the
average scores a b:
A/B = a/b
(Certain oscillation is due to the discrete nature
of the problem; the rating should reflect the
temporary state of affairs and not an infinite
time interval).
Let me now introduce the auxiliary notion of
success and relevance, followed by the rating
formula.
2. Success function sc(a A B)
=======================
I define the success function of the first player
in a game as:
sc(a A B) := a*B - b*A
where A B are the ratings of the players
before the game, and a b are the scores
of the players, where b := 1-a, i.e. a+b=1
(remember that a \in [0;1], hence b \in [0;1]).
The success of the second player is:
sc(b B A) = b*A - a*B = -sc(a A B)
The success of the first player is positive,
zero or negative according to the inequalities:
a/b A/B == sc(a A B) 0
a/b = A/B == sc(a A B) = 0
a/b A/B == sc(a A B) 0
3. The game's relevance factor; the rating function
=======================================
For a game between two players of similar skill and
activity the relevance factor is about maximal p, allowed
for the given list. In general, the relevance factor is a
positive number, never exceeding p, where the list constant
parameter p is less 1. In general, the relevance of a game
may depend on the two players X Y (not just on their
ratings but on other factors as well), and on the time
of the game:
rev(game) = function(X Y date)
The new ratings A' B' of two players, rated A B
before the game, are
A' = A + rev(game) * sc(a A B)
B' = B + rev(game) * sc(b A B)
where a b are the game scores of the two players,
hence a + b = 1. It follows that the sum of their
ratings is preserved:
***************
A' + B' = A+B
***************
The higher the relevance factor the higher the
impact of the game on the two partners' rating.
4. The simplest relevance factor
=========================
For an amateur rating list the relevance
factor may be simply a constant like p=1/8.
When p is high (1/8 is perhaps high) then
ratings are sensitive to the temporary fluctuations
of the player's strength. If p is low then ratings
are more stable.
5. The strength quotient factor
=======================
Even for amateur lists one may introduce
the strength quotient factor as, for instance,
the cubical root of the quotient of ratings:
q(A B) := (min(A B) / max(A B)) ^ (1/3)
where A B are the two players' ratings (before
their game). Thus a more sophisticated rating
function will have rev := p*q(A B). Thus a game
between players who in an 18-game match are
expected to end with a score 16:2 the quotient
factor would be 1/2, and it would make the impact
of the game two times smaller than if it were played
between equal partners.
Remark: q(A B) = q(B A)
6. The activity factor
===============
It is also important to take into account
how active the two players are. Thus let me
introduce a player activity coefficient pA(X date)
of a player X at a given moment:
let g1 and g2 be the number of the games
rated for the given list, played by player X
during the year and 2 years respectively,
before the given moment "date"; then:
pA(X date) := min(12 g1) * min(20 g2) / 240
Now the activity relevance of a game between
players X Y at time "date" can be defined as:
act(X Y date) :=
max(1/100, 1 - |pa(X date) - pA(Y date)|)
Then the relevance factor may be defined as:
rev(X Y date) := p * q(A B) * act(X Y date)
Observe that act(X Y date) = act(Y X date), hence
rev(X Y date) = rev(Y X date)
7. SUMMARY
===========
The Ockham rating function is a part of the Ockham
rating system, which can and should be the vital
componet of the organized professional chess world.
After each game rated for a given list between two
players X Y rated A B, the new ratings A' B' of the
players X Y are given by:
A' = A + rev(game) * sc(a A B)
B' = B + rev(game) * sc(b A B)
where sc(A B) is the result of the game,
and rev(game) := rev(X Y date) is the
relevance factor of the game. It is a multiplicative
rating function. The rating list will have a constant
average of rating equal always to 1000.
For psychological reasons the additive translation
of the multiplicative rating will be provided. It is
obtained by the formula
ar(X) := log(mR(X)) + 1000 - log(1000)
where aR(X) mR(X) are respectively the additive
and the multiplicative rating of player X.
The relevance factor will emphasize the games
between the players who are in a similar situation
(whose rating is similar, and their activity).
Each new member of any Ockham rating list
will start with rating equal 1000.
The combination of
the class rating lists + relevance factor + equal entry
solves the problem of accepting new rated players
on a list.
*******
Wlod (Wlodzimierz Holsztynski)
PS. I'll write about the predictive properties
of the Ockham rating function separately
(including a precise meaning of constant p;
see the above sections about the relevance).
|