Glicko-2是国际象棋中使用的评级系统,但可以在许多其他情况下使用。 Glicko-2是Glicko-1的改进,它解决了旧版ELO等级的问题。
与版本1相比,Glicko-2的特殊之处在于,它在有人不 Activity 的时间越长的情况下合并的评级偏差(RD)越高。它使用与时间/额定时间段相关的系统常数的概念来实现。
在这里可以找到作者写的示例:http://www.glicko.net/glicko/glicko2.pdf。
他在这份文件中解释:
假设一组活跃的国际象棋棋手在1个月的时间里平均玩10-15场比赛,那么管理员将在每个月末更新等级。
我需要Glicko-2评分系统的PHP实现,并遇到以下问题:
Glicko-2 JavaScript Implementation
技术写作示例,作者发现它足够接近,并且
不用费力调试。
Glicko-2 PHP Implementation
很明显,除非您进行了多个评分期(
技术文章从未显示
Glicko-2 Calculator in Excel
专业,由国际象棋界的某人完成。一旦
JavaScript错误已解决,JavaScript和Excel计算器
彼此非常匹配(尽管不完美,可能在舍入误差之内)
我已经修复了我可以在PHP和JavaScript版本上找到的错误(并向作者提交了问题/补丁),使其与Excel计算器的匹配程度最高。
现在,我有99%的信心,我有一个准确的Glicko-2实现(在其中的3个之间)用于分析,也就是当我遇到一些奇怪的问题以及讨论的主题时。
给定新玩家的Glicko-2建议的默认值:
Rating: 1500
RD: 350
Volatility: 0.06
如果您在接下来的12个周期(1年)中,每个评级周期(1个月)仅一次面对等级1378和RD 99(Source)的平均对手,则您将累积假设的 National Class A (1800-1999)等级1852实际上,您在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 〃
这些假设是否正确?我的计算器中有错误吗?
如果不是错误,那么还有什么方法可以解决这个问题:
RD)
最佳答案
看起来似乎违反直觉,但这实际上是正确的结果。如果您持续玩普通玩家,但无论何时,您总是赢了,则说明您的排名很高(即使对手是普通玩家,也不是平均玩家)。平均水平(拥有“真实”平均排名)的玩家,与完全相同的“真实”排名(平均水平)的对手对战应该会赢得并输掉大约50%的时间。拥有“真实”等级的玩家在玩普通玩家时会赢得更大比例的时间,这取决于他们的等级差距,但是可以说,这个等级足够高,他们应该赢得90%的时间。这意味着在与普通玩家进行的游戏中,每10场比赛中,这位排名较高的玩家应该输掉其中的1场。
您有效地建模的是一个具有足够高的排名的玩家,可以在每场对普通玩家的比赛中胜出(超过12或24场比赛而没有损失),这意味着如果他们继续获胜,他们的分数将继续无限上升,因为他们从未输过。他们证明了一种能力(直到出现损失)应该具有足够大的排名间隔,以接近100%的预期获胜率。