艾洛积分系统(Elo Rating System)

一、基本公式

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

{ E A = 1 1 + 10 ( R B R A ) / 400 E B = 1 1 + 10 ( R A R B ) / 400

不妨令 Q A = 10 R A / 400 , Q B = 10 R B / 400 ,则有:

{ E A = Q A Q A + Q B E B = Q B Q A + Q B

推论:
E A + E B = 1
E A E B = Q A Q B

二、积分公式

本轮比赛的积分公式为:

R A = R A + K ( S A E A )

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

三、举例

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

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

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

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

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


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


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

猜你喜欢

转载自blog.csdn.net/haishu_zheng/article/details/80480284