我脑袋有点晕了。
我有一群人。他们在计时事件中相互竞争。每次比赛都会产生一组结果,显示每个人,按他们的时间排名。
从这个数据中,我可以看到(比如说)A 在 48 次 session 中有 73% 的时间打败了 B。简单。
不过,假设我有 A B C D E F G 人。对于任何配对,我都可以通过将它们相互比较来了解谁是胜利者,但我如何得出“最准确”的总体排名?
是否需要某种迭代过程?任何提示表示赞赏,我真的不知道从哪里开始!
(如果重要的话,每场比赛不一定是所有参赛者的完整集合。)
我可能想通过考虑它们的相对时间来进一步改进事物,而不仅仅是“A 打败 B”或“B 打败 A”。 “A 比 B 快 6.3 秒”等等。但我认为,让我们暂时保持简单吧!
如果需要,很乐意提供更多信息,请告诉我什么!
非常感谢!
最佳答案
作为第一步,我会实现 elo 评分系统。
http://en.wikipedia.org/wiki/Elo_rating_system
它会做得很好。您可以使用 Glicko 或 Trueskill 等更复杂的系统,但我会先使用 Elo,看看它是否适合您。
关于algorithm - 如何根据比赛结果对一组人进行排名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6603891/