2 ms·
Ask HN: Please suggest changes/updation to the following rank calculator
Lets assume i have a game X. A group of N number of people play the game and each of them either score POSi or NEGi
I have thought of the following mathematical model , not sure how correct it is, but this is what i came up with. If anyone knows anything better/simpler/standard please mention, also you might suggest changes or point out flaws in the current model.
Calculating for users assuming they score Positive scores.
Step1: Calculate the average score of n people
`for i in range(1, N):
sum = sum + POSi
Average = sum/N`
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(POSi)/N1 - (sum(NEGi)/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
Maybe it sounds naive, but this is what i could think of, suggestions are invited.
Thanks!
- natep 15y agoI'm not sure what POSi or NEGi are (you can have multiple winners, and everyone else loses?), but it seems like you want an algorithm that takes past performance into account, and, and allows for variability in performance. You need to keep track of 2 numbers for each player, their rank and their weight. I don't see any reason why your algorithm would do this accurately by design, but it might work out. Have you heard of TrueSkill[1,2]? It supports multiple players in a single game, and is based on a concrete assumption of what a player's skill is. This also keeps track of 2 numbers per player, their mean skill and its standard deviation. The one thing that may be different about it is that there is no way to tell the algorithm the degree of a win, just the relative rankings of each player. [1] http://research.microsoft.com/en-us/projects/trueskill/ http://research.microsoft.com/en-us/projects/trueskill/ [2] http://www.moserware.com/2010/03/computing-your-skill.html http://www.moserware.com/2010/03/computing-your-skill.html