Glicko-2是国际象棋中使用的一种评分系统,但也可以在许多其他情况下使用.Glicko-2是对Glicko-1的改进,它解决了较旧的ELO评级的问题.
与版本1相比,Glicko-2的特殊之处在于它包含了一个更高的评级偏差(RD),一个人不活跃的时间越长。它用一个系统常数的概念来做这件事,这个常数与时间/评级周期有关。
作者编写的一个示例可以在这里找到:http://www.glicko.net/glicko/glicko2.pdf。
在本文件中,他解释说:
Glicko-2系统在一个级别期间的游戏数量是中等到大的时候运行最好,也就是说,在一个评估期间,每个玩家平均至少有10-15场比赛。评等期间的时间长短由管理员自行决定。
假设一组活跃的棋手在一个月的时间内平均下10-15局棋,管理员就会在每个月底更新评分。
我需要一个PHP实现Glicko-2评级系统,并遇到了以下情况:
我已经修复了bug(并向作者提交了问题/补丁),我可以在PHP和JavaScript版本中找到与匹配的版本。
现在,我有99%的信心,我有一个准确的Glicko-2实现(三者之间)进行分析,这是当我遇到一些奇怪的事情,以及这个讨论的主题。
考虑到新玩家Glicko-2的默认设置:
Rating: 1500
RD: 350
Volatility: 0.06
如果你在接下来的12个阶段(1年)只面对1378和RD 99 (来源)的平均对手一次,那么在接下来的12个期间(1年),你将累积一个假设的国家甲级 (1800-1999)等级,而实际上你在12个月的时间里只击败了12名平均评分的玩家。
Month Rating RD Volatility Class
1 1625 259 0.059999 National Class B
2 1682 225 0.059998 〃
3 1718 205 0.059997 〃
6 1784 174 0.059994 〃
12 1852 148 0.059988 National Class A
24 1922 127 0.059976 〃
如果你面对的是2个普通对手,你可以在4-5个月左右进入国家A级,面对的只有8-10个普通对手。
Month Rating RD Volatility Class
1 1672 215 0.059999 National Class B
2 1733 183 0.059997 〃
3 1770 166 0.059995 〃
4 1797 154 0.059993 〃
5 1819 146 0.059992 National Class A
6 1836 140 0.059991 〃
这些假设准确吗?我的计算器里有错误吗?
如果它不是一个bug,除了以下几个方面,还有什么方法来对付这个问题:
发布于 2013-10-04 23:14:33
这似乎违反了直觉,但这实际上是一个正确的结果。如果你连续打普通球员,但你总是赢,不管时间长短,你证明了你的排名很高(而不是一个平均排名,即使你的对手是平均的)。一个平均水平的球员(有一个“真正的”平均等级),与完全相同的“真实”等级(平均)的对手应该赢和输大约50%的时间。一个“真正”等级很高的球员,在打普通球员的时间里会赢得更大的百分比,这取决于他们的等级有多远,但让我们说这是一个足够高的等级,他们应该可以赢得90%的时间。这意味着对一个普通球员的10场比赛中,这位排名很高的球员应该输掉1场。
你所建立的模型是一个拥有足够高的排名的球员,能够在每一场比赛中赢下每一场比赛(超过12场或24场而不会输),这意味着如果他们继续赢下去,他们的分数将继续无限上升,因为他们从未输过。他们展示了一种能力,这种能力(直到损失发生)应该有足够大的等级分离,以接近100%的预期胜率。
https://stackoverflow.com/questions/12054514
复制相似问题