新浪体育 综合体育

二十年前 卡斯帕罗夫真的输给了深蓝吗?

新浪综合

关注

文章来源:映美杯中国国际象棋甲级联赛

作者:梁志华

卡斯帕罗夫与深蓝的故事

十年前,就想写这篇文章,因为懒惰没有写。但一直在课堂上跟大学生们聊这个话题。这个话题也是我的课程设置中一个重要的章节。

或许如今人工智能的话题满天飞,又勾起聊这个话题的冲动。当然,20年前的计算机还谈不上高级的人工智能,但它以强大的姿态挑战了人类!是不是跟今天如出一辙?

卡斯帕罗夫与深蓝(Deep Blue)的较量,应该追述到1989年。当时一位华裔科学家许峰雄设计的国际象棋程序,于1987年以“芯验”(ChipTest)的名字问世。1988年,“芯验”升级为“深思”(Deep Thought),每秒计算500,000个局面,击败了丹麦特级大师拉尔森。1989年,“深思”发展到了每秒200万步的计算速度,但以0比2输给了当时的世界冠军卡斯帕罗夫。

(卡尔波夫与深思,1990年)

1990年,“深思”第二代诞生,吸引了前世界冠军卡尔波夫与之对抗,擅长局面型弈法的卡尔波夫非赢即和。1993年,“深思”二代陆续击败了丹麦国家队和有史以来最强的女棋手小波尔加。1994年,在德国慕尼黑的一场平均等级分高达 2625 的超级闪电战大赛上,德国著名国际象棋软件 Fritz 参赛,对包括阿南德、格尔凡德、卡斯帕罗夫、克拉姆尼克和肖特均有胜绩,积分与卡斯帕罗夫并列第一,但在复赛中被卡斯帕罗夫以4:1击败。

与此同时,陆续有超一流的软件赢得与超一流棋手对抗的机会。1994年在伦敦举行的英特尔职业国际象棋联合会拉力赛中,Genius 软件在二十五分钟快棋里战胜了卡斯帕罗夫并把他淘汰出局。1995年,卡斯帕罗夫在科隆再战 Genius,一胜一和复仇成功。随后又在伦敦大战 Fritz,也以一胜一和笑到了最后。

(卡斯帕罗夫与深蓝,1996年)

我们现在开始讲 1996 年的故事。为纪念电脑诞生五十周年,“深蓝”在美国费城与卡斯帕罗夫进行了6局的世纪大战,它赢得首局,但最终以2比4失利。“深蓝”是一台由国际商用机器公司(IBM)研制成功的带有 31 个处理器并行的超级计算机,专用芯片组成的 IBM SP/2 服务器。每一个专用芯片可以每秒处理二百万到三百万个局面。超过 200 个这样的芯片组合到一起,运行于其上的程序每秒便可以处理 2 亿个局面。

每秒计算 2 亿个局面对于一台国际象棋计算机意味着什么 Ken Thompson——Belle 的制造者(他也是 Unix 和 C 语言的创造者)在80年代做了很多有关搜索深度与弈棋水平的很有趣的实验。

Thompson 让 Belle 自己与自己对弈,并把一方的搜索层次不断加深。通常情况下,每一层深度可以换算成 200 个埃洛分(国际象棋等级分)。在 4 层搜索深度时,Belle 的等级分约为 1230,当搜索深度为 9 层时,Belle 的等级分达到 2328。将实验结果画成曲线,并将曲线平滑延伸,我们可以看到,当搜索深度为 14 层时,计算机的等级分可以达到世界冠军水平——2800分。

以下是专家的结论:如果想要计算机达到人类国际象棋世界冠军的水平,那么计算机要有每秒计算 10 亿个局面的能力。深蓝接近了这一目标,但还没有达到。

(卡斯帕罗夫与更深的蓝,1997年)

失利后的“深蓝”于一年后以改进版“更深的蓝”卷土重来,再次与卡斯帕罗夫大战。卡斯欣然接受挑战,他在 1996 年曾说:我能够感受到来自棋桌对面一种新型的智慧。但那是怪异、低效和不稳定的。我相信自己还有几年的安稳日子。我全力要做到的是避免给予电脑任何具体的可进行针对性计算的目标。

