![]() StartingPoints Sub-pages Referenced by Homepages
|
KGSRating Math
Keywords: Theory, Online Go
Important note: Since CGoban 2.6.5 is out, the ranking algorithm has slightly changed [1]. k now is not constant anymore but adjusted according to statistics of game results, depending on the number of handicaps. Hence, the content of the page below is only approximately true. Chris Hayashida: I'm not sure that I read that the same way. The note in the change log made me think that k was changed after analyzing handicap games, but I don't think that it is variable now, only that it's been changed from 0.8. IntroductionThere is some documentation about KGS ranks on these pages: Basically KGS assumes that the expected win rate of two players is:
where k = 0.8[1], and the RankB-RankA is adjusted by 1 for every handicap stone and a small amount for each point of komi. Using this formula, KGS constantly recalculates the mostly likely rank for every player based on the games they played. Old games are decreased in weight exponentially with a half life of 45 days, and dropped completely after 180 days. Example expected win ratesexpected rank win diff rate 0.0 50% 0.5 60% 1.0 69% 1.5 77% 2.0 83% 2.5 88% Handicapping ensures that you win around 50% of your games if your rank is accurate. However, there is quite a bit of room within each rank for some players to be quite a bit stronger than others of the same rank. Also, the handicap system actually favors white by 0.5 stones. In fact at the extreme end, suppose you are 2.99 dan (on the verge of 3d) and play a 1.00 dan (a very weak 1d). KGS will suggest a H1 game (komi=0.5), but this still makes an effective rank difference of 2.99-1.00-0.5=1.49, and white will be expected to win 77% of the time. This is an extreme example, but even if you play all your games with players of your rank you will typically need to prove that you are 0.5 stones stronger than them to promote, so you will need to win 60% of the time. If you only win 59% of the time you merely show that you are strong for your rank, but not strong enough to promote to the next rank. Tables on rank responseHere is some math showing how your rank on KGS would react to you being a 2.5 (average 2d) and going from a steady 50% win rate to some other win rate. Some assumptions / simplifications implied:
Table for suddenly becoming 1 stone stronger:Suppose you played for 6 months as a 2.5 (an average 2d), and then suddenly became 3.5 (an average 3d) in strength and therefore started winning 69% of your games. In 45 days kgs will rate you a 2.5+0.51=3.01 (weak 3d). --------- Number of days played at new strength | -- Increase in your rating | | 0 0.00 15 0.21 30 0.38 45 0.51 60 0.62 75 0.71 90 0.78 105 0.84 120 0.89 135 0.93 150 0.96 165 0.98 180 1.00 How many wins in a row to promote?Assume you played 1 game a day as a 2.5 (average 2d) for 180 days. Then you get inspired and play a whole bunch of even games in one day and win them all. How will those games affect your rating? ---------- Number of games won in a row | -- Increase in your rating | | 0 0.00 1 0.04 2 0.08 3 0.12 4 0.15 5 0.19 6 0.22 7 0.26 8 0.29 9 0.32 10 0.36 11 0.39 12 0.42 13 0.44 14 0.47 15 0.50
So it will take 15 wins in a row to promote.
Effective RatingsWhere this page speaks about "ratings", it doesn't refer to standard ratings of players, but to effective ratings. (This also applies to strengths, which are defined in the next section.) Now, what does that "effective" stand for? Let's say, your opponent is a strong 3k (-3.1 AGA or 1840 EGF). If you play him with an advantage of 0.5 stones (that is, you take black) and 5.5 komi (this default komi is debatable), his effective rating is also -3.1 AGA or 1840 EGF. But if you play with different handicap and/or komi, your opponent's standard rating must be adjusted in order to represent the changed playing power s/he owns in that game. For each additional handicap stone that you give to the opponent, his/her effective rating gets one rank stronger. If it's you who gets handicap, his/her effective rating decreases by one rank per stone. The same applies to komi, as far as it differs from 5.5 to white (again, this number is debatable): your opponent's effective rating increases/decreases by 1 rank per 11 komi points you give/take. So, if you play white, giving 4 stones (which gives black an advantage of 3.5 stones over white) while still taking 5.5 komi, his/her effective rating in that game is (5.5 - 5.5)/11 + (3.5 - 0.5) = 3 grades better than his/her standard rating. The mentioned "strong 3k" player will effectively be a strong 1d (1.9 AGA or 2140 EGF) then to you. If you play white and give your opponent 4 stones, but without komi this time, his/her effective rating is (5.5 - 0.0)/11 + (3.5 - 0.5) = 3.5 grades stronger than his/her standard rating. S/he will effectively be a nearly average 2d then (2.4 AGA or 2190 EGF).
Usually it's considered best choice to have handicap and komi make your opponent effectively as strong as you are. However, it's possible to use different, even weirdly different, settings. E. g., you can give a stronger player handicap. The tables and formulas at this page still apply as long as you keep in mind to use the effective ratings (or effective strengths, respectively).
The Math Behind, Made Easy
rubilia:
I like the idea to create a "KGS Rating Math" page, and I am quite sure it can help the rating system to be better understood by people who want to go beyond The most basic way is to present tables of values like you've done above, even if they can show some exemplary cases only. Another attempt is to simplify the math formulas as far as possible, which is what I had in mind when I thought about creating a page like this in the past. Now, that you have gone that step, I will contribute, too. Strength of PlayersFirst, one can define a "(linearized) strength" s of players: s := e ^(k*r) , where r is the common (logarithmized) rating. At kgs, k = 0.8 gives s = 2.22 ^r . Using this, the winning probability of player A against player B can be expressed as s (A) P (A,B) = --------------- , s (A) + s (B) This equation should be easily understandable to many people. It sais, roughly spoken:
(Important note: This refers to pure strengths. In non-even games, effective strengths have to be used here, as calculated from effective ratings.) Rating CalculationWhen looking at the rating calculation procedure (which is a so-called maximum-likelihood estimation), it turns out that it can be transformed to a rather simple formula as well. Let player A's record consist of N games with various opponents (B1,...,Bx,..., BN). (It doesn't matter if the opponents are all different or, e. g., B4 is the same person as are B5 and B11. They're just called according to the order of games.) The players B1 to BN have the (linearized) strengths s(B1) to s(BN), respectively. Let qx indicate the result of game no. x as follows (ties aren't token into account here): qx := 1 , if A won the game, 0 , if A lost the game. Similarly, we write px for the winning probability of player A in game no. x: s (A) rx := P (A,Bx) = ---------------- . s (A) + s (Bx) Now, what does it mean to calculate the strength of player A? Because rx depends on A's strength, we can call it a function of s(A), in other words, rx = rx (s(A)). The correct strength value then is the one which ensures that the equation avg (rx) = avg (qx) is true. That is:
Game Result WeightingIn fact, the above paragraph doesn't cover how ratings are really calculated. If B8 for instance is an opponent who hadn't been playing for a very long time before, it's rather unsure what the result of game no. 8 actually tells about A's strength, because B's strength itself is very unsure. That's why so-called "weights" wx are attached to the games. They're intended to take account of each particular game result according to it's "meaningfullness". A weight is a number between 0 (games which are not evaluable at all) and 1 (most evaluable games). So, including weights, the correct strength value ensures that avg (wx * rx) = avg (wx * qx) is true. By taking wx, rx and qx for vectors, that is _ _ _ 0 = w * (r - q) . Currently, weight depends on
By the way, whilst the common kyu/dan ranks get the harder to increase the better you are, I guess the strength behaves more according to the effort you spend on improving. However, there's a big drawback: it's irksomely difficult to tell the appropriate number of handicap stones between two players of given linearized strengths.
[1] - The value of "k" was changed in version 2.6.5. From
Currently this is all the information available, don't know what the new value of "k" is. This is a copy of the living page "KGSRating Math" at Sensei's Library. ![]() |