【找灵感】绝妙好棋竟是程序错误,超级电脑深蓝战胜棋王的祕密!
2012-11-04 14:10

1997年5月,IBM超级电脑深蓝(Deep Blue)打败当时的世界西洋棋棋王Garry Kasparov,而Kasparov曾经夸耀自己绝对不会败给一台机器。

Kasparov和其他的西洋棋大师一样,认为胜负的关键是IBM机器的一步棋,不过这个说法见仁见智,总之在第一局棋结束或第二局棋开始的时候,电脑做出一个牺牲,看起来暗示着它的往后策略。

Kasparov和很多人都觉得那步棋,对一台电脑来说太高超了,事情必有蹊跷,令人不禁联想棋局中应该有人类外力介入。西洋棋大师Yasser Seirawan在2001年受访的时候告诉《Wired》:“那步棋实在是不可思议的精妙,一面防御,一面还可以阻断任何反击的可能性。这步棋让Garry陷入混乱。”

离这场比赛已经过了15年,深蓝的设计师之一表示,那步棋其实是深蓝软件的程序错误造成的结果。

这项出人意外的事实发表在一本由统计学家暨《纽约时报》记者Nate Silver出版的书中。这本书叫做《讯号和杂讯》(The Signal and the Noise),而且马上就受到《华盛顿邮报》的Ezra Klein大力推荐。

Silver为了他的书访问了Murray Campbell,他是设计深蓝的三名IBM电脑科学家之一,Murray告诉Silver,深蓝没办法选择棋步,只能随机挑一步棋来走。

深蓝对抗Kasparov的比赛,被推崇为电脑科学史上对未来发展影响深远的重大时刻,而这场比赛的失败,也羞辱了人类智力;另一方面,这场比赛对人类来说也是个教训,人类太容易过度宣扬自己的能力。

许多西洋棋大师长久以来宣称,Kasparov在比赛中处于严重的不利地位;因为深蓝的设计师有机会在棋赛之间调整深蓝的程序,以因应Kasparov下棋的风格和策略,而且深蓝的设计师可以拿到Kasparov过去在公开比赛中的所有资料。

Kasparov没有深蓝棋赛表现的纪录,因为深蓝在上一次跟他比赛之后被大改造过,Kasparov基本上等于是盲目作战。众人深信,深蓝因为有上述提到的优势,所以才能下出那步奇怪的棋。

IBM团队的确在棋局之间调整深蓝的演算法,不过他们实际上做的是修正造成神来一笔之棋的程序错误。要是比赛过程中深蓝犯了错误,他们要确定深蓝不会再犯,讽刺的是,那步演算错误的棋把Kasporav弄糊涂了,而且没有人可以修正他的错误。

Campbell告诉Silver:“Kasporav当时的结论是,这种违反直觉的下棋方式,一定是有更高层智慧介入的征兆,他从来没有想过这只不过是个错误而已。”

深蓝的最后一场比赛已经好几年前的事,Kasparov和后来的棋王Vladimir Kramnik,已经跟不同版本的深蓝继任者Fritz(德国西洋棋程序)对抗过。不过在这些比赛中,不允许工程师在棋局之间修改程序码,Kramnik甚至有机会在比赛开始之前和软件练习,而且可以在棋局进行到第56步棋的时候暂停比赛,争取时间分析对手的棋路。

可惜比赛结果并没有振奋人心。

Kasparov在2003年和X3D Frintz的比赛打成平手,Kramnik在2002年和Fritz的第一场棋也是以平手收场,2006年的时候,Kramnik更是因为失误输给Fritz。

这些比赛的胜利对机器来说并非探囊之物,可是人类还是赢不了。虽然人类可以想出对抗电脑运算优势的策略,但是人类会疲累、犯错,而且被焦虑感折磨,但机器从来不会觉得疲累或慌张。

与其说西洋棋棋手和电脑之间的关系是敌对的,不如说他们的关系更像是共生,现在的西洋棋大师广泛使用电脑做为学习上的辅助。

据说,现代的电脑让深蓝看起来微不足道,或许是时候该再次举行比赛来证明孰强孰弱。

Via i黑马 By Wired