天梯匹配规则ELO

来源:互联网 发布:金蝶软件标准版教程 编辑:程序博客网 时间:2024/05/03 07:44

ELO Rating System 是当今对弈水平评估的公认权威规则,已被广泛应于国际象棋、围棋、足球和篮球等体育运动以及游戏中。例如星际争霸天梯排行,魔兽世界竞技场,Dota天梯系统,LOL匹配等游戏的竞技比赛系统中。ELO是一套较为完善的评分规则和机制,比较适合对竞技类游戏的选手的技术等级进行评估,用以计量个体在对决类比赛中相对技能的算法系统,对于游戏而言,需要让每场游戏尽可能的接近公平,创造双方势均力敌的竞赛环境。它最初由美国物理学教授 Arpad Elo 创立,故命名为埃罗排名。


一、ELO Rating System模型思路

1.假设每个玩家每盘游戏中的表现是一个正态分布的随机变量,尽管选手在不同的游戏中发挥可能差异很大,但每位选手在一段时间内表现的平均值变化很小,ELO系统用随机变量的平均值来代表选手的真正水平。

2.ELO系统用胜平负来评价选手在某一场游戏中的表现,赢就代表这场发挥比对手好,反之就是不好,因此会用赢加分,输扣分,平不得分来进行评分。


二、积分计算公式

Ra:A玩家当前的Rating

Rb:B玩家当前的Rating

Sa:实际胜负值,胜=1,平=0.5,负=0

Ea:预期A选手的胜负值,Ea=1/(1+10^[(Rb-Ra)/400]) 

Eb:预期B选手的胜负值,Eb=1/(1+10^[(Ra-Rb)/400])

因为E值也为预估,则Ea+ Eb=1

                      


R’a=Ra+K(Sa-Ea)

R’a:A玩家进行了一场比赛之后的Rating



K:K值是一个极限值,代表理论上最多可以赢一个玩家的得分和失分,K/2就是相同rating的玩家其中一方胜利后所得的分数。

国际象棋大师赛中,K=16;在大部分的游戏规则中,K=32。通常水平越高的比赛中其K值越小,这样做是为了避免少数的几场比赛就能改变高端顶尖玩家的排名。


三、实例说明

若当前A玩家rating为1500,B玩家rating为1600

预估A玩家的胜负值Ea = 1/(1+10^[(1600-1500)/400])≈0.36 

预估B玩家的胜负值Eb = 1-Ea = 1-0.36 = 0.64


假设A玩家获胜,实际胜负值为Sa = 1

A玩家最终得分为 R'a = 1500 + 32*(1-0.36) = 1500+20.5 = 1520,A玩家赢20分,B玩家输20分。


假设B玩家获胜,实际胜负值为Sa = 1

B队最终得分为 R'b = 1600 + 32*(1-0.64) = 1600 + 11.52 = 1612,B玩家赢12分,A玩家输12分。

PS:^符号代表次方运算。


四、天梯系统目的

1.保护新手不被有经验的玩家虐,让高手局中没有新手。

2.创造竞技和公平的游戏对局,使玩家的游戏乐趣最大化。

3.无需等待太久就能找到对手进入游戏。


五、具体实例

11对战平台的天梯实例。

下面的公式很好的说明了天梯积分的计算方法,而Si的计算则是取的ELO算法,虽然11的天梯还是存在Bug,但是不得不承认确实是很棒的设计。



从天梯积分曲线图可以看出,虽然曲线有波动,但是基本上能够代表这一段时间,玩家的技术水平区间,进而匹配战力接近的玩家,让玩家享受竞技的乐趣,而不是一味的虐菜,最后独孤求败进而流失。



参考:http://en.wikipedia.org/wiki/Elo_rating_system


原创粉丝点击