【问题标题】:A user ranking model用户排名模型
【发布时间】:2012-04-17 21:06:43
【问题描述】:

我正在尝试开发一个简单的游戏,一组用户可以来玩游戏。根据用户的表现,他们得到正分或负分。

我希望将两个参数考虑到用户的weight(他参加过的比赛次数和他在这些比赛中的表现)他的instantaneous skill sets。对于每个用户,这两者结合在一起并与其他用户的分数进行比较可能会给出他在当前比赛中的分数。

然后结合分数和之前的评分,我们可能会得出用户的新评分。

我不想重新发明轮子。我试过并想出了这个,但这看起来很天真,我不确定在现实世界中的表现会如何。

Pos[i] and Neg[i] are the positive and negative score of the users in a match. 

Step1: Calculate the average score of n people `for i in range(1, N): sum = sum + Pos[i] Average = sum/N` do the same for negative score. 

Step2: Calculate the Standard Deviation (SD)

Step3: Calculate the weight of the user as follows say the user has played M matches, his weight W will be Mxabs((sum(POS[i])/N1 - (sum(NEG[i])/N2))

(where N1 is the number of times he has scored positive scores and N2 the number of times he scored negative result)

Step4: Current Score = (POSi - SD)xW

Step5: His New Rating = Old Rating + Current Score

请提出一些标准的建议。

【问题讨论】:

    标签: algorithm probability graph-algorithm ranking statistics


    【解决方案1】:

    您应该查看chess ratings 的计算方式。有一些变化可供选择,但我认为它应该适合您的情况。

    【讨论】:

      【解决方案2】:

      它已经完成here 它考虑了以前的文献和其他东西。它还显示了最着名的方法以及他们是如何做到的。

      【讨论】:

        【解决方案3】:

        您可以检查国际象棋中使用的 ELO 等级,如 Running Wild 所述。或者,您也可以查看帝国时代 3 中使用的功率等级系统。在this post 中,他们解释了它的工作原理以及他们用它替换 MSN 区域中使用的旧 ELO 等级系统的原因。

        【讨论】:

          【解决方案4】:

          【讨论】:

            猜你喜欢
            • 2015-08-04
            • 1970-01-01
            • 2018-07-30
            • 2013-09-17
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-03-06
            相关资源
            最近更新 更多