algorithm - 问答游戏的排名算法

标签 algorithm ranking

我正在构建一个问答游戏,我想根据人们的答案对他们进行排名。

这些问题都是基本的琐事,人们可以回答 A、B、C 或 D,然后判断他们是对还是错。

我想根据他们的答案对他们进行排名,但在某些特定情况下存在问题:

玩家 1 已回答 10 个问题,并有 5 个正确答案 玩家 2 已回答 6 个问题,并有 5 个正确答案

在这种情况下哪一个应该排名更高?

我应该使用正确答案总数还是比例或正确答案来对人员进行排名?是否有一种算法可以使用这两种数据来根据这两个指标提供公平的排名? 在技​​术方面,如何组织数据,以便我能够在不扫描所有用户数据库的情况下判断玩家的排名?

如果您需要更多详细信息,请告诉我。 感谢您的帮助。

最佳答案

如果答案错误,您可以惩罚该人 -1 分,如果答案正确,您可以奖励 +3 分。作为随机选择答案的人,预期分数为零,即 1/4 * 3 + 3/4 * -1 = 0

在技术方面,如果每个人有两列,其中包含错误和正确答案的数量,您可以计算每个人的分数,然后按如下方式排序:

SELECT person_id, (wrong_num * (-1) + correct_num * 3) as rank
FROM scores
Order by rank

关于algorithm - 问答游戏的排名算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50795480/

相关文章:

python - 从 2D 列表中找到形成正方形的 4 个点

algorithm - 半可逆整数哈希(请保持开放态度)

在 R 中对数据框列进行排名

python - 按 Python 中的计数对多个列表的元素进行排名

c# - 社交网络排名算法

algorithm - 通过数组的最小异或路由的可能线性时间算法

c - 从数组中省略 'N' 组元素

sql - 设计数据库并编写用于评分应用的 SQL 查询

C# Generic List<T> - 如何为每个项目随机分配一个 "Rank"?

sql - 从 2 个表中计算高分排名