可以说,当时的卡斯无论从技术还是心理上都不惧怕电脑。或许我们可以说当时的电脑还谈不上高级的人工智能。更准确地说是,电脑是在进行大数据库运算。但它,已足够强大!它背后的“人类智囊团”里包括了4名国际大师。

比赛仍以 6 局定胜负。最终,“更深的蓝”以 3.5:2.5 击败了卡斯帕罗夫,其中第六局仅 19 个回合就通过精妙的弃子将对手的局面砸得粉碎。比赛结束的第二天,该软件公司的股票价格上扬 3.6 个百分点,为公司带来多达两亿美元的收益。

我想写的是,“更深的蓝”当时在卡斯的面前真的足够强大吗?所谓“精妙的弃子”真是的电脑的杰作吗?必须再说一次,这场横跨两年的对抗赛,1996 年最后两盘棋,卡斯胜,1997 年第一盘,卡斯胜。卡斯对深蓝,是三连胜的节奏!人类的最强者,当时并没有把电脑放在眼里。

然而,五盘过后打成平手。最后一盘,是人脑强还是电脑强,变得异常刺激了!

1997 年 5 月 11 日美国东部时间下午 3 点钟,卡斯帕罗夫与“更深的蓝”的对抗赛最后一局开始了。

对局在纽约曼哈顿的 Equitable Insurance 大楼35层举行,世界各大媒体拭目以待。

更深的蓝-加里·卡斯帕罗夫

1.e4 c6

卡斯的开局选择令人大吃一惊!他走过卡罗康防御吗?为什么,在这关键的一战不用自己的拿手武器西西里防御(1。。。c5) ? 

这时,已经明显能感觉到卡斯的心理作怪了。在下这盘棋的时候,他身心疲惫,不仅是因为比赛消耗了大量的体力,更重要的是,他怀疑比赛的真实性(事后输掉对抗赛的人类世界冠军极为震怒,公开指责比赛中有“猫腻”,并要求拆棋和复盘,后又要求重赛,但未得到 IBM 公司的回应)。

或许,他这样看待这台电脑:电脑极力研究了他的西西里防御,每个变化都深入到极致,他感觉到在这个开局上已弹尽粮绝,找不到良方。或许换一个开局,电脑没有仔细研究过?

事实电脑如何,我想我们的世界冠军并不一定十分了解。但换开局这件事上,正所谓搬起石头砸了自己的脚。所以我一直这样看待这个结果,不是卡斯输给了电脑,是输给了他自己!

2.d4 d5 3.Nc3 dxe4 4.Nxe4 Nd7 5.Ng5 Ngf6 6.Bd3 e6 7.N1f3

这些都是“标准的布局谱着”,以前不知多少盘棋出现过了。但卡斯帕罗夫的下一步太令人惊讶了。

7。。。h6  (图)

根据以前出现过这步棋的对局结果,这步棋有着虽狡诈但很不可靠的名声。很多评论为这步棋打了( ?!)这个符号,表示有疑问。我直接打(?),坏棋!为什么会走出这步棋?世界冠军背错谱了吗?

8.Nxe6!

早已出现在棋谱上的应着,并不是深蓝的创举,不是深蓝的创举!!这步应着,使卡斯的样子显得犹如遭受了摧毁性打击!正当我们还在看卡斯帕罗夫是不是准备新招数时,他的反应明白无误地告诉我们:他颠倒了走棋次序,而跌进了一个为人熟知的布局圈套里了!

怎么可能 !加里·卡斯帕罗夫早已证明自己是当今世界上最好的布局理论专家,他居然会跌进这么一个众人皆知的布局圈套 ?有几个答案:对抗赛后的新闻发布会上,他解释说自己已经失去了信心。对于第五盘只得到大失所望的和棋,他告诉助手们“比赛结束了”。他正是持一种失落的情绪和放弃的态度进入这一盘的。还有,自从第二盘以来,他的神经紧张一直不断增加。他走自己也不熟悉的布局和防御是希望骗过电脑,然而……得到了不是他所得心应手的局面。

现在,看到出现的这一步,带着惊骇的表情,他明显烦躁地把头深埋在双臂之中(那个镜头很经典,有兴趣可以查阅一下视频),并且很快就重重地走了下一步。

8。。。。Qe7 

