论人类围棋水平的极限

弈客围棋    02-11 11:55
论人类围棋水平的极限

本文首发于知乎,作者Haochen Liu

第一节、围棋人工智能对于人类已经是异次元的存在。

遥想几年前,聂卫平大病初愈,接受围棋TV采访。记者问:“最近这些年围棋有没有出现什么新技术?”老聂说:“新技术?那没有。”

老聂说的是实情。几年前的围棋棋坛和八十年代六超时代大不一样了。八十年代有武宫正树的宇宙流,有赵治勋和小林光一极度注重实地的风格,有韩国棋手擅长乱战的风格,也有李昌镐官子决胜的风格。现在的职业棋手从小接受道场正规训练,技术很全面。要想出成绩,不能有明显短板。由于互联网的普及,棋手之间信息交流也更迅速。棋手之间的风格差异越来越小,似乎在棋界的共同努力下,大家正在朝着那个围棋上帝快速收敛。

打破这岁月静好的,是一篇Nature论文《Mastering the game of Go with deep neural networks and tree search》。

此物一出天下反。AlphaGo Lee以4比1的战绩打败了李世石九段。古力在直播解说第四盘之前,回顾前三盘棋,说:“李世石九段在前三盘一个胜机都没有。在这个世界上能这样完胜李世石的棋手应该还没有出生。”

越来越多的人开始接受围棋人工智能水平超过人类这样的设定。在围棋棋盘上,如果双方水平有差距,可以让子,来让结果存在悬念。顺理成章的,人们开始讨论围棋AI能对顶尖人类棋手让几子。

早在几年前《围棋天地》杂志中有一栏目以36问采访各位职业棋手,其中有个问题是“如果有一个围棋上帝,你觉得你和他的差距有多大?”感觉上大家认为3子差距的居多,也有少数职业棋手认为围棋上帝让不动自己两子。当然,这也是没法验证的,因为我们没办法真的把上帝请来下一盘。

上帝我们是请不来,而人工智能是能得到的。人类顶尖棋手和围棋人工智能的差距究竟多大呢?有人说让先,有人说让先倒贴,有人说让两子或者更多。

记得当时和朋友讨论,朋友说肯定让不动两子的,毕竟人类研究围棋已经几千年了。我当时讲:“肯定是让得动的。天上一日地下千年。阿老师的一天就是我们的一千年。我上小学时候和同学下棋,总是赢,后来就不再下了。现在回想起来可能有业余初段的水平,但是很长一段时间内觉得世界上没有人能让我四子,直到多年后遇到了一个业五教我做人。一百年前中国人也觉得自己厉害的不行,被日本人打到让两个让三个。以弱者为尺,衡量不出强者的高度。今天我们面对阿老师也是一样。”现在又过去了两年,Master粉碎了人类分先一争胜负的任何念想,而绝艺指导A让两子贴6.5目的高胜率已经说明了让子也不是人工智能的禁区。我个人认为这还远不是终点。人工智能的水平还将继续提高。

第二节、围棋人工智能帮助人类提高水平。

先看看隔壁国际象棋界。在人工智能强大了之后,很多老的变化被淘汰:西西里开局中国龙式变例、拉脱维亚弃兵、王翼印度进攻对付卡罗康、现代开局胆小鬼变例(感谢 @白小天 的答案:深蓝获胜之后,象棋理论有很大的提升吗?)。下棋下不过人工智能,向人工智能学习也就是顺理成章的事情了。

围棋界正在发生类似的事情。目前实力达到职业水平的人工智能程序两只手数不过来。人工智能的招法也被职业棋手大量采用:五路尖冲、碰无忧角、尖冲无忧角、碰小目大飞角,更不要说点三三。有些老的定式被人工智能程序强烈否定,出镜率越来越低。现在的围棋直播员不开着一个人工智能程序,不对照AlphaGo Teach都不好意思出来说话。

第三节、棋类水平存在理论上限,然而人类对此遥不可及。

在中国围棋规则下,黑棋或者白棋必有一方存在必胜策略。具体分析见不会功夫的潘达 的必胜策略,围棋之道。

这个围棋的道,就是完美的下法。围棋存在理论上完美的下法,这是和大多数运动有这本质的不同。

世界上最强大的国际象棋残局数据库是莫斯科大学研发的Lomonosov Endgame Tablebases,包含所有小于等于7个子的国际象棋残局的结果的最优解法。也就是说,当棋盘上的棋子小于等于7时,人在和上帝下棋。

哈萨比斯在一次演讲中说到:现在的国际象棋人工智能程序的水平超过人类,因为在不同的局面下有不同的走法,而人类是不能完全记住几十亿种不同情况的。这是超越人类脑力极限的事情。

第四节、人类具有状态压缩能力。

