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 如何根据比赛结果对一组人进行排名?_Algorithm_Ranking - Fatal编程技术网

Algorithm 如何根据比赛结果对一组人进行排名?

Algorithm 如何根据比赛结果对一组人进行排名?,algorithm,ranking,Algorithm,Ranking,我的脑子有点晕了 我有一群人。他们在计时项目上互相竞争。每场比赛都会产生一组结果,显示每个人的排名情况 从这些数据中,我可以看出,在48次会议中,A个人在73%的时间里击败了B个人。简单 让我们假设我有一个B C D E F G的人。对于任何配对,我都可以通过相互比较来确定谁是胜利者,但我如何得出“最准确”的总体排名呢 它需要某种迭代过程吗?谢谢你的任何建议,我真的不知道从哪里开始 (如果有必要的话,每场比赛不一定是所有竞争者的完整集合。) 我可能希望通过考虑它们的相对时间来进一步改进,而不仅仅

我的脑子有点晕了

我有一群人。他们在计时项目上互相竞争。每场比赛都会产生一组结果,显示每个人的排名情况

从这些数据中,我可以看出,在48次会议中,A个人在73%的时间里击败了B个人。简单

让我们假设我有一个B C D E F G的人。对于任何配对,我都可以通过相互比较来确定谁是胜利者,但我如何得出“最准确”的总体排名呢

它需要某种迭代过程吗?谢谢你的任何建议,我真的不知道从哪里开始

(如果有必要的话,每场比赛不一定是所有竞争者的完整集合。)

我可能希望通过考虑它们的相对时间来进一步改进,而不仅仅是“A拍B”或“B拍A”。“A比B领先6.3秒”,等等。但我认为,现在让我们保持简单

如果需要,很乐意提供更多信息,请告诉我


非常感谢

作为第一步,我将实施elo评级系统

这会做得很好。你可以使用更复杂的系统,如Glicko或Trueskill,但我会先使用Elo,看看它是否适合你。

你可以使用(用于国际象棋中评估世界各地的玩家)

我认为它的工作原理如下:每个玩家从给定的点数开始。当两名玩家互相挑战时,他们将根据每个玩家的分数赢取或输掉不同数量的分数

失去一个比你强大得多的人不会让你失去和你同级(或低于你同级)的人一样多的分数。我认为赛后总积分可能会有所不同。例如,一名玩家可能赢得10分,另一名玩家失去5分,在系统中创造5分

我相信这个算法是用在热或没有


一些类似的选择:我建议你检查两人游戏(例如国际象棋或西洋双陆棋)的评分系统。我想澄清的是,每项比赛的参赛者远远不止两个人。例如,通常200人将参加任何给定的比赛。我看到埃洛等人在国际象棋中有了基础。我想我可以看出这对多人比赛仍然有效,但我想我应该提到这个事实,以防它对你的推荐产生很大影响!太好了,ta,我今晚要读点书,看看明天我会过得怎么样!我想澄清的是,每场比赛都不仅仅是为了两个人。例如,通常200人将参加任何给定的比赛。我看到埃洛等人在国际象棋中有了基础。我想我可以看出这对多人比赛仍然有效,但我想我应该提到这个事实,以防它对你的推荐产生很大影响!你可以把N个玩家的顺序看作N选择2个两两游戏。是的,我想这是一个错误,但不确定这是否是最好的方法。谢谢我想澄清的是,每场比赛都不仅仅是为了两个人。例如,通常200人将参加任何给定的比赛。我看到埃洛等人在国际象棋中有了基础。我想我可以看出这对多人比赛仍然有效,但我想我应该提到这个事实,以防它对你的推荐产生很大影响!但是每个玩家都将在1对1的基础上面对其他玩家。。正确的?我就是这样理解的!