智能

在下围棋这件事上,计算机与人的差距还有多远?

许冰清 ·

目前最好的计算机程序,也要被专业棋手让 6 手才能赢

11 月 15 日,一场由三家中国公司主办的首届“世界计算机围棋竞标赛”中,计算机小赢了人类一把。

在前期的循环赛中,来自韩国的计算机程序 DolBaram 在九支计算机参赛队伍中表现最佳,获得了与中国职业七段围棋棋手对战的机会——而在被让 6 子的最后一盘中,DolBaram 终于以领先 10 目的成绩战胜了对手。但在今年 3 月的一场比赛中,DolBaram 曾经取得过更好的成绩:在被让 4 子的情况下,打败过韩国的职业九段棋手赵治勋。

跟 1997 年国际象棋大师斯帕罗夫被“深蓝”计算机打败不太一样,在围棋上,计算机还没有战胜人类,而且这个差距还将持续 20 年左右。

斯帕罗夫当年被“深蓝”打败的画面

光是看现在 DolBaram 被让 4-6 子才开局就说明了一定的问题。在一般在围棋游戏当中,这个数量级的让步相当于业余和专业级选手的区别。

目前计算机的下棋的方法,是通过观察棋面的特征(例如有多少棋子,就默认为多少分),通过加减分数来判定静态棋局的情况,同时不断推测人类最可能走的下一步,最终选择能使自己分数最高的走法。同样法则也运用在计算机下象棋当中。

但围棋的棋盘上共有 361 个交叉点,计算机如果每一步都需要计算走法和局面的话,其博弈树复杂度将达到 10 的 300 次方,而不管是国际象棋还是中国象棋,博弈树复杂度最多也只有 10 的 150 次方。

但是不是拿出一部计算速度和能力比深蓝高上数千万倍的计算机就可以呢?答案也是否定的。围棋除了棋子的权重和数量之外,还有位置方面的判断。原则上,围棋根本不存在能够精确描述局面走势情况的说法。

一般的围棋高手,也并非每一步都在思考“我能够在最后赢多少棋”,更常见的是在一盘棋的前、中、后期采用不同的战术组合。所以,不管是静态评估还是动态计算,现在计算机对于围棋走法的模拟都还没有做到位。

所以即使是近几年引入了更为先进的算法,目前计算机围棋程序的水平,最高也只能相当于业余 5 段的棋手。

至少在下围棋这一件事情上,人类暂时不用担心被人工智能超过了。


原文链接 (已下线): https://www.qdaily.com/articles/17687.html
Wayback 快照: http://web.archive.org/web/20190623170819/https://www.qdaily.com/articles/17687.html
原始截图: http://ww3.sinaimg.cn/large/007d5XDply1g3wael1yeuj30u03fte81