人类具有一种总结和归纳的能力,如果用计算机的术语来说,相当于状态压缩的能力。这里以国际象棋单车杀单王为例。

在计算机的数据库中,单车对单王的情况下有两个王一个车,一共三枚棋子。棋盘状态总数大约为64^3约等于3*10^5。普通的人脑是不可能记住三十万种棋盘状态的。是不是人类就只能对此止步不前了?当然不是。事实上是任何一个接触过国际象棋一天的初学者,都能简单掌握单车杀单王的方法。

具体方法打开任何一本国际象棋入门就可以知道:首先用车锁住对方的王,使得对方的王尽量靠近边线。制造对王的条件。对王的时候,用车将军,将对方的王向着最边上驱赶。重复2,3,直到对方的王已经在最边线,将死。

方法的精华就是把三十万种情况综合成一种情况来考虑,用一种算法能解决所有的情况,并且使得这种算法足够简单,对人脑足够友好,让人能记住。

第五节、人类追求运动极限时是在戴着镣铐跳舞。

这是一种在人脑极限以内对目标的妥协。因为这样的杀法,虽然能将死,但并不是步数最少的杀法,并不是最佳的走法。

把这种现象推而广之,在其他运动项目上,人类所学的知识和动作要领,也是在人类生理极限下尽最大可能发挥人类潜力的方法。比如、跑步时候要吃香蕉,因为可以提供能量和钾。不吃也能跑,但是成绩上不去,因为人类离不开生理上腿部肌肉的限制。打斯诺克,要把头摆正,下巴放在球杆上,因为这样球杆是放在两眼正中间。不这么打,就打不准,因为人类离不开眼睛位置的限制。学打羽毛球时候,教练会教“为了强调击球瞬间击中发力,可以尝试在击球瞬间有一个制动的动作”。不这么打,力量发不上,球速不快,对对方威胁小,因为人类离不开上肢结构和力量的限制。所有球类里面,速度最高的是羽毛球。目前最高纪录是李宗伟的408千米每小时。随着球员力量和球拍技术的进步,这一记录也许还会不断刷新。李宗伟可以打408千米每小时,他当然想打508、608、1008,只是生理上目前无法完成。

无论是脑力和体力的运动,只要是人类参与,运动本身都不能脱离人类生理而存在,所以运动成绩也存在着极限。

我的百米成绩大约是14秒,国家级运动员可以跑到11秒,苏炳添可以跑进10秒,博尔特可以跑9秒58。过去世界纪录还很慢的时候,人们曾经认为10秒是人类的极限。而后随着运动员身体素质的提高,训练方法的强化和跑鞋技术的进步,记录被不断刷新,以至于到了今天的9秒58。但是,这种提高,再更高的高度看来,实在微不足道。博尔特的速度和我的速度差距大约只有50%。无论再过多少年,人类都不可能跑到1秒内,0.1秒内,人类速度都不可能达到0.99c。

围棋作为一项运动,也存在着人类极限。

数千年来,人类在围棋上发展出许多状态压缩的技术,比如:局部死活:在一个局部先计算出死活状态,再由死活状态判断全局优劣。这是一种针对人脑的优化。杀气:棋谚有云:“平气先动手,长气杀短气。有眼杀无眼,大眼杀小眼。”实际上以数气的结果判断杀气的结果,在计算机上就是把“阶乘复杂度”变成“线性复杂度”,这也是一种针对人脑的优化。官子:在官子阶段很多官子互相是没有联系的,可以分开计算。这在计算机上叫做“分治”。计算机并不容易判断两个局部之间有没有联系。人脑可以相对容易判断。这也是一种针对人脑的优化。布局、定式套路:对应在计算机上就是开局库,或者哈希表。把动态计算的结果储存为静态,直接提取使用。棋谚、棋决:比如“二子头必扳”、“遇劫先提”、“中心开花三十目”、“打一个不亏”等等。依照这些口诀,可以减轻人脑思维负担。一方面在某些阶段对提高棋力有帮助,但在另一方面对人脑也是禁锢。

纵然如此,也并不是所有状态都能被压缩的。举例来说:下围棋的人,对虚的地方的判断特别考验水平,因为很难讲清虚的地方的一个棋子到底有多大的用处。这时候的选择通常是展现一个棋手风格的时候。再比如围棋上有一个名词叫做“试应手”,顾名思义,就是试探对方的应手。这是一种无法全面计算清楚情况下的权宜之计。如果都算清了就不用试探了,对方也不会被人试探出什么了。围棋的复杂性决定了人类围棋可以进步,但是终究有极限。就好比也许将来人类百米能跑进9秒,但绝对跑不进1秒。

第六节、理论极限、人工智能极限和人类极限的比较。