这步棋又是已知的错误,如此一来愈加一发不可收拾。8。。。fxe6 9.Bg6+ Ke7 10.O-O Qc7 11。 Re1 Kd8 准备 。。。Bf8-d6 是惟一可行的。这个变化使得黑方出子落后,未来也不妙。然而,如果黑方能够解决当前难题,那么他就能凭借多一子能带来一点希望。

数据库里出现过很多盘这个局面的实战,全都是白方胜! 

9.O-O fxe6 10.Bg6+

深蓝的操作员 Joe Hoane 此时好紧张——深蓝已经判断出局势对白方有利了——他颤抖的手摸错了棋子, 10.Bc1-g6+ 一步不合规则的着法。好在这不是深蓝的过错。

10。。。Kd8 11.Bf4  b5  

卡斯这步棋,既削弱了整个后翼结构,又让白方得以开动 a1 车。现在白方所有的棋子都畅通无阻了!

12.a4!

这步棋很容易想到,无论是电脑还是人脑。

12。。。Bb7 13.Re1 Nd5 14.Bg3 Kc8 15.axb5 cxb5 16.Qd3 Bc6  17.Bf5! exf5 18.Rxe7 Bxe7 19.c4  1-0

卡斯认输了。如果继续 19。。。bxc4 20.Qxc4 Kb7 21.Qa6 是杀棋。或者19。。。Nb4 20.Qxf5 Rf8 21.Qe6 bxc4 22.Ne5 也是白方胜势。他根本没心思战斗,对于最后这盘棋,卡斯说:“当第8步(8.Nxe6)之后,我可以认输了。我觉得简直不像在下棋。”

完整对局

随着他的放弃,所有世界主流媒体都打出了这样的字眼:电脑战胜了人脑。这是历史上第一次电脑在对抗赛上打败人类世界冠军。对计算机领域来说,这是十分振奋人心的。然而对国际象棋界来说,尤其是对霸气十足的卡斯帕罗夫来说,个中滋味就难以言喻了。

卡斯范了低级错误,电脑也无非是走了了众所周知的走法。

我只想说:二十年前,卡斯不是输给深蓝,而是输给自己!

好吧,最后再罗列一串数据,将此文完整推出!

1998年,世界冠军阿南德迎战常规弈棋程序 Rebel。快棋负而慢棋胜,总比分为 3:5 稍落下风。

2001年,Deep Fritz 击败了卡斯帕罗夫、阿南德,并把除了克拉姆尼克之外的所有排名世界前十位的棋手横扫了一遍。

2002年,荷兰棋王范维利(当时达到 2714分)和 Rebel 进行了四局对抗赛。双方交错赢棋,最后打平。同年,以色列名将斯米林(等级分超过 2700)对阵电脑国际象棋软件联队,先后与 Shredder、Hiarcs、Deep junior、Tiger 等程序交手,八局中两胜六和,竟无一败绩,最后以 5:3 的比分取胜。

2002年10月,Deep Fritz 与世界冠军克拉姆尼克在巴林大战。克拉姆尼克在前三局 2 胜 1 和的大好形势下,连输两盘被扳平,最终比分 4:4。

2003年迎来了人机大战的高潮。卡斯帕罗夫两次接受了电脑的挑战:先是在年初于纽约与 Deep junior 下成 3 比 3 平,卡斯帕罗夫一胜一负,其余都是和棋。11月,还是纽约,对垒 Deep Fritz,双方以 2 比 2 握手言和,卡斯帕罗夫又是一胜一负、其余战和。这已是人类世界冠军连续三次与电脑战平。有趣的是,后一场比赛在虚拟环境中展开,人类斗士必须戴着 3D 眼镜上阵,比赛现场成了《黑客帝国》的国际象棋版。

同年,曾进入世界前十名的名将巴列耶夫与 Hiarcs 对抗四局,均以和棋收场。

2004 年 10 月,在西班牙的毕尔巴鄂市举行了首届国际象棋人机团体大战。尽管人类战队由前国际棋联世界冠军乌克兰棋手波诺马廖夫、乌克兰神童卡尔亚金、保加利亚强特级大师托帕洛夫的豪华阵容组成,但仍以 3.5:8.5 的悬殊比分惨遭屠戮。其中,超级计算机 Hydra(海德拉,希腊神话中的九头蛇 )取得 3 胜 1 和的佳绩:两胜波诺马廖夫,一胜卡尔亚金,战平托帕洛夫。

