ELO rating system--游戏中的玩家评分体系

ELO rating system是一类应用在对抗类竞技项目中评测选手相对水平的方法。最初被应用与国际象棋,而后,扩展到了足球,篮球,橄榄球以及电子竞技等竞技项目中。
ELO rating system--游戏中的玩家评分体系_第1张图片
Arpad Elo ,ELO rating system提出者
在ELO rating中,一名玩家由一个值随着游戏结果增长或下降的数字代表,每轮游戏中,赢家从输家处得到相应分数。两位玩家之间的等级差距预测着游戏的走势,而获得同样的rating则意味着两位玩家将以相同分数结束游戏。若一位玩家的等级比对手高出100 points, 那么他的胜率为64%;若高出200 points则胜率达到76%。

数学原理

下面以数学的表达形式介绍一下ELO rating系统是如何计算概率的:
若A玩家的评分为RA,B玩家的评分为RB。
则可以预测A玩家的获胜概率为:

同样地,B玩家的获胜概率为:

也可以表示为

此时

若玩家A的预计得分为EA而实际得分为SA,则这个方程可以优化表达为:

这里K作为一个常数,可由选手的实力设定K的初始值。
这个优化后的算法过程被FIDE、USCF、Yahoo! Games、ICC、FICS等广泛运用为核心评分算法。
ELO rating system--游戏中的玩家评分体系_第2张图片
ELO Rating与其结果可能性随初始差值变化的趋势。

算法实现

还记得《社交网络》中的校花评选系统吗,就可由ELO rating算法实现。
源程序:(ELO Rating system 的php实现)
http://download.csdn.net/download/u011532367/9310479
python实现:http://blog.csdn.net/qq100440110/article/details/70240824
java 实现:http://blog.csdn.net/wlz766107/article/details/78025082

体系应用

ELO Rating最初被应用于西洋棋游戏,随后其应用方向被不断地拓展,包括英雄联盟、魔兽世界等游戏的竞技对战系统也采用了此分级制度。
目前除了游戏,ELO Rating system在生物测定,自动化,计算机材料检验等方面都发挥着重要作用。
(参考:Wekipedia)

你可能感兴趣的:(软导项目)