太长不看版:
排名算法应该拿来做比赛预测,尤其是系列赛的结果预测,如果强于或者可比原始ELO,那么就比较有价值。
原始ELO本身就是用来预测下一局双方取胜几率的。
正文: (主要资料来着英文wiki 附注1)
国际象棋比较历史顶级棋手有三类意见,统计学、AI模拟比较、世界冠军主观商业互吹。
统计学:按胜负来
1. 原始ELO不算适合比较不同时代,国际象棋FIDE顶级积分(top10/100)明显增长,可能有通胀(附注2),2200/2300积分级别在AI模拟下稳定。
2. Chessmetrics是2002提出的一种ELO改进,引入了对局间隔带来的积分缩减,一个月不下就缩减,由此抵抗通胀。作者Sonas和elo一样,也说这个不够适合比较不同时代。理所当然他最后还是放出不同时代棋手的比较排名,哈哈哈。
3. goratings.org用的WHR(Whole-History Rating)论文,2008年的。暂时看不到国际象棋用它,只有一个讨论(附注3),讨论中Sonas发言觉得和自己方法类似。讨论中认为这两种由于采用了历史回归,都比ELO更好的解决棋战的同国/同性别对局大大多于跨国的问题。
AI模拟:按每步的内容来
1. 2006开始的Guid and Bratko系列论文,AI模拟评价每手质量。最初用的AI棋力差被喷了。主要方法,排除开局后算平均错误率;以降低开局历史演进的影响。
2007~8用Rybka模拟,方法: 模拟巅峰1年/2、3、5、10、15的分数;
2008年结果,最小错误率下是Capablanca,用局面复杂度加权后是Fisher。
2. CAPS分数,chess.com的模拟,招法质量:基于招法匹配率和不匹配时的价值分数。
3. 马尔科夫链模型,2017年一篇论文(附注4),认为用平均错误率算出来的强度和棋手之间成绩相关性不足,因为不同压力下错误率不一样,因此用马链来改进。
原理:
从棋神角度,人类是在错进错出的往棋盘上下子;并且只能相对的判断形势并采取变化,因此将局面评分离散化。并且计算出每个棋手每一步从某个评分到更低评分的转换几率矩阵。最后用两个棋手的矩阵模拟一下,有限步强行收敛后得到双方胜、负、和的几率。
提出了验证和对比框架:
1. 算法先调参适配单个比赛或者一年比赛,试图预测比赛结果。
2. 以上述调参模拟到世界冠军赛之前一年的双方水平(影响因子按年指数递减),然后模拟当年世界冠军赛的结果。
3. 将结果准确率和ELO及其它算法做比较。
对比了以下框架的结果:
1. 前述2006~08的相关算法,做了调参来最大化单场比赛预测效果。
2. 2012年某论文中,AI计算每步收益分布的算法
3. 马尔科夫链模型算法,做了统计分析决定离散步长,没调参。
4. 国际棋联的ELO结果。
最后预测准确率:按上面的框架顺序,分为全部的和国际棋联ELO数据出来之后的,错误率的平均值。
1. 6%/5%
2. 8%/9%
3. 3.6%/4.4%
4. NA/5%
附注1:
https://en.wikipedia.org/wiki/Comparison_of_top_chess_players_throughout_history 附注2:
https://en.wikipedia.org/wiki/Elo_rating_system#Ratings_inflation_and_deflation It is commonly believed that, at least at the top level, modern ratings are inflated.
附注3:
https://www.kaggle.com/c/chess/discussion/111附注4:
https://content.iospress.com/download/icga-journal/icg0012?id=icga-journal%2Ficg0012--
FROM 67.230.183.*