yikeweiqi
close
棋比赛

解惑GoRatings围棋等级分系统

解惑GoRatings围棋等级分系统

“GoRatings世界围棋等级分系统”(http://www.goratings.org/)因在年初的谷歌李世石人机大战期间被国内主流媒体广泛引用而大出风头,然而其排名的合理性则在网上备受争议。本文的作者是在海外定居的业余高手,工作之余运营西方著名的围棋网站Go4Go(http://www.go4go.net),GoRatings的排名正是基于Go4Go的棋谱数据,因此作者对此系统有着第一手的认知,特意撰写此文以解答部分棋迷们的疑惑。

GoRatings和它的作者

关于GoRatings的作者,他对围棋届的贡献是有目共睹的。弈客上的“鸟甲”棋友做足了功课,我就借花献佛引用他的叙述了(在括号里加入我的解说):“该网站作者Rémi Coulom是围棋软件Crazy Stone(西方商业化最成功的人工智能程序之一)的研发人,也是蒙特卡洛树搜索一词的发明人(蒙特卡洛是人工智能的关键技术之一),GoRatings所采用的积分算法论文在该网站首页就有链接(该论文2008年发表于国际会议International Conference on Computers and Games,那一年刚好是在北京召开的)”。所以GoRatings不是心血来潮的业余作品,而是背后有一些严谨学术研究的产物。在职业棋手排名之前,它已经成功应用于Arimaa游戏社区的排名以及Go Shrine围棋服务器的排名,大家还可以在网上找到相关算法的开源软件。

GoRatings的历史和运作方式

Rémi在2015年6月联系我表达希望合作做棋手排名的意愿,我随即从Go4Go棋谱库导出了相关数据供他开发使用。经过反复调试,GoRatings网站在2015年9月正式上线。GoRatings排名每日更新,它的更新是自动的:GoRatings定时从Go4Go服务器下载最新的棋谱数据,重新计算排名并更新它的数据;Go4Go定时从GoRatings服务器下载最新的排名数据更新其它相关的网页和App支持。

关于阿法钩排名的争议

关于谷歌人工智能程序的合理排名是GoRatings最大的争议。对这个问题大家当然可以各抒己见。人机大战从进程从结果看是阿法钩压倒性的胜利,因此职业棋界对它的评价好象还是挺高的,例如聂老这样谁都不服的大前辈都在不同场合表示对阿法钩的赞赏;韩国金太子表示“分先肯定没戏,让我两个可能是好胜负”;最近职业棋谱中反复出现的改良版的托退定式更是表明的棋手们对阿法钩创新的支持。然而棋迷朋友中则有一种普遍观点认为:只下了五局棋就挤进世界排名的顶部,而且做起了“缩头乌龟”,没有这样的道理。

其实问题的关键是数据太少了,基于任何数学统计模型的排名算法都不可能给出令人满意的排名。我再次引用“鸟甲”棋友的有理有据的评论:“无论是什么积分算法,即使再怎么科学,也都是数据量越大越准确,对局少的棋手只能随着对局的增加来逐渐增加其分值的可靠性。一般而言,Goratings排名靠前的棋手对局数都是足够多的,而新入榜的新棋手一般棋力较低,排名都会比较靠后,不引人注目,只是AlphaGo明显是个例外,刚入榜分值就很高,而且对局量又很难增加,所以易招致非议,但其分值和任何新入榜的新棋手分值一样只是仅供参考,您完全可以剔除AlphaGo只看人类棋手的排名,不必只因AlphaGo的排名就整体否定Goratings的科学性”。

更具体来讲,在统计学中有置信区间(Confidence interval)的说法,应用到这个排名上,我们可以说:我有95%信心肯定某棋手的等级分是落在xxxx和yyyy分的区间中,对于阿法钩,这个区间范围很大,对于榜上其他高手们,因为他们的对局数很多,这个区间范围很小,所以排名是相对准确的。

GoRatings的合理性

如果我们搁置阿尔法围棋排名的争议,也暂时不考虑井山裕太排名的合理性(这是另一个争议颇多的话题,后面会讨论),仔细研究其他棋手,尤其是中韩高手的排名,让我们分析一下GoRatings的数据是否有充分的合理性。我个人观点认为,跟棋院官方的等级分比较,GoRatings既可以快速地反映出棋手当前的状态,同时又兼顾到棋手的历史战绩。请棋友们耐心看完我下面的示例,然后再对以上的结论加以评论。

中国棋手毛睿龙虽然排名不高,但最近状态甚佳,在CCTV快棋赛中他连胜周睿羊、陈耀烨、时越等一线棋手打入半决赛,前几天又在围乙联赛中力克李世石等韩国高手。如下图所示,GoRatings显示他处在职业生涯的最高点。同时GoRatings显示在2012年12月前后他达到过一个小高峰,通过历史记录我们可以发现毛睿龙在那个月初一举拿下第4届龙星战的冠军!

中国棋手童梦成自从一年前左右上升势头明显,同样进入今年CCTV快棋赛的半决赛。Go4Go资料显示他从2015年6月起至今一年的战绩为33胜16负,对手中有很多等级分前十名的高手。

韩国老将朴永训近来焕发第二春,等级分达到他历史新高。在2005年底的历史峰值对应于他在韩国初出茅庐时赢得韩国棋圣、韩国物价情报杯、联赛总冠军等头衔,以及十段战决赛权的出色战绩。2007年中的峰值则是对应于他第20届富士通杯的冠军以及国内大赛的决赛权的成绩。

大家最关心的柯少侠,2015年底至2016年初一波8-2横扫李世石的战绩和三个世界冠军把他的等级分推向峰值,随后如我们所见,他的状态略有起伏进入了平台调整期。

芈昱廷在2013年底达到一个高峰(梦百合杯冠军),随后平台调整到2015年3月左右进入下一个上升通道,打入天元战挑战赛、赢得第7届龙星战、以及最近的CCTV杯决赛权,国际大赛的成绩也不错。GoRatings如实反映了他的状态,给出他世界第四的排名。

综上所述,GoRatings的排名既可以显示棋手的当前状态,又能反映历史战绩。在统计数据样本足够大的情况下,排名有相当的合理性。

GoRatings的不足之处

世上罕有完美无缺的事物,围棋排名系统也是如此。GoRatings也是有明显的弱点的。除了前文讲述的因为数据不足造成了阿法钩的排名的争议,另外一个显著的缺点是作为基础的Go4Go数据库还不是很完整,目前只有55000多局记录。忽略部分大赛预选赛的对局会对部分处于上升阶段的年轻棋手的排名有一定影响,不完整的历史数据会对老棋手的排名有一定影响。随着基础数据的进一步完善,相应的排名也会更加准确。

关于GoRatings的常见问题答疑:

GoRatings是否是谷歌的宣传工具?

– 请参见前文关于GoRatings历史的陈述,GoRatings上线早于人机大战,也早于谷歌2016年初在《自然》杂志发表他们的学术文章。GoRatings是独立运作的。

阿法钩的正式名称和国籍是什么?

– 我和Deepmind的黄士杰博士(坐在李世石对面那位)有过交流,他给出的官方解答如下:阿法钩的正式英文名称是Google Deepmind AlphaGo,可以简称为Deepmind AlphaGo;正式中文名称为阿尔法围棋;正式国籍为英国。

为什么我喜爱的棋手不在排名中?

– GoRatings会将长期不下棋的棋手除名(具体讲是不再发表他们的等级分并不是删除他们的数据),这个期限大约为两年(主要考虑韩国的服兵役棋手不会被轻易除名)。如果阿法钩一直不下棋的话它有朝一日也会被除名。

井山裕太的排名太高吗?

– 日本第一人井山裕太的情况十分特殊,他席卷日本国内的冠军头衔,但近年很少出战国际大赛,所以对他的棋艺的含金量总是有些疑问。网上一个常见的观点是:井山裕太的综合排名应该在15位左右,我在围棋TV的转播里也听到部分职业棋手支持此观点,我本人也同意这个观点。那么是否可以说GoRatings给出的世界第六的排名不合理呢?也不尽然。毕竟井山近来在国内比赛保持了90%以上的胜率,不管他的对手有多弱,不管排名的算法怎么改进,总不能给赢棋的选手减分吧?我认为GoRatings正确地体现出井山的火热状态而已。在围棋历史上,能长期保持90%胜率的棋手少之又少,我能想起的例子仅仅是60年代初的大师坂田荣男而已。一旦井山的胜率下降到高手长期平均的胜率(例如大李小李略低于70%胜率),他的等级分自然会“正常化”,因为对明显弱于他的对手输掉一盘棋损失的分数要赢六七盘棋才能弥补回来。