[转]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 发管理是一个完整的管理体系,从结构上来讲,它主要由四个方面的内容构架而成:组织结构与岗位设置 管理流程与工作流程..项目及管 ...
随机推荐
- SAP采购申请审批记录增强
业务需要,开发就搞.... EBAN中增强结构:CI_EBANDB ANAME 类型 UNAME 用户名 ADATE 类型 AEDAT DATS 更改日期 ATIME 类型 UZEIT TIMS 时间 ...
- SQL is null函数
Sql ISNULL() 函数 使用指定的替换值替换 NULL. 语法 ISNULL ( check_expression , replacement_value ) 参数 check_exp ...
- redis学习(一)
一.redis简介 Redis是基于内存.可持久化的日志型.key-value高性能存储系统.关键字(Keys)是用来标识数据块.值(Values)是关联于关键字的实际值,可以是任何东西.有时候你会存 ...
- SharedPreference 存储小量数据,一般首次启动显示引导界面就用这个。
写://添加一个SharedPreference并传入数据SharedPreference sharedPreferences = getSharedPreferences("share_d ...
- 【转】Centos系统文件与用户权限分配详解ftp,nginx,php
linux系统中权限是非常完善的一个功能了,我们如果设置不正确文件就无法使用了,像我们以一般情况需要把文件权限设置为777或644了,对于用户权 限就更加了,像素ftp,nginx,php这些我们都可 ...
- Map-Reduce的工作机制
Mapper “Map-Reduce”的思想就是“分而治之” Mapper负责“分”,即把复杂的任务分解为若干个“简单的任务”而执行 “简单的任务”有几个意思:1.数据或计算规模相对于原任务要大大缩小 ...
- [Unity3D]调用Android接口
简介 有一些手机功能,Unity没有提供相应的接口,例如震动,例如不锁屏,例如GPS,例如... 有太多的特殊功能Unity都没有提供接口,这时候,我们就需要通过使用Android原生的ADT编辑器去 ...
- 记录一些容易忘记的属性 -- UIButton
//设置按钮文字字体(这个只在自定义button时有效) btn1.titleLabel.font = [UIFont systemFontOfSize:30]; showsTouchWhenH ...
- vs2012 .netFramwork2.0发布到xp
开发环境 windows server2008R2 VS2012 .net Framwork2.0 开发的winform程序 在有的xp系统下不能运行 选择 项目属性=>编译 Build=&g ...
- jvm之xms、xmx等参数分析
注:本文摘自http://www.cnblogs.com/mingforyou/archive/2012/03/03/2378143.html ,感谢原作者 1.参数的含义-vmargs -Xms12 ...