李子敬,田钧友,顾振宇
用统计方法确定围棋布局的好坏*
李子敬,田钧友,顾振宇
(上海对外经贸大学,上海 200336)
本项目将人类棋手以往的棋谱作为数据,以中国流为例,把胜负设为0-1变量,进行Logistic回归,考察对局的规定用时、白棋应对方式、双方棋手风格与中韩规则对胜负的影响。最后得出两种迷你中国流有优势,中国流布局适合进攻型下法的棋手,中国流布局适合针对下法保守的对手,规定用时与白棋应对方式对胜率影响不显著这4个结论。同样的,这个研究方法可以在研究其他围棋布局中使用,对棋手进行指导。
围棋;中国流;Logistic回归;棋手
随着谷歌公司AlphaGo的研发,近年来围棋这项智力运动受到人们越来越多的关注。围棋是世界上变化最多的一种棋类运动,AlphaGo却另辟蹊径,采用机器学习的方法让计算机成为了围棋大师,击败了所有人类棋手。在这个过程中,AlphaGo下出了很多闻所未闻的走法,并靠着这样的走法赢棋。因此,很多已有的围棋走法(布局、定式等)已经被打破。按理说,这对于棋手是一件好事,因为有更强的高手跟他们切磋。但同时也出现了一个问题:人们有时候看不懂AlphaGo的棋(它的算法并非穷局,因此不会列出之后没下出的招法)。棋手们知其然而不知其所以然,这就是本项目的出发点,即对人类的棋法进行总结,找出不同下法的优劣。
布局是本项目的研究对象,是围棋这项棋类运动开始的50手的下法,可以说定下了全盘的战略部署。由于围棋棋盘由纵横各十九条等距离、垂直交叉的平行线构成,构成361个交叉点,因此围棋中布局的可能性也是最多的。在这种情况下,黑方的主动与白方的应对如果足够得当,那可以称为两分:即黑白双方平分秋色。围棋历史悠久,所以有很多布局是由无数先人总结出来的被认为双方都不吃亏的下法。“中国流”布局自20世纪60年代由中国的围棋大师陈祖德九段创立以来,通过无数实战检验,被认为是两分的,并且有多种变种(高中国流、迷你中国流等)。本项目以此为例,得出“中国流”布局多种下法的优劣,看看它们是否真如前人认为的那样两分,以及其在不同情况下对胜率的影响。
本项目使用python爬取了“弈城围棋”“tom围棋道场”“新浪围棋”等几个棋谱的数据库,得出了6种中国流棋谱的数据(胜负、双方棋手、规定时长、围棋规则、中国流的类型、白方应对方式)。本项目为减少异常值,选取的棋谱都是专业棋手所下。
本项目的响应变量为胜负,即0-1型变量(黑棋胜则为1,黑棋败则为0)。而预测变量则设置了“规定的对局时间(短、中、长)”“白棋的应对方式(二连星、星小目)” “中国流的类型(包括中国流、高中国流、迷你中国流1、迷你中国流2)”“黑棋棋风(进攻、均衡、保守)”“白棋棋风(进攻、均衡、保守)”“围棋规则(中国规则黑贴七目半、韩国规则黑贴六目半)”。
需要补充的是:
第一,规定的对局时间:①短,30 s一步,10次一分钟读秒;②中:每方1 h,读秒一分钟一次;③长:双方2 h40 min,5次一分钟读秒。
第二,白棋应对方式中的星小目,小目朝向为自己的星位,而非黑棋的星位或者小目,因为后者是绝对吃亏的,在此不做讨论。
第三,本项目对于棋手的棋风归类是根据本人(业余五段)的判断,例如常浩为均衡型、古力为力战型、木谷实为保守型,而对于那些难以界定棋风的棋手,这里省略,不纳入研究。
使用R语言建立Logistic回归模型,y为胜负,x1为规定的对局时间,x2为白棋的应对方式, x3为中国流的类型,x4为黑棋棋风,x5为白棋棋风,x6为中国规则还是韩国规则。发现x1(对局用时)和x2(白棋应对方式)不显著(>0.05)。去除这两个变量,重新拟合模型,得到表1.
注意到x4的系数为负,这是因为黑的保守风格会对黑棋的胜利有负的影响,符合围棋棋理。而其他预测变量的系数都为正,符合棋理。此外,注意到x6的系数很大,为0.682,可见中国规则与韩国规则所差的一目的贴目对胜率的影响非常大,超过了下法和棋风的影响。
新模型的每一个回归系数都非常显著(<0.05)。使用anova函数进行新旧模型的比较,使用卡方检验得到结果的卡方值不显著(=0.805 5),x1(对局用时)和x2(白棋应对方式)并不会显著增加方程预测精度,因此使用更简单的模型。
运用predict函数观察各个预测变量在各个水平下对结果概率的影响,结果见表2.
表1 Logistic回归模型
EstimateStd.Errorz valuePr(>∣z∣) (Intercept)﹣0.894 10.016 1﹣55.580.000 0 x30.029 50.002 810.610.000 0 x4﹣0.030 20.003 8﹣7.950.000 0 x50.033 20.003 88.730.000 0 x60.682 00.006 2109.810.000 0
表2 各个预测变量在各个水平下对结果概率的影响
x3x4x5x6forcast 11.0002.0002.0001.5000.541 22.0002.0002.0001.5000.548 33.0002.0002.0001.5000.556 44.0002.0002.0001.5000.563
4种中国流中,2种迷你中国流胜率(0.556,0.563)比较高。比较令人惊讶的是,高中国流的胜率(0.548)比中国流(0.541)来得高。这不符合围棋常识,判断可能是因为选用高中国流的人较少,所以白棋应对起来有困难。
类似的,通过predict函数,在对局双方的棋风上,可以看出黑棋为进攻型棋风时最占优,均衡型其次,保守型最末。而当黑棋是进攻型,白棋是保守型的时候,胜率为最大值0.568;但黑棋是进攻型,白棋是稳健型时,胜率为第二大值0.560;而当黑棋为稳健型,白棋为保守型时,胜率为第三大值0.559.综上,中国流适合进攻型棋手,且适合对付保守型棋手。
计算得到过度离势值为1.34,可以判断基本没有过度离势,模型拟合充分。
为研究围棋中中国流布局在不同的对局用时、白棋的应对方式、对局双方棋风等条件下的胜率,本文运用Logistic回归方法,最后得到规定用时和白棋应对方式对胜率影响不显著,两种迷你中国流有优势,中国流布局适合进攻型下法的棋手,中国流布局适合针对下法保守的对手的结论。
中国流只是一个例子。同样的,这个方法也能应用到其他布局上,例如“三连星”“平行型”等常见布局。这给围棋研究提供了一个新的视角。
[1]周明明.基于专家系统和蒙特卡罗方法的计算机围棋博弈的研究[D].南京:南京航空航天大学,2012.
[2]汤银才.R语言与统计分析[D].北京:高等教育出版社,2008.
[3]尹剑,陆程敏,杨贵军.判别分析与Logistic回归组合分类[J].数理统计与管理,2014,33(02):256-265.
[4]余磊,刘锦高.一种围棋中盘问题的计算机求解方法[J].华东师范大学学报,2008(01):89-93.
2095-6835(2018)21-0138-02
C81
A
10.15913/j.cnki.kjycx.2018.21.138
本项目成果受“2018年度上海大学生创新创业训练计划示范校”建设经费资助
〔编辑:辛霞〕