首页 |魔兽新闻 | |玩家攻略 | |精彩视频 | |玩家杂谈 | |相关下载 | |常见问题 | |赚钱心得 |
按标题 按内容
WOWZLP.COM


ELO系统与魔兽竞技场分数计算

作者: 来源:
日期:2007-11-01

半夜,在看wikipdia中wow的介绍,看到其中对竞技场的介绍中有提到ELO这个系统,link过去研究了一下,基本弄明白了,国内初开竞技场,大部分玩家对这个还不甚了解,貌似也没看到有老贴解释过这个,我就做下大致翻译,当然这贴对资深老鸟是没什么营养的。

Elo rating system

这个系统用来计算玩家的相对技术等级,通常用于博弈类游戏,比如国际象棋,围棋 *注1。

Elo,并不是一个缩写,而是系统发明者的姓,它本来是个改良的国际象棋积分系统,现在被广泛用于许多游戏。比如帝国时代3, 星际,魔兽争霸3,unreal,guild wars等等。


组建模型
1 Elo假设每个玩家在每盘游戏中的表现是一个正态分布的随机变量,尽管选手在不同的游戏中发挥可能差异很大,但每位选手在一段时间内表现的平均值变化很小。elo用随机变量的平均值来代表选手的真正水平。(这句话基本没什么意义)

2 elo用胜 平 负来评价选手在某一场游戏中的表现,赢就是这场你发挥的比对手好,反之就是不好。(赢就加分,输就扣分,平手不得分),这是因为你不可能从某一手棋的好坏来评定一个选手的等级,下了一手好棋,或一串手筋就给2000分的评定,显然很难有说服力。

这两条就是大致的模型构建,当然是简化了的。。为了简化计算elo有一个true skill值给每个选手,当然这个值还有很多优化的算法,跟魔兽没什么关系。有兴趣的同学可以参照xbox live online的一个算法   http://research.microsoft.com/mlp/apg/trueskill.aspx

数学公式
正题了, 做好笔记。。

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])
Ea+Eb=1
E值也是预估的胜率,所以Ea+Eb =1,

K:每场比赛能得到的最大rating,魔兽里k=32 *注2

R'a A选手一场比赛之后的rating

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

举例讲解
A队1500分,B队1600分,预估A队的胜负值Ea = 1/(1+10^[(1600-1500)/400])=0.36

假设A队赢了,实际胜负值为Sa=1

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

假设B队赢了,预估B队胜负值Eb = 0.64
B队最终得分为 R'b = 1600 + 32*(1-0.64) = 1600 + 11.52 = 1612, 赢12分,A队输12分。

文字这就是为什么你赢高分队分数多,输给低分的输的也多,赢低分的分数很少。

其实K值就是这个方程的极限,所以理论上你最多可以赢一个队伍32分,实际上29-30已经差不多了,赢了不得分也是有可能的。

平局在wow竞技场里也有可能发生, 最后2个玩家同时死亡,则都不得分。

共2页: 上一页 1 [2] 下一页
本新闻及文章仅代表发表厂商及作者观点,不代表本站本身观点