[转]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等级分体系的更多相关文章
- Elo rating system(Elo 打分体系)
A.B 两个待比较.评价的对象,分别打分为 RA,RB,则各自获胜的期望值为: ⎧⎩⎨⎪⎪⎪⎪⎪⎪EA=11+10(RB−RA)/400.EB=11+10(RA−RB)/400. 不妨令 QA=10R ...
- 《社交网络》里的评分公式——ELO排名系统
<社交网络>里的Mark Zackburg被女朋友甩后,在舍友的启发下,充分发挥了技术宅男自娱自乐的恶搞天分,做出了Facemash网站,对学校女生的相貌进行排名打分,结果网站访问流量过大 ...
- elo system
今天了解了一下游戏中的PVP模块的实现,大多数的游戏都使用到了ELO算法,刚开始的时候并不清楚这个算法是做什么的,对此开始大量查找有关于ELO算法的资源,功夫不负有心人,总算找到一些有用的资源了. 先 ...
- HPU暑期集训积分赛2
A. 再战斐波那契 单点时限: 1.0 sec 内存限制: 512 MB 小z 学会了斐波那契和 gcd 后,老师又给他出了个难题,求第N个和第M个斐波那契数的最大公约数,这可难倒了小z ,不过在小z ...
- ML-Agents(六)Tennis
目录 ML-Agents(六)Tennis 一.Tennis介绍 二.环境与训练参数 三.场景基本结构 四.代码分析 环境初始化脚本 Agent脚本 Agent初始化与重置 矢量观测空间 Agent动 ...
- Java生鲜电商平台-电商会员体系搭建
Java生鲜电商平台-电商会员体系搭建 说明:因为之前一直从事的是B端的生鲜电商方面的产品,对会员体系方面有深刻的理解,今天来聊一聊会员体系的搭建. 明确会员体系的目的 首先我们需要明确的知道,搭建电 ...
- [systemtap手记]debian体系安装过程
Debian体系,本人测试用机 Ubuntu 11.10 uname -r 查看原本的内核版本为 3.0.0-12-generic 第一步: 安装systemtap包 $ sudo apt-get i ...
- BPM体系文件管理解决方案分享
一.方案概述 企业管理在很大程度上是通过文件化的形式表现出来,体系文件管理是管理体系存在的基础和证据,是规范企业管理活动和全体人员行为,达到管理目标的管理依据.对与公司质量.环境.职业健康安全等体系有 ...
- Atitit.如何建立研发体系
Atitit.如何建立研发体系 组织,流程,prj..Mana oppm 发管理是一个完整的管理体系,从结构上来讲,它主要由四个方面的内容构架而成:组织结构与岗位设置 管理流程与工作流程..项目及管 ...
随机推荐
- android 回调的理解(结合接口)
什么是回调 回调其实是一种双向调用模式,也就是调用方在接口被调用时也会调用对方的接口.通俗的解释为:类A调用了类B中的方法1,然后类B最后又反过来调用类A中的方法2,即把结果返回给类A. 回调的具体实 ...
- [转]RAID技术介绍和总结
以下内容转自伯乐在线:http://blog.jobbole.com/83808/ 原文出处: 涯余(@若东临于沧海) ---------------------------------------- ...
- centos chkconfig 服务设置
chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法:chkconfig [--ad ...
- js模拟快捷键操作表单
<html> <head> </head> <body> <script> //键盘快捷键提交表单ctrl+s document.onkey ...
- 在 CentOS 7 中安装并使用自动化工具 Ansible
Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具.它用Python写成,类似于Chef和Puppet,但是有一个不同和优点是我们不需要在节点中安装任何客户端.它使用SSH来和节点进 ...
- 分析与提取QQ木马盗号技术
程序大致的流程如下图: 因为是用画图工具画的,所以大家就将就看下把,有什么不对的地方请多多指教: 程序是用Delphi写的,只有加载器加了个upx壳,其他的都没有加壳:所以分析起来就比较简单了: 这个 ...
- 三元运算+lambda表达式
#三元运算,三目运算,if else简写 if 1 == 1: name = "liangml" else: name = "NB" #如果 1==1 成立,n ...
- MONGODB 查询
1,mongoDB 取模运算:db.person.find({index:{$mod:[5,1]}})db.person.find({index:{$not:{$mod:[5,1]}}})2,name ...
- Map学习
1.Query Operations(查询操作) int size();boolean isEmpty(); boolean containsKey(Object key);boolean conta ...
- UIlabel设置不同的颜色
NSString *string = @"注册过程中出现问题,致电400-650-5167联系会养车工作人员"; NSRange range = [string rangeO ...