我正在尝试开发一个简单的游戏,一组用户可以来玩游戏。根据用户的表现,他们得到正分或负分。
我希望考虑用户的两个参数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
请建议一些标准的东西。