2

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

我希望考虑用户的两个参数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

请建议一些标准的东西。

4

4 回答 4

3

您应该查看国际象棋评分是如何计算的。有一些变化可供选择,但我认为它应该适合您的情况。

于 2012-04-04T08:07:49.520 回答
1

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

于 2012-04-04T11:05:44.760 回答
1

查看 Glicko、TrueSkill、Kaggle 国际象棋评级比赛中的不同方法

http://timsalimans.com/how-i-won-the-deloittefide-chess-rating-challenge/

http://blog.kaggle.com/2012/03/20/could-world-chess-ratings-be-decided-by-the-stephenson-system/

我在这里放了一些 URL,然后才注意到 OP 是这样的问题:http ://www.reddit.com/r/statistics/comments/rsomx/how_do_i_calculate_the_rating_of_a_player_in_a/

于 2012-04-04T15:15:06.467 回答
1

好吧,它已经在这里完成了,它考虑了以前的文献和其他东西。它还展示了最有名的方法以及他们是如何做到的。

于 2012-04-05T18:30:51.510 回答