Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Ratings on ICC have gotten way out of hand. RebelRex 3517!

Author: Slater Wold

Date: 02:54:37 09/07/01

Go up one level in this thread


On September 07, 2001 at 01:20:54, Gregor Overney wrote:

>Ratings on ICC and FICS are just numbers. They are pretty meaningless.
>Otherwise, one should not find ratings above 2500 for most chess programs.
>
>By selecting your opponents you can easily push up your rating. Just configure
>your noplay-list accordingly to avoid playing against "rating spoilers".
>
>Actually, looking at chessd and the older FICS code, you can find the C source
>that determines rating factors. Since the source for FICS and chessd falls under
>the GNU public license you can get the source without problems to see how rating
>is really calculated on FICS. Maybe ICC is using a different approach than FICS
>but your example proofs that it is also flawed.
>
>One thing that really distrubed me when playing on FICS, is that some chess
>engines refuse to play against players with a lower rating (for instance, less
>than 2000). (They are doing this by setting assessdraw, assessloss and
>assesswin. I would really like to see this removed from FICS.)
>
>Gregor

ICC and FICS rating formula's are very different.  While FICS uses RD (rating
devation) and ICC uses a standard formula.  FICS is much more complicated.

ICC's is pretty standard.  You get x amount of points for beating someone x
amount of points above you, and you lose x amount of points for losing to
someone rated x amount of points below you.  I believe the actual formula is:

                                    1
      r1 + K * [ w - ---------------------------------- ]
                          1 + 10 ^ ((r2-r1)/400)

r1 = rating of player 1
r2 = rating of player 2
K  = largest change your rating can experince as a result of 1 game. (32 is
always used in established vs established games.)

FICS uses the "glicko" system.  The formula for it is:

1/(1 + 10^(-(r1-r2)f(sqrt(s1^2 + s2^2))/400) )

But there are actually 6 steps:

Algorithm to calculate ratings change for a game against a given opponent:

Step 1.  Before a game, calculate initial rating and RD for each player.

  a)  If no games yet, initial rating assumed to be 1720.
      Otherwise, use existing rating.
      (The 1720 is not printed out, however.)

  b)  If no RD yet, initial RD assumed to be 350 if you have no games,
      or 70 if your rating is carried over from ICC.
      Otherwise, calculate new RD, based on the RD that was obtained
      after the most recent game played, and on the amount of time (t) that
      has passed since that game, as follows:

      RD' = Sqrt(RD^2 + ct)

      where c is a numerical constant chosen so that predictions made
      according to the ratings from this system will be approximately
      optimal.

Step 2.   Calculate the "attenuating factor" for use in later steps.
          For normal chess, this is given by

                      f =  1/Sqrt(1 + p RD^2)

          Here, RD is your opponent's RD, and p is the constant

                             3 (ln 10)^2
                       p =  -------------
                             Pi^2 400^2   .

          For bughouse, we use

              f =  1/Sqrt(1 + p (RD1^2 + RD2^2 + RD3^2))

          where RD1, RD2 and RD3 are the RD's of the other three
          players involved in the game, and p is given by

                             3 (ln 10)^2
                       p =  -------------
                             Pi^2 800^2   .

          Note that this is between 0 and 1 - if RD is very big,
          then f will be closer to 0.

Step 3.   r1 <- your rating,
          r2 <- opponent's rating,

          (in bughouse, r1 is the average of your rating and your
          partner's rating, and r2 is the average of your opponents'
          ratings)

                    1
      E <-  ----------------------
                    -(r1-r2)*f/400     <- it has f(RD) in it!
              1 + 10

          This quantity E seems to be treated kind of like a probability.

Step 4.   K =               q*f
              --------------------------------------
               1/(RD)^2   +   q^2 * f^2 * E * (1-E)

          where q is a mathematical constant:
                       q = (ln 10)/400 (normal chess),
                       q = (ln 10)/800 (bughouse).


          NOTE: if K is less than 16, we use 16 instead.

Step 5.   This is the K factor for the game, so

          Your new rating = (pregame rating) + K * (w - E)

          where w is 1 for a win, 0.5 for a draw, and 0 for a loss.

Step 6.   Your new RD is calculated as

          RD' =                     1
                  -------------------------------------------------
                  Sqrt(    1/(RD)^2   +   q^2 * f^2 * E * (1-E)   )  .

The same steps are done for your opponent.


Therefore, FICS is obviously more involved, however, I doubt it's any more
reliable or accurate.  But there surely are _NOT_ 3500 rated players at FICS.
(2797 is actually the highest.)  But that's probably because ICC has about 10x
more games a day than FICS.  And of course, better players.  (GM's, IM's, etc.)

And both ICC and FICS have "assesswin."


Slate



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.