2012-04-04 35 views
3

我想開發一個簡單的遊戲,其中一組用戶可以來玩遊戲。根據用戶的表現,他們得到正面評分或負面評分。用戶排名模型

我想要考慮用戶的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 

請提出一些標準。

謝謝!

回答

1

它已經完成了here它考慮到以前的文獻和其他的東西。它還顯示了那裏最有名的方法,以及他們是如何做到的。

3

你應該看看如何計算chess ratings。有一些變化可供選擇,但我認爲它應該適合您的情況。

1

您可以檢查象棋中使用的ELO等級,如Running Wild所述。另外,您還可以查看帝國時代3中使用的額定功率系統。在this post中,他們解釋了它是如何工作的,以及他們替換MSN Zone中使用的舊ELO評級系統的原因。