艾洛积分系统(Elo Rating System)

一、基本公式

A、B 两个待比较、评价的对象,分别打分为 RA R A RB R B ,则各自获胜的期望值为:

EA=11+10(RBRA)/400EB=11+10(RARB)/400 { E A = 1 1 + 10 ( R B − R A ) / 400 E B = 1 1 + 10 ( R A − R B ) / 400

不妨令 QA=10RA/400,QB=10RB/400 Q A = 10 R A / 400 , Q B = 10 R B / 400 ,则有:

EA=QAQA+QBEB=QBQA+QB { E A = Q A Q A + Q B E B = Q B Q A + Q B

推论:
EA+EB=1 E A + E B = 1
EAEB=QAQB E A E B = Q A Q B

二、积分公式

本轮比赛的积分公式为:

RA=RA+K(SAEA) R A ′ = R A + K ( S A − E A )

这里, RA R A ′ 代表本轮比赛结束后得到的新积分;
RA R A 代表上轮比赛结束后的积分;
K为积分系数,对于专业运动员,可取K = 16,对于初级运动员,可取K = 32;
SA S A 代表比赛实际得分,对于每局比赛来说,赢为1,平手为0.5,输为0;
EA E A 代表比赛期望得分。

三、举例

某运动员当前评分为 1613,其参加了一个 5 轮的锦标赛,结果分别如下:
(1)输给了一个评分为 1609 分的运动员;
11+10(16091613)/4000.51 1 1 + 10 ( 1609 − 1613 ) / 400 ≈ 0.51

(2)平了一个评分 1477 分的运动员;
11+10(14771613)/4000.69 1 1 + 10 ( 1477 − 1613 ) / 400 ≈ 0.69

(3)赢了一个评分为 1388 分的运动员;
11+10(13881613)/4000.79 1 1 + 10 ( 1388 − 1613 ) / 400 ≈ 0.79

(4)赢了一个评分为 1586 分的运动员;
11+10(15861613)/4000.54 1 1 + 10 ( 1586 − 1613 ) / 400 ≈ 0.54

(5)输给了一个评分为 1720 分的运动员 ;
11+10(17201613)/4000.35 1 1 + 10 ( 1720 − 1613 ) / 400 ≈ 0.35


则运动员的真实得分为: S=0+0.5+1+1+0=2.5 S = 0 + 0.5 + 1 + 1 + 0 = 2.5
运动员的期望得分为: E=0.51+0.69+0.79+0.54+0.35=2.88 E = 0.51 + 0.69 + 0.79 + 0.54 + 0.35 = 2.88
此时运动员的打分为: 1613+32(2.52.88)=1601 1613 + 32 ( 2.5 − 2.88 ) = 1601


TopCoder & Codeforces & AtCoder交流QQ群:648202993
更多内容请关注微信公众号
wechat_public_header.jpg

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值