来自正确/错误比率的动态得分值

时间:2012-07-11 12:24:48

标签: c# math

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

请考虑下表。每个问题的值为100-1000,增量为100-1000。


| ID | numbRight | numWrong | Score |
|----|-----------|----------|-------|
| 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个问题。

  3. 问题

    1. 是否有适用于此的公式?

    2. 是否可以务实地决定这些问题应该上下移动?

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

    4. 附注:完整程序中有10个以上的问题,但同一时间内只考虑一个类别的问题。其次,统计数据全部都是弥补的,只是觉得这样会更容易。

2 个答案:

答案 0 :(得分:2)

麻烦的是,如果很多人提出错误的问题,你不知道是不是因为这是一个难题(这是你想要的),还是因为这是一个糟糕的问题(措辞不当,误导或者可能)即使错误的答案标记为“正确”)。

标准化测试,如GRE,在测试中提出新问题以及旧问题,以确保那些使他们正确的人也是那些在旧问题上获得好成绩的人。如果你没有类似的东西,那么我会毫不犹豫地相信任何自动排名算法。

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

答案 1 :(得分:0)

听起来你只是想这样做:

  • 为每个问题分配难度等级,由

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

    对于每个问题,难度等级将是01之间的数字。

  • 按难度等级排列问题

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

  

如何避免无限循环?

只做一次通过。