同年,中国的美女棋后诸宸与清华紫光电脑对抗,以 0:2 败北。

2005年,当时世界排名第七的英国棋王亚当斯在英国伦敦温布利会议中心与超级计算机 Hydra 进行了六局对抗,结果以 0.5 比 5.5 的悬殊比分被怪兽“吞噬”。这台超级电脑运行在阿联酋迪拜的一个 64 处理器阵列上的 32 个处理器上,每秒钟能够运算 2 亿次,思考 40 步棋。比起 1997 年战胜卡斯帕罗夫的“更深的蓝”,其速度足足快了 6 倍。同年,第二届国际象棋人机团体大战于西班牙的毕尔巴鄂市再度重燃战火。代表人类队出战的是三位前世界冠军,包括俄罗斯的哈里夫曼、乌克兰的波诺马廖夫和乌兹别克斯坦的卡西姆扎诺夫。代表电脑队出战的是当时世界上最强的三个国际象棋对弈引擎,分别是:Hydra、Deep junior 以及 Deep Fritz。经过四轮较量,最终计算机队以 8 比 4 获胜;

同年,印尼首都雅加达也举行了一场国际象棋人机团体大战。在总共16盘棋的较量中,人类队仅取得三盘和棋。

2006 年 11 月,国际象棋世界冠军克拉姆尼克与 Deep Fritz 在德国波恩的国家艺术展览馆鏖战六局。克拉姆尼克最终以二负四和惨败于电脑。其中,最富于戏剧性的是第二局。面对着一个和棋形势,人类的世界冠军在走出一步棋后、端起咖啡杯正想去休息室时,Deep Fritz 的应着已经冰冷干脆地在屏幕上一闪:人类世界冠军将立刻被……一步杀。

层出不穷的强大软件

★ Junior

Junior是由以色列程序员 Amir Ban 和 Shay Bushinsky 开发的计算机程序。它的多处理版本名为 Deep junior。2003 年,Deep junior 曾与卡斯帕罗夫进行过六局对抗赛,最终 3 比 3 打平。2006 年,Deep junior 在对抗赛中战胜阿塞拜疆特级大师拉迪亚波夫。

Junior 曾获得 2002、2004、2006、2009、2011 和 2013 年计算机国际象棋锦标赛冠军。

★ Fritz

Fritz是来自德国的,由 Frans Morsch 和 Matthias Feist 开发的国际象棋程序。也是全球商用最为广泛的国际象棋程序。

2000年,用于移动平台的 Pocket Fritz 曾获得世界计算机快棋锦标赛冠军。2002年,针对多处理器开发的Deep Fritz与棋王克拉姆尼克 4 比 4 打成平手。2006年,Deep Fritz 以 4 比 2 战胜克拉姆尼克。与 Fritz 同一间公司的 Chessbase 是职业棋手运用最为广泛的数据库软件。

★ KOMODO

KOMODO 是一个来自美国的 UCI 国际象棋引擎。2015 年,曾获得计算机国际象棋大赛的快棋和超快棋赛冠军。目前 KOMODO 是一个商业引擎,并不开源。

★ Houdini

Houdini是比利时人Robert Houdart于2010年编写的。他本人既是棋手,也是计算机编程人员。最初 houdini 是一个免费国际象棋引擎。2011 年 9 月起,Houdini 实施了商业计划,目前不再免费。

★ Stockfish

Stockfish 最初是在 Tord Romstad 的计算机引擎 Glaurung 的基础上,由Marco Costalba、Romstad 和 Joona Kiiski 三人开发而来。2016年,Stockfish 成为全球水平最高的开源国际象棋对弈引擎。在2016年的计算机国际象棋引擎大赛中,Stockfish战胜了Komodo,夺得冠军。

Stockfish 可以运行于 Linux、Windows、Mac OS X多个平台,甚至还可以运行于多种移动平台,应用极为广泛。

(感谢塔尔、感谢王平,提供了大量的数据和信息给我!专业文章,不可避免用到专业人士的资料,尤其是国外的专家,一并感谢!)

加载中...