我希望为游戏网站上的用户创建排名系统。
系统应该基于加权胜率,加权元素是所玩游戏的数量。
例如:
55胜2负= 96%胜率
1胜0负= 100%胜率
第一张唱片的排名应该更高,因为他们的获胜次数更多。 我确信数学非常简单,我无法绕过它。有人可以帮忙吗?
答案 0 :(得分:4)
(胜率+常数*所有玩家的平均胜率%)/(胜利+损失+常数)
所以在0场比赛中,公式是所有球员的平均值,因为你增加了比赛的游戏数量,实际记录收敛了公式。常数决定了它的速度,你可以选择5到20之间的东西。
答案 1 :(得分:0)
是的,这是“超级简单”:
Percentage = Wins * 100.0 / (Wins + Losses)
要舍入为整数,通常使用round
或Math.round
(但未指定编程语言)。
可以使用给定比率对胜利数量加权:
Rank = Wins * Wins / (Wins + Losses)
但还有其他系统可以更好地理解这个问题,比如Elo(请参阅我的评论)。
答案 2 :(得分:0)
另一种可能性是我对How should I order these “helpful” scores?的回答。基本上,使用获胜次数来确定玩家赢得比赛的可能性的可能范围,然后采用较低端。对于任何合理选择的置信水平,这使得55-2击败1-0。 (由于缺乏理由,我建议将其设置为50% - 请参阅帖子了解详细信息,实际上非常简单。)
作为一个小技术:我已经看到一些建议使用Wald区间而不是Agresti-Coull。实际上,它们为大输入提供相同的结果。但如果游戏数量可能很少,那么有充分的理由选择Agresti-Coull。 (顺便说一下,我自己想出了这个想法 - 虽然我不是第一个 - 后来才发现它有点标准。)
答案 3 :(得分:0)
得分=(每胜一分)*(胜利数)+(每次失分数)*(亏损次数),其中每次胜出的积分是一些正数而每次失分的积分是一些负数,选择为适合你的应用。