围棋:电脑战胜人类有多难?

公司

2014-03-28 10:25

1997 年,在 IBM 的深蓝战胜国际象棋世界冠军 Garry Kasparov 之后,时代杂志提出了一项新的挑战:让计算机与人类下围棋吧,它获胜的机会很小。“计算机要在围棋上战胜人类,还要再过一百年,甚至更长的时间”,时代杂志的文章中这些写道。

时代杂志的预言似乎要落空了。在去年 3 月份举办的日本电圣战上,电脑围棋 Crazy Stone 打败了石田芳夫,一位获得过五次冠军的围棋九段高手。公平地来说,这并不是一个 “深蓝” 时刻,因为石田芳夫让了四子,而且他也不再处于巅峰时期。不过,这仍然是计算机取得的一项了不起的成就。石田芳夫在失败后,称 Crazy Stone 为 “天才”。

目前来说,编写电脑围棋的都是个体程序员或者小团队。Crazy Stone 就是一个人的作品,其开发者是法国里尔第三大学的计算机科学教授 Remi Coulom。为什么大公司没有兴趣投入呢?Google Research 的 Peter Norvig 对纽约客网站说,即使是邀请了大量专家,投入了百倍的硬件,设计了高明的软件架构,采用了正确的机器学习算法,结合神经科学方面的成就,也未必能够使计算机在围棋方面达到 “深蓝” 的成就。

为什么计算机更擅长国际象棋,而在围棋上遭遇了困难呢?这与围棋的游戏规则有关。在围棋中,有一条规则是,当一方的棋子被另一方包围后,就要从棋盘上撤下这些棋子。问题在于,当你去包围对方棋子的时候,你下的棋子或许也正在被对方包围。在任何一个给定的时刻,计算机很难确定一片棋子的状态,也就难以确定那一方是处于领先地位。

在最初的时候,人们试图让计算机掌握下围棋的策略,把格言和谚语转换为计算机可以理解的代码,另一些人则试图让机器学习人脑,神经学家们对围棋高手们的大脑进行扫描。但是,人类大脑所最擅长的任务却是人工智能中最难解决的问题,比如模式辨识、学习能力和直觉。这些早期的研究并没有什么突破性成就。

Crazy Stone 采用了蒙特卡罗算法。这种计算机随机生成算法是 70 年前 “曼哈顿计划” 的产物。在考虑某一步棋的时候,计算机将以这一步开始,随机计算接下来数以百万的棋局变化。计算机会挑选出最有可能实现其模拟胜利的那一步棋。Google 的 Norvig 解释说,这种算法是一个重要的创新,“在 20 步之后,我们不能肯定地说谁会赢得比赛,因此我们用了蒙特卡罗算法,把游戏玩到最后,然后我们就能确定谁获胜。我们将这个过程重复百万次,每一次的选择都会更好,因为前面步骤的胜利和失败都给出了反馈。” 在与石田芳夫的对战中,Crazy Stone 一共玩了 360 万场随机的游戏。

今年,Crazy Stone 的对手是依田纪基,一位往棋盘上猛砸棋子,使对手心情紧张的人,这一招对 Crazy Stone 显然不管用。这次仍然是人类让了四子。Crazy Stone 最终以 2.5 目胜。在比赛结束后,依田纪基说,他对于 Crazy Stone 表示感激,因为它到最后的时候不再咄咄逼人了。这是随机算法的结果,还是它开始对人类表示同情了?

题图来自:wikipedia

登录,参与讨论前请先登录

评论在审核通过后将对所有人可见

正在加载中