【发布时间】:2019-04-15 23:47:07
【问题描述】:
我正在开发一款众包应用程序,该应用程序将让来自不同系列的大约 64 位虚构强人/女强人相互对抗,并尝试确定谁是最强者。 (想想“蝙蝠侠大战蜘蛛侠”的大篇幅)。用户将一次在两人之间选择任何给定比赛的获胜者。
在研究了许多排序算法后,我发现这个很棒的SO post 概述了 ELO 评级系统,这看起来绝对完美。我已经阅读了系统并了解如何在比赛中奖励/减去分数,以及如何根据过去的结果计算任意两个角色之间的表现评分。
我似乎找不到任何有效且明智的方法来确定在给定时间让哪两个角色相互对抗。自然它会随机开始,但很快就会累积或降低积分。我们可以预期会有很多分歧,但如果我设计得当,也会有大量的用户参与。
因此,假设您在获得 50,000 票后才使用此功能。考虑到我们可以期待各种非传递性结果,以及与性能评级的相当大的偏差,有没有办法计算我最需要更多数据的比赛?这似乎并不像在排序列表中选择得分最接近的两个相邻字符,或者只关注列表顶部那么简单。
有 64 名参赛者(是的,我确实考虑过并拒绝了一个括号!),我不担心在每次比赛后重新计算性能评级。我只是不知道如何选择下一个,因为我们将不知道每个选民的偏见和最喜欢的角色。
【问题讨论】:
标签: sorting ranking rating ranking-functions