利用ELO开发球员排名

时间:2014-11-22 20:44:01

标签: algorithm function system

我最近创建了一个锦标赛系统,很快就会进入玩家排名。基本上,在玩家完成锦标赛后,他们会根据他们在锦标赛中的表现给出排名。因此,赢得比赛的人将获得最高分并排名第一,而第二名将获得第二多分并排名第二,依此类推......

然而,在他们被列入新的排名后,他们可以挑战其他成员,并有办法发挥其他成员和改变他们的队伍。所以基本上(使用排名系统),如果排名第2的玩家A击败排名第一的玩家B,玩家A现在将变为#1。

我还决定,如果一名球员想要在排名中竞争但在比赛期间没有出现,他们可以在比赛结束后报名,并且将获得最低分的最低分(但他们有有机会向上移动。)

所以现在,我想知道我应该采取哪种方式来规划这个。当我将锦标赛中的球员转换为匹配排名时,我必须用积分来识别它们以便对它们进行排名。我认为这似乎是最好的方法。

1  1000
2  900
3  800
4  700
5  600
6  500
7  400
8  300
9  200
10 100 

在互联网上查看之后我决定使用ELO让玩家在玩家相互匹配后获得新的排名是明智的。我在这个页面上进行了讨论:http://www.lifewithalacrity.com/2006/01/ranking_systems.html

因此,如果我这样做,我可以说我排名#10面对排名#1。根据上面的网站,我的公式是:

R' = R + K * (S - E)

并且#10的评级仅有100分,其中#1有1,000。 所以在做完数学排名之后#10的击败#1的预期值是:

1 / [ 1 + 10 ^ ( [1000 - 100] / 400) ]
= 0.55%

所以      100 + 32 *(1 - 0.52)      = 115.36

我对ELO的问题是没有意义的。排在第10位之后,他不应该获得低至15分的成绩。我不确定我的数学运算是错误的,还是我分错了。或许我根本不应该使用ELO?任何建议都会非常有用

1 个答案:

答案 0 :(得分:1)

不要生气,这是你的桌子没有意义。

Elo系统基于这样一个前提:评级是对力量的准确估计,并且评级的差异准确地预测了比赛的结果(更好的200分的球员预计得分为75%)。如果实际结果与预测不一致,则意味着评级不反映强度,因此必须根据实际结果与预测结果的差异进行调整。

官方(如在FIDE中)Elo系统几乎没有任意的任意常数(例如200/75规格,Erf作为预测器等);选择它们(合理地)不同可能会导致不同的评级值,但会在同一排名中产生(长期)。这个断言背后有一些有趣的数学;这不是一个了解细节的正确地方。

现在回到你的桌子。它根据地点分配评级,而不是根据评分。无论她是否以100%的绝对成绩横扫锦标赛,或者几乎没有获得平等,冠军都会获得1000。这些观点并未估计参与者的实力。

所以我的建议是完全抛弃桌子,给每个新玩家分配一个入门级别(比如1000;只要你保持一致就没关系),并从一开始就坚持Elo。