第三节提到围棋水平存在着一个理论极限,那是上帝的水平,受限于围棋的有限的变化数;第五节提到了围棋水平存在着一个人类极限,受限于人类脑力的生理极限。显然人类极限低于理论极限。

那么今天围棋人工智能的位置又在哪里呢?在Master之后,棋界对于人工智能超越人类不再有大的争论。我认为,人类今后水平还会不断进步,柯洁朴廷桓不是人类的终点。但无论怎样,要让将来的人类棋手战胜顶级人工智能程序,可能性非常小。众多AI清楚地揭示了其中巨大的差距(布局阶段一手棋以上)。也许在偶然情况下赢一盘,也并不改变大的结论。那就是

理论极限 > 人工智能极限 > 现阶段顶级人工智能 > 人类极限

第七节、新时代围棋规则的讨论。

有了刚才的结论,再回想起对围棋求道,理解就会有所不同了。既然人工智能极限距离理论极限比人类极限要近,追赶围棋上帝理应是人工智能的责任,不是人类棋手的责任。围棋求道,或者说数学上解决围棋问题,等同于得到最佳贴目值。这个问题的最终求解,最可能是通过计算机硬件和软件的进步得到解决,而非职业棋手在棋盘前的推演。在将来的某一天,Tromp-Taylor规则下贴X点(X为整数)情形下,黑白双方完美应对,结果是和棋。那时候围棋就被数学上解决了。

我平时和朋友常说:我们业余棋手和职业棋手玩得不是同一种游戏。这句话的意思是,虽然我们下的也是围棋,职业棋手下的也是围棋。但由于水平上的巨大差距,对围棋的理解上有着天壤之别。今天有了围棋人工智能的参照,实际上即使是柯洁对朴廷桓的对局,也和Master的50盘自战不是同一种游戏。

我们业余棋手下围棋,是为了在业余生活中得到快乐。职业棋手下围棋,是为了在比赛中一争胜负,这是一份工作。尽可能多赢棋是职业棋手的责任。人工智能下围棋,是为了验证计算机技术(Deepmind),或者是为了在遥远的将来能够在数学上解决围棋。目的是有根本的不同的。

那么,在围棋规则的制定上,能够看出来人类围棋规则和人工智能围棋规则是有结构性的矛盾的。如果人工智能是为了在数学上解决围棋,那么最终的结局必然是和棋,这样就要求贴目数必须是整数;如果人类棋手是为了赢棋,自然就尽量要减少和棋出现的次数,这样就要求贴目数不能是整数。实际上在以前的时代是没有贴目的,但是在今天商业化的环境下,主办方和观众需要某些时候一局定胜负,如果出现和棋那么对多方都是很大的成本,也就有了今天的围棋规则贴6目半或者3又四分之三子。

那么,围棋规则一定要统一吗?我认为不需要。追赶围棋上帝,是电脑的事、是数学家的事、是计算机科学家的事,就让他们去研究X值的大小好了。人类棋手,无论职业或业余,利用他们的研究成果来提高自己的棋力,同时也帮助他们提高电脑的水平。在发展上可以相互促进,但在规则上无需统一。因为对人类来说,那里已经是异次元的世界。

第八节、总结。

前一阵柯洁曾说:“以前考虑人类尊严什么的,其实都是想多了。”

在乌镇峰会的时候,柯洁曾经说这是和人工智能下的最后三盘棋。我当时就立下flag,觉得柯洁不可能做得到。果然他现在又重新开始和人工智能对弈了。隔壁国际象棋圈的发展已经清楚的告诉我们职业棋手借助人工智能是大趋势。柯洁不会看不到这点。虽然胜机渺茫,但只要是拼尽全力了,我仍旧会关注他,为他鼓掌。

有人说围棋人工智能超过人类很正常,就像汽车比人跑的快很正常一样。这逻辑我并不认同。因为人从原始社会以来,就知道自己不是世界上跑的最快的物种。人类都同意狮子老虎跑得都比人快。不认可这一点的人类基因已经凉凉了。然而围棋不同,自从围棋诞生的那一刻起,全宇宙的围棋之王就只能是人类,结果突然来了这么个玩意儿,职业棋手不适应是很正常的。更何况在中国,围棋还承载着那么多的文化意义。围棋,别名“手谈”。现在你和电脑谈胜率吗?

对于围棋人工智能的出现,对业余棋手是无所谓的,只是又一次稍微有点特殊的江山易主。但是职业棋手的心态转变毕竟需要时间。可喜的是在短短两年内,职业棋手已经从AlphaGo Lee横空出世的震惊和怀疑变成了虚心向人工智能学习。着实令人钦佩。

向人工智能学习,理解人类所能理解的部分,卸下求道的包袱,下好人类的棋。

棋牌

网站地图