Next: Standard rating formula
Up: Details of the Rating
Previous: Effective number of games
This procedure is to be used for players with either ,
or players who have had either all wins or all losses in
all previous rated games.
The algorithm described here extends the old provisional
rating formula by ensuring that a rating does not decrease
from wins or increase from losses.
In effect, the algorithm finds the rating at which the
attained score for the player equals the sum of
expected scores, with expected scores following the
``provisional winning expectancy'' formula below.
For most situations, the resulting rating will be identical
to the old provisional rating formula.
Instances that will result in different ratings are when
certain opponents have ratings that are far from the
player's initial rating.
The computation to determine the ``special'' rating
is iterative, and is implemented
via a linear programming algorithm.
Define the ``provisional winning expectancy,'' , between
a player rated and his/her -th opponent rated to be
Let be the ``prior'' rating of a player
(either the pre-event rating for rated players, or the
Step 1 imputed rating for unrated players), and be the
effective number of games.
Also let be the number of games in the current event,
and let be the total score out of the games
(counting each win as 1, each loss as 0, and each draw as
0.5).
The variables and , which are the
adjusted initial rating and the adjusted score, respectively,
are used in the special rating procedure.
If a player has competed previously, and all the player's games were wins,
then let
If a player has competed previously, and all the player's games were
losses, then let
Otherwise, let
The objective function
which is the difference between the sum of provisional
winning expectancies and the actual attained score
when a player is rated ,
is equal to 0 at the appropriate rating.
The goal, then, is to determine the value of
such that within reasonable tolerance.
The procedure to find is iterative, and is described as
follows.
Let
be a tolerance to
detect values different from zero.
Also, let ,
, and, for ,
, .
Denote the unique and , , as the
collection
If there are no duplicates, then .
These values are the ``knots'' of the function
(essentially the value where the function ``bends'' abruptly).
- Calculate
This is the first estimate of the special rating
(in the actual implemented rating program, is set to ,
but the final result will be the same - the current
description results in a slightly more efficient algorithm).
- If
, then
- Let be the largest value in
for which .
- If
, then set
.
Otherwise, calculate
- If , then set
, and go back to 2.
- If
, then set
,
and go back to 2.
- If
, then
- Let be the smallest value in
for which .
- If
, then set
.
Otherwise, calculate
- If , then set
, and go back to 3.
- If
, then set
,
and go back to 3.
- If
, then let be the number of
, for which
Additionally, if
, set
.
- If , then exit.
- If , then
let be the largest value in and
be the smallest value in for which .
If
-
, then set
.
- , then set
.
- , then set
.
If the final value of is greater than 2700, the value is
changed to 2700.
The resulting value of is the rating produced by the
``special'' rating algorithm.
Note that these computations do not depend on whether the
event is a ``full-K'' or ``half-K'' event.
Next: Standard rating formula
Up: Details of the Rating
Previous: Effective number of games
Mark Glickman
2004-09-22