1

希望这会有意义。我正在编写一个测验类型的游戏,玩家选择一个问题,尝试回答,如果正确的得分值被添加到玩家,否则从玩家得分中获取价值。我已经完成了所有这些工作,现在我很想知道它是否有意义并且能够根据正确/错误比率动态调整问题的值。

考虑下表。每个问题都有一个 100-1000 的值,以 100 分为增量。

| 身份证 | 麻木右 | 编号错误 | 分数 |
|----|------------|----------|--------|
| 1 | 30 | 30 | 100 |
|----|------------|----------|--------|
| 2 | 40 | 60 | 200 |
|----|------------|----------|--------|
.....................................
| 10 | 80 | 20 | 1000 |
|----|------------|----------|--------|

如您所见,问题 1 的比率为 1/1,它在哪里可能没问题。

查看问题 2,我们看到它的比率为 2/3。这个问题经常被错误地回答,然后是正确的。这个问题可能需要被赋予更高的价值。

跳过接下来的几个问题,我们看到问题 10 的比率为 4/1。这个问题与问题2相反。它可能应该下移。我们不想给玩家一个高价值的问题,而这对普通人来说显然并不难。

约束是这样的:

  1. 每个问题的值必须在 100-1000 之间,以 100 分为增量。

  2. 每个地方都必须有一个问题。所以肯定有一个问题,从 100 一直到 1000,一共 10 个问题。

问题

  1. 有没有可以应用到这个的公式?

  2. 是否可以务实地决定将这些问题上移或下移?

  3. 如果 10 由于其比率而向下移动,则导致 9 变为 10。但是在下一次通过时,公式将确定现在的 10 由于其自身的比率而需要向下移动。如何避免无限循环?

旁注:整个程序中有超过 10 个问题,但是该公式只会同时考虑一个类别中的问题。其次,统计都是编出来的,只是觉得这样会更容易。

4

2 回答 2

2

问题是,如果很多人答错了一个问题,你不知道是因为它是一个很难的问题(这正是你想要的),还是因为它是一个糟糕的问题(措辞不当、误导,甚至可能是错误答案标记为“正确”)。

像 GRE 这样的标准化考试将新问题与旧问题放在一起,以确保那些做对的人也是那些在旧问题上取得好成绩的人。如果您没有类似的东西,那么我会犹豫是否相信任何自动排名算法。

所以如果你想继续这个,你至少需要一些自动化的方法来找出难问题和好问题之间的区别。这超越了编程,更多地涉及到数学和统计学。我不会假装自己是这两个学科的专家,但这里有一些你可能会觉得有趣的事情:

于 2012-07-14T01:45:05.023 回答
0

听起来你只想这样做:

  • 为每个问题分配一个难度等级,由下式给出

    number of people who got it wrong
    ---------------------------------
    number of people who answered it
    

    对于每个问题,难度等级将是一个介于两者之间的0数字1

  • 按难度等级对问题进行排序

  • 将分数分配给1000问题100,按照它们的难度等级排序,以便将最困难的分数分配给1000,依此类推。您将需要调整实际分数以考虑有多少问题;目前没有足够的细节来说明如何。

如何避免无限循环?

只做一次。

于 2012-07-11T12:37:05.147 回答