首页 > 代码库 > [转]ELO等级分体系
[转]ELO等级分体系
【译前注:有读者问ELO等级分体系的说明。观网上好象没发现单篇文章就说得通俗清晰的,只好把找到几篇文章拿在一起合译互相补充。其间发现具体说法稍有差异,但总的来说概念一致。FIDE已经专门制定计算表了,到时有需要的照套表来算就行了,而且正式等级分表由FIDE统一发布。了解这些基础概念和函数计算是增进理解。】
ELO等级分体系
主要概念
ELO等级分体系是根据它的推广者埃洛(elo)教授名字命名的,它是一种以数值表示的体系,将等级差别转化为分数或取胜概率,反之亦然。当今多数竞技项目的等级分体系都是建立在ELO体系之上的。
即使粗略看比赛成绩表,也能够看出选手的表现是有起伏的,也就是有“状态”之分。强手未必恒定表现好于弱手;每人之状态在不同的日子不同的比赛里都会有好坏不同。而总的来说整个生涯里每一点上,一名选手的表现将大致围绕在某个平均水平上下波动,有时会有背离,而出现大背离的情况比出现小背离的情况频率要低。于是我们有了ELO体系的第一个假定,用标准统计术语表述就是:可以建立这么一个等级量表(rating scale),某个体在这个表里的不同表现将正常分布。
第二个假定牵涉到了等级量表区间间隔的定义。简单地说,在某一个特定的实力范畴里,尽管可能存在实力上的差异,但总的来说可以预期没有谁比谁好或差很多。由此可以定量划分区间。
等级量表(rating scale)
ELO体系使用一个叫“区间尺度”(interval scale)的定义,即等级差别是可能性方面的唯一重要因素。【译注:译者理解,这是指对阵双方谁有多大机会胜/负/和,唯一影响因素在于他们之间的等级差别,这样排除了难以确定的“状态好坏”(第一假定:个人的总体表现大致是正常分布的),也排除了具体谁对谁的影响(第二假定:某一特定实力范畴里,相互之间的差别一般可预期不会出现太大意外)。因此即使出现“爆冷”或“克星”,也视为偶发情况,因为ELO体系是建立在样本足够大量的统计基础上的。而且个体的等级也是动态反映的。】
有一个概念叫“标准分类间隔”(class interval),简单说就是某一个等级里最高与最低之间的差别。在国际象棋里,FIDE(即国际棋联)采用每200分为一个间隔的分类法,并且给每一个间隔取一个名字或排名以更好分辨。 FIDE的等级分分隔表中,将1700分选择作为普通水平业余棋手的实力值,将2000分选择作为区分大师与业余者之间的分界线。这个表如下,它足够大,保证没有负分出现:
等级分 | 实力范畴 | (另一种说法) |
2600以上 | 世界冠军竞争者;“超一流特级大师” | 世界冠军竞争者 |
2400-2599 | 特级大师(GM);多数国际大师(IM) | 国际等级选手 |
2200-2399 | 多数国家大师(FM) | 国家性冠军决赛选手 |
2000-2199 | 候补大师;专家 | 地区性冠军决赛选手(A级) |
1800-1999 | 业余者(A级,范畴1) | 俱乐部B级 |
1600-1799 | 业余者(B级,范畴2) | 俱乐部C级 |
1400-1599 | 业余者(C级,范畴3) | 俱乐部D级 |
1200-1399 | 业余者(D级,范畴4) | 俱乐部E级 |
1200以下 | 初学者 | 初学者 |
常态分布函数:
我们知道,强手未必总是胜过弱手,于是就使用一个“常态分布函数”(Normal Distribution Function)来代表一名棋手的波动表现,这是统计学上的概念。从这个函数里可以得出另一个函数叫“常态概率函数”(normal probability function ),这个就定义了根据比赛对抗结果可得出的等级差别,或者根据已知的等级差别可得出的预期比赛对抗结果。它是这样的:
P(D)这个值,就是以等级分差别D为自变量计算出来的预期取胜可能性(预期得分率),它可近似用下面这个公式来计算:
于是我们可以把典型数值事先都计算出来编成一张表,到时要计算等级分变化时只需查表找出对应数字就是。它叫“百分比预期值表”(Percentage Expectancy Table),简称PE表。下面就是两个PE表,表一从得分率P得出等级分差异D(P);表二则反过来,从等级分差异Rtg Dif得出预期得分率。可见这两个表是基于同一个公式即“常态概率函数”计算出来的,只不过方向相反,实质一样。所以可以套公式计算,也可以查表直接得出数字。
表一:从得分率得出相应等级分差异 | |||||||||||
得分率(P) | 等级分差异D(P) | (P) | D(P) | (P) | D(P) | (P) | D(P) | (P) | D(P) | (P) | D(P) |
1.00 | * | 0.83 | 273 | 0.66 | 117 | 0.49 | -7 | 0.32 | -133 | 0.15 | -296 |
0.99 | 677 | 0.82 | 262 | 0.65 | 110 | 0.48 | -14 | 0.31 | -141 | 0.14 | -309 |
0.98 | 589 | 0.81 | 251 | 0.64 | 102 | 0.47 | -21 | 0.30 | -149 | 0.13 | -322 |
0.97 | 538 | 0.80 | 240 | 0.63 | 95 | 0.46 | -29 | 0.29 | -158 | 0.12 | -336 |
0.96 | 501 | 0.79 | 230 | 0.62 | 87 | 0.45 | -36 | 0.28 | -166 | 0.11 | -351 |
0.95 | 470 | 0.78 | 220 | 0.61 | 80 | 0.44 | -43 | 0.27 | -175 | 0.10 | -366 |
0.94 | 444 | 0.77 | 211 | 0.60 | 72 | 0.43 | -50 | 0.26 | -184 | 0.09 | -383 |
0.93 | 422 | 0.76 | 202 | 0.59 | 65 | 0.42 | -57 | 0.25 | -193 | 0.08 | -401 |
0.92 | 401 | 0.75 | 193 | 0.58 | 57 | 0.41 | -65 | 0.24 | -202 | 0.07 | -422 |
0.91 | 383 | 0.74 | 184 | 0.57 | 50 | 0.40 | -72 | 0.23 | -211 | 0.06 | -444 |
0.90 | 366 | 0.73 | 175 | 0.56 | 43 | 0.39 | -80 | 0.22 | -220 | 0.05 | -470 |
0.89 | 351 | 0.72 | 166 | 0.55 | 36 | 0.38 | -87 | 0.21 | -230 | 0.04 | -501 |
0.88 | 336 | 0.71 | 158 | 0.54 | 29 | 0.37 | -95 | 0.20 | -240 | 0.03 | -538 |
0.87 | 322 | 0.70 | 149 | 0.53 | 21 | 0.36 | -102 | 0.19 | -251 | 0.02 | -589 |
0.86 | 309 | 0.69 | 141 | 0.52 | 14 | 0.35 | -110 | 0.18 | -262 | 0.01 | -677 |
0.85 | 296 | 0.68 | 133 | 0.51 | 7 | 0.34 | -117 | 0.17 | -273 | 0.00 | * |
0.84 | 284 | 0.67 | 125 | 0.50 | 0 | 0.33 | -125 | 0.16 | -284 |
|
|
表二:从等级分差异得出相应预期得分率 | |||||||||||
等级分差异 | 高分者预期得分率 | 低分者预期得分率 | 等级分差异 | 高分者预期得分率 | 低分者预期得分率 | 等级分差异 | 高分者预期得分率 | 低分者预期得分率 | 等级分差异 | 高分者预期得分率 | 低分者预期得分率 |
0-3 | 0.50 | 0.50 | 92-98 | 0.63 | 0.37 | 198-206 | 0.76 | 0.24 | 345-357 | 0.89 | 0.11 |
4-10 | 0.51 | 0.49 | 99-106 | 0.64 | 0.36 | 207-215 | 0.77 | 0.23 | 358-374 | 0.90 | 0.10 |
11-17 | 0.52 | 0.48 | 107-113 | 0.65 | 0.35 | 216-225 | 0.78 | 0.22 | 375-391 | 0.91 | 0.09 |
18-25 | 0.53 | 0.47 | 114-121 | 0.66 | 0.34 | 226-235 | 0.79 | 0.21 | 392-411 | 0.92 | 0.08 |
26-32 | 0.54 | 0.46 | 122-129 | 0.67 | 0.33 | 236-245 | 0.80 | 0.20 | 412-432 | 0.93 | 0.07 |
33-39 | 0.55 | 0.45 | 139-137 | 0.68 | 0.32 | 246-256 | 0.81 | 0.19 | 433-456 | 0.94 | 0.06 |
40-46 | 0.56 | 0.44 | 138-145 | 0.69 | 0.31 | 257-267 | 0.82 | 0.18 | 457-484 | 0.95 | 0.05 |
47-53 | 0.57 | 0.43 | 146-153 | 0.70 | 0.30 | 268-278 | 0.83 | 0.17 | 485-517 | 0.96 | 0.04 |
54-61 | 0.58 | 0.42 | 154-162 | 0.71 | 0.29 | 279-290 | 0.84 | 0.16 | 518-559 | 0.97 | 0.03 |
62-68 | 0.59 | 0.41 | 163-170 | 0.72 | 0.28 | 291-302 | 0.85 | 0.15 | 560-619 | 0.98 | 0.02 |
69-76 | 0.60 | 0.40 | 171-179 | 0.73 | 0.27 | 303-315 | 0.86 | 0.14 | 620-735 | 0.99 | 0.01 |
77-83 | 0.61 | 0.39 | 180-188 | 0.74 | 0.26 | 316-328 | 0.87 | 0.13 | 超过735 | 1.00 | 0.00 |
84-91 | 0.62 | 0.38 | 189-197 | 0.75 | 0.25 | 329-344 | 0.88 | 0.12 |
|
|
|
举例:一个等级分1950的棋手,她的对手等级分1700分,那么她取胜的机会有多大呢?
等级分差别D=1950-1700=250,代入上面那么近似计算公式,就是:
也就是说,她全取1分的机会有80.8%,大约是81%。事实上,查表2,可得知等级分差别在246-256之间的强手预期取胜可能性就是81%。不用计算,查表即可。
表现等级分/预计等级分公式:
这是ELO体系的第一个公式:Rp = Rc + D(P) (1)
其中:Rp是表现等级分;Rc是(平均)竞赛/对手等级分【如对手不止一个,那就要计算平均对手等级分】;D(P)就是以百分比数值P为自变量所得出的等级分差别(这个数字可以从表1中查出来)
这个公式既可用于定期计算等级分,也可以临时计算。它可用于决定第一次参加与有等级分的对手角逐的棋手的初始等级分。
举例:
一个棋手分别与1675分和1890分的对手下了两盘棋。她战胜1675的,并且与1890的下成和局。那么她的表现等级分是多少?(或者说,面对这两个对手她的表现究竟有多好?)
解答:
平均竞赛等级分Rc=(1675 + 1890)/2= 1783 。胜得1分,和得0.5分,于是她两盘得了1.5分,或者说得了75%的分,所以可从PE表中查找75%相应的值(当然,也可以从上面那个函数倒计算出精确值)。根据公式(1):
Rp = Rc + D(P) = 1783 + D(75%) = 1783 + 191 = 1974,这就是她在这两盘棋的实际表现。
当前等级分公式/连续计量法:
上面所说的公式(1),即表现等级分公式,假如用在一个长时期里,就不能精确反映棋手的实力了。更精确的方法是把各表现等级分综合计算以尽可能正确反映棋手的当前实力。所形成的数字就叫棋手等级分(player rating)或简称等级分(rating)。当然也会有些偶然变数,但没有表现等级分那么明显。
这就使用了ELO体系的第二个公式:Rn = Ro + K * (W - We) (2)
其中:Rn是赛事后的新等级分;Ro是赛事前的原等级分;K是单局得分的等级分点值,它是一个系数,取值有约定的;W是实际对局得分(胜得1、和得0.5);We是在原等级分基础上的预期对局得分。
这个公式是用来在连续基础上(也就是每局或每个赛事之后)计算新等级分的。它把最新的表现调整考虑进先前的等级分中。它的逻辑意义是一个棋手的表现高于他的预期得分以及低于他的预期失分。
系数K决定了事前等级分和本次表现分的相应权数。K值越高,那么越近的赛事表现的分量越大。反之则反之。一般K值范围从10到32。下面是一个K取值参考表:
等级分 | K值 |
< 2000 | 30 |
2000-2400 | 130-R/20 |
> 2400 | 10 |
预期对局得分We是每局预期得分的总和,面对每一个对手的取胜可能性P(D)从表2查出来然后把它们加总,公式就是:We = Σ(Pi) (3) 【译注:Σ即是sigma,西格马,即数学上的求总和】
举例:
一个棋手等级分1650,比赛中她分别与等级分为2050、1270和1550的三个对手对了阵,战胜了低分的两个,逼和了最高分的那个。她的新等级分是多少?
解答:
K值取10;Ro=1650;W = 胜2和1 = 1 + 1 +0.5 = 2.5
We = P(1650 - 1270) + P(1650 - 1550) + P(1650 - 2050) 【注意是对取胜可能性求总和】
=0.910 + 0.638 + (1-0.921)
=1.627
套入公式(2),即Rn = Ro + K * (W - We) = 1650 + 10 * (2.5 - 1.627) = 1659
也就是她在这次赛事后,等级分升了大约9分,成为1659。
当前等级分可以每一盘之后随时计算,但最终结果一致。
对手 | 等级分 | 等级分差异 | 预期得分率(请您计算或查表) |
1 | 2500 | -150 |
|
2 | 2480 | -130 |
|
3 | 2430 | -80 |
|
4 | 2400 | -50 |
|
5 | 2375 | -25 |
|
6 | 2365 | -15 |
|
7 | 2335 | +15 |
|
8 | 2320 | +30 |
|
9 | 2300 | +50 |
|
10 | 2280 | +70 |
|
11 | 2260 | +90 |
|
总计 | 26045 | -195 |
|
最后把原文一的例子稍作改动变成例题,有兴趣者可解答:有一棋手等级分是2350,她参加12人的联赛,其它11名对手的等级分如表,等级分差别也列出来了;她比赛成绩是5胜6负;K值取32。请依次计算以下数值:
1)查表或计算对每个对手各自的预期得分率;
2)计算(平均)对手等级分Rc;
3)根据成绩计算她的(实际)得分百分比值,然后查表并使用公式(1)计算这个联赛里她的表现等级分Rp;
4)查PE表列出这个表中对每个对手分别的取胜可能性值,并把它们求总和得出预期对局得分We;
5)根据公式(2)计算本次比赛后她的新等级分;
参考答案请点击这里。
出处: (见原文)
译者: michael
类型: 合编译
[转]ELO等级分体系