Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 使用ELO开发球员排名_Algorithm_Function_System - Fatal编程技术网

Algorithm 使用ELO开发球员排名

Algorithm 使用ELO开发球员排名,algorithm,function,system,Algorithm,Function,System,我最近创建了一个锦标赛系统,很快就会进入球员排名。基本上,在球员完成比赛后,他们会根据他们在比赛中的表现获得排名。因此,赢得锦标赛的人得分最多,排名第一,而第二名得分第二,排名第二,以此类推 然而,当他们在新的排名中排名后,他们可以挑战其他成员,并且有办法与其他成员比赛并改变他们的排名。所以基本上(使用排名系统),如果排名为2的玩家a击败排名为1的玩家B,那么玩家a现在将成为1 我还决定,如果一名球员想在排名中竞争,但在比赛期间不在场,他们可以在比赛结束后注册,并将获得可能的最低排名和最低分数(

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

然而,当他们在新的排名中排名后,他们可以挑战其他成员,并且有办法与其他成员比赛并改变他们的排名。所以基本上(使用排名系统),如果排名为2的玩家a击败排名为1的玩家B,那么玩家a现在将成为1

我还决定,如果一名球员想在排名中竞争,但在比赛期间不在场,他们可以在比赛结束后注册,并将获得可能的最低排名和最低分数(但他们有机会晋级)

所以现在,我想知道我应该采取什么样的方式来计划这件事。当我将球员从锦标赛转换为比赛排名时,我必须用分数来确定他们的排名。我觉得这似乎是最好的方法

1  1000
2  900
3  800
4  700
5  600
6  500
7  400
8  300
9  200
10 100 
在浏览了互联网之后,我决定在球员们互相比赛后,使用ELO给他们新的排名是明智的。。我在这一页上谈到了这一点:

所以如果我这样说,假设我有10级面对1级。根据上述网站,我的公式是:

R' = R + K * (S - E)
而#10分只有100分,而#1分有1000分。 因此,在进行数学排名后,排名10的预期击败值为#1:

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


我对埃洛的问题是,这毫无意义。在获得10比1这样的排名后,他不应该获得低至15分的分数。我不确定是我的数学算错了,还是我把分数分错了。或者我根本不应该用ELO?任何建议都会很有帮助

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

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

官方(如在FIDE中)Elo系统具有很少的任意常数(例如200/75规,
Erf
作为预测器等);选择它们(合理地)不同可能会导致不同的评级值,但(从长远来看)会导致相同的排名。这一论断背后有一些有趣的数学依据;这不是一个讨论细节的好地方

现在回到你的桌子上。它根据位置而不是得分来分配评分。无论冠军是以100%的绝对成绩横扫世界杯,还是勉强在平局中获胜,她都能获得1000分。这些点并不能估计参与者的力量


因此,我的建议是完全放弃这个表格,给每个新球员分配一个入职评级(比如说,1000;只要你是一致的,这真的不重要),并从一开始就坚持Elo。

这不起作用,因为比赛创造了“位置”,然后进入Elo系统。。。我想我应该找些别的东西,而不是埃洛?对不起,我没有完全理解这个问题。对于第一次比赛,所有球员都会被分配一个参赛等级(除非有一个修道院实力评估)。就像一般情况一样。附言:Elo的拼写是Elo,不是Elo——它是Arpad Elo的姓。让我来解释一下。任何人都可以参加比赛,一旦他们参加比赛,他们就会得到一个位置。这里有一个例子:阿喀琉斯排名第一,rjg排名第二,依此类推。然后在这之后给他们打分,这将使他们像这样排列(#1分最多,#2分次多)。然而,不能参加比赛的人可以报名参加,并将获得100分,并且可以使用Elo与这些人竞争。这样就可以确定新的排名。
1 / [ 1 + 10 ^ ( [1000 - 100] / 400) ]
= 0.55%