西西河

主题:Fredrik Knudsen:深蓝本纪,上 -- 万年看客

共:💬3 🌺23 新:
全看分页树展 · 主题 跟帖
家园

五:

深蓝与卡斯帕罗夫的比赛在赛前受到了热切期待,甚至就连对象棋并不感兴趣的人们也十分关切。在限时更短的比赛当中,计算机早就击败过特级大师,因为擅长蛮力计算的机器在这种赛制下显然更有优势。不过这次比赛采用得是更标准的赛制:双方的计时钟开场各有两小时,四十回合之后各自增加一小时。这种高端赛制也是计算机尚未侵入的唯一领域。卡斯帕罗夫欣然接受了“对抗机器狂潮的人类捍卫者”的头衔,尽管他本人对于计算技术的看法十分积极。本次比赛共计六盘棋,为期八天,中间休息两天,起始时间为1996年2月10日。对于如此高层次的比赛来说,六局棋实在太少了。相比之下人类棋手之间的巅峰对决往往要进行几十盘。比方说卡斯帕罗夫当年为了赢得世界冠军头衔与阿纳托利.卡尔波夫整整对弈了48局,比赛持续了足足五个月。如今的简短赛制不利于卡斯帕罗夫,因为区区六局棋根本不足以让他获得对战深蓝的充分经验。

尽管他认为自己必胜无疑,但是卡斯帕罗夫并没有闲着。他知道如果备战不够充分,正式比赛时必将陷入困境,特别是因为他本人的棋风非常独特。随着棋手们达到一定层次,经常会发展出独特的棋风,更擅长在特定局面下发挥。这种所谓的“象棋个性”往往十分鲜明。随着棋手发现自己的个性,他们会倾向于研究特定的开局线与战术,以帮助他们实现对自己有利的局面,这样做又会进一步加强他们的个性。有些棋手倾向于积极主动,采用频繁兑子的战术;其他人则喜欢更为被动的策略,不急不躁地排兵布阵,逐渐积累优势,同时营造坚不可摧的防御。最极端的例子之一是米哈伊尔.塔尔,苏联特级大师以及1960年无可争议的世界冠军,江湖人称“里加的魔术师”。日常生活当中的塔尔慵懒而戏谑,但是他在棋盘上的惯用策略却凶猛无情。尤其重要的是,塔尔素有玩弄对手心理的恶名。他喜欢无节制地将局面复杂化,以至于远远超出几乎所有棋手的分析能力,还喜欢利用弃子战术恐吓对手,让对手无法确定他究竟是不是在虚张声势——有时连他自己都无法确定。用塔尔本人的话来说,“你必须将对手拖进幽暗森林的深处,在那里二加二等于五,狭窄的脱身之路仅容一人通过。”

相比之下,卡斯帕罗夫是一个远远更加稳健的棋手。他的计算能力使他成为了全世界最危险的对手之一。他有两大著名特点:首先是精确。卡斯帕罗夫惯于应对尖锐局面,换言之谁坚持不犯错的时间比对方更长谁就是赢家。通过主动引导此类局面的出现,卡斯帕罗夫可以将对手大卸八块。有时他会积极促使对手犯错,其他时候他则会持续施压,等待对手自行犯错。其次,或许也是更可怕的一点在于他的备战能力。特级大师与其他特级大师对决之前通常总会研究对手的强项和弱点,特别是对手惯用的开局,并且发明新的对抗策略。卡斯帕罗夫在这方面尤其出名,他的准备工作经常如此充分,以至于可以胸有成竹地反制对手打算采用的每一种策略。他在对手心中激发的焦虑有时如此极端,以至于其他大师在与他交手时往往会放弃自己原本最喜欢的开局,因为他们担心卡斯帕罗夫已经吃透了这些开局并且发现了新奇的对策。与象棋基地公司达成合作关系之后,卡斯帕罗夫能以远超以往的速度获得对手最新的公开对局记录,从而越发巩固了他的棋坛霸主地位。

但是在深蓝面前,卡斯帕罗夫的两大长项全都没多少用武之地。上文提到,局面越尖锐,计算机就越能发挥局面评估方面的强大力量,而深蓝的处理器远比此前任何一台象棋计算机用过的处理器更加强大。卡斯帕罗夫的经验与能力恐怕并不足以让他在这样的情形之下胜过深蓝。卡斯帕罗夫擅长进攻,而计算机历来善于防守,尤其是在令人类挠头的局面当中防守。另一方面,卡斯帕罗夫的备战也很难开展。深蓝团队另外招了一台小型计算机用来测试软件,起名叫做“小深蓝”(Deep Blue Junior)。卡斯帕罗夫要求团队提供小深蓝的对局记录,团队满足了他的要求。但是完全体的深蓝还从未与特级大师对局过,因此谁也不知道深蓝究竟会怎么下棋。

比赛日终于到了。2月10日,卡斯帕罗夫与许峰雄对面而坐,许峰雄负责在棋盘上摆出深蓝选择的棋步。台下坐着为数不多的一批观众与记者,所有人都想知道全世界最强大的象棋计算机与全世界最杰出的象棋棋手究竟孰优孰劣。卡斯帕罗夫的母亲坐在观众席第一排。卡斯帕罗夫从小失怙,全靠母亲养育成人。每当卡斯帕罗夫参加顶级赛事,老太太必定会莅临观战。卡斯帕罗夫背后是一个用挂帘隔开的房间,里面摆放着零食。为棋手准备休息间是顶级赛事的惯常做法。每当轮到对手行棋时,棋手随时可以离场放松,在隔绝外界的私密空间里喘口气。卡斯帕罗夫的休息习惯是在场上来回踱步,同时两眼紧盯棋盘。第一局深蓝执白先行。就某些方面来说这一安排对卡斯帕罗夫有利。人们一般认为执黑有落后一步的劣势,上一任世界冠军卡尔波夫就曾表示他在执白时总会努力求胜,执黑时则努力求平。在本次六局对弈当中,双方都要执白执黑各三次。因此第一局卡斯帕罗夫可以采取守势,趁机探查一番深蓝的本领。对战双方终于做好了开局准备。

深蓝采用了王兵开局,这一开局通常被视为最安全的选择。卡斯帕罗夫则回应以他最喜欢的西西里防守。尽管深蓝团队已经做好了他会如此开局的准备,但是当真看到卡斯帕罗夫这么做还是让他们有些惊讶,因为西西里防守往往会导致极度尖锐的局面,正中深蓝下怀。但这一开局也意味着卡斯帕罗夫不怕深蓝的潜力,至少没有怕到宁愿放弃自己最偏好的开局的程度。根据深蓝团队的编程,这种情况下深蓝应当走一步兵进c3,因为这一招在最高水平赛事上很不常见。受雇于IBM帮助深蓝备战的特级大师乔尔.本杰明(Joel Benjamin)几乎没有时间为计算机构建开局库,所以在面对西西里开局之类的常见开局时采取剑走偏锋的怪招有助于团队节省开发时间。尽管卡斯帕罗夫的后在第3步时已经处于开阔地带——在中盘时期这一布局往往是个弱点——但是接下来双方的进程都不算出人意料,直到第10步为止。此时卡斯帕罗夫驱动黑格象咄咄逼人地向前挺进,限制住了深蓝的车。到此为止深蓝已经耗尽了预设棋步,从现在起它将开始自行计算棋步,真正的比赛终于开始了。

深蓝首先将马推进到攻击位置,从而压缩卡斯帕罗夫的活动空间。后来许峰雄写道:“当我代表深蓝走出第13步——马进b5威胁黑后——的时候,他显然大吃了一惊。加里全神贯注地凝视了一会儿棋盘,然后扬起眉毛瞥了我一眼。他的表情让我情不自禁地泛起了一丝笑意。我不知道他如何理解我脸上稍纵即逝的微笑,但是他花了很长时间才给出应手。”卡斯帕罗夫决定最佳应对是将后后撤,如此决策的部分原因或许在于他害怕深蓝的攻击力。但是这一步让深蓝抓住了可乘之机。第17步,深蓝又驱动白象攻击卡斯帕罗夫的黑马,将其压制在黑后身边。等到这枚黑马被白象不可避免地吃掉之后,卡斯帕罗夫还面临着更困难的选择:要么不惜在保卫黑王的防御阵型上撕开一道口子也要吃掉这枚白象,要么用己方黑车兑掉一枚白马。在早已令他很不舒服的局面下,像这样的交换显然是亏了。他选择了削弱防御。

占据上风的深蓝开始不断兑子,进一步扩大优势,逐步蚕食卡斯帕罗夫的防御。首先它用白马兑掉了黑象,使得双方子力值完全相等。然后仅仅过了三步,它又走出了令在场所有人大跌眼镜的一步:白兵进d5。这样一来这枚白兵就脱离了白马与白后的保护,换言之深蓝采用了弃兵战术。鉴于计算机一贯奉行子力主义,这样的棋步对于绝大多数计算机来说都堪称不可思议。卡斯帕罗夫被吓了一跳,事后他表示这倒像是他本人会采取的手段。意识到深蓝露出了破绽,卡斯帕罗夫首先将黑王撤到棋盘角落,然后调拨黑车前来护驾,而且黑车的位置又能在开放线上发动反击。尽管面对此等威胁,但是深蓝显然认为针对白王的攻击并不可行,因此并不急着调动白马回援,而是先用白马吃了一个黑兵。这一招看起来简直冒失得有些可笑。卡斯帕罗夫认为深蓝的贪得无厌是他的机会,于是针对白王发动了最后一次绝体绝命的进攻,只差一步就能将军。但是这样一来他的黑王身边的护卫变得越发稀疏,深蓝当即抓住了战机。根据深蓝的计算,它刚好有时间用白马吃掉一枚黑棋的后翼兵,接着立刻将其撤回到攻击位置。于是它开始着手破拆卡斯帕罗夫的剩余防御,接二连三地发起了将军。意识到大势已去的卡斯帕罗夫最终推枰认输。深蓝赢得了开门红。

各个理解层面上的观战者们全都目瞪口呆。看热闹的外行惊讶于电脑居然击败了全世界最优秀的人类棋手,看门道的内行则惊讶于深蓝的棋风居然如此激进,完全不符合计算机的一贯特点。赛后卡斯帕罗夫与许峰雄相互握手致意。卡斯帕罗夫后来写道:“我当时有点震惊,观众和评论员也是如此。甚至就连肯定早就能从屏幕上看出深蓝的获胜评估的许,在他取得巨大胜利的那一刻也显得有点迷茫,几乎带着几分歉意……我依然因为机器的出色表现而感到有些茫然,因此刚刚认输就反射性地问了许一个问题。两位特级大师在一局终了之后经常进行这种谈话,我们称之为‘验尸’。‘我哪里出错了?’我问道。但是许并不很会下棋,而且可能因为他自己也有点晕,他同样也记不清深蓝显示在屏幕上的分析。所以这一刻对于我们两个人来说都有点尴尬。”

许峰雄也回忆了同一个时刻:“这个问题让我大吃一惊。我几乎不会下棋,可是有史以来最伟大的象棋大师却正在请教我,想知道他还可以在哪些方面改进棋艺……我试图根据我还记得的深蓝分析尽量回答他的问题,不过加里显然察觉到我审视棋局的的能力根本没法与他和深蓝相提并论,于是几分钟后他就放弃了追问并且迅速离开了大楼,没有与随行人员以外的任何人交谈。”

新闻机构很快就发现了这场胜利,于是一夜之间这场比赛就成了世界新闻,美国的晚间节目甚至调整了原本的报道安排,腾出时间来发布关于这场比赛的最新信息。一夜之间世界各国的人们——甚至包括非棋迷在内——都将目光投向了赛场。这场比赛不可避免地遭到了戏剧性的描述。加里.卡斯帕罗夫则被塑造成了只身对抗机器进犯的人类卫士。与此同时,关于比赛的讨论充斥了各个象棋留言板,IBM为比赛设立的网站由于大量流量的涌入几乎完全无法访问。但是多年来卡斯帕罗夫的紧张情绪一直在增长。自从他获得世界冠军头衔以来就一直关注着计算机棋力不断增强,现在他认识到自己的地位要比自己原本认识到的更加脆弱。

许多年后他这样写道:“在全部象棋历史上,即使最伟大的棋手也从未遭遇过1993年的计算机几乎信手拈来的那种复杂得令人难以置信的战术。面对着人类对手,你起码知道你的对手在应对棋盘上发生的各种情况时有着和你差不多的局限性……但是当你面对着一台强大的计算机,这种认知上的平衡立刻就消失殆尽了。计算机下棋确实下得很好,但同时也下得很不一样。心理与体力方面的不平衡……固然也是个问题,但是你还会产生某种全新的感受,永远都要担心你的对手是否看到了某些你根本想象不到的东西,这一点非常令人不安。在局面复杂的时候这一点尤其会导致严重的紧张情绪,你难免觉得任何时候都会听到黑暗当中的枪响。作为回应,你将会反复推敲你的计算,而不是像对付人类对手那样相信直觉……在棋盘上度过一辈子之后,你必定会养成一整套习惯,可是这些习惯在与机器对弈时全都会被打乱。我不喜欢这样。但是同时我也想证明我能克服这些阻碍,证明我依然是全世界最优秀的象棋棋手——人类与机器都算上。”

但是比赛依然还有五局棋,而且现在谁都不敢说接下来会发生什么,甚至就连双方选手都不例外。

六:

随着第二天赛事的开始,人们开始怀疑卡斯帕罗夫或许会改变战术来对抗深蓝。但是不仅只有卡斯帕罗夫才会备战。就像在其他比赛中那样,深蓝团队在赛后立刻着手调试程序,尤其试图完善开局库,以防卡斯帕罗夫下次使出什么怪招。他们知道在比赛期间更改程序风险很大,但是由于计算机准备不足,他们并不认为自己还有其他选择。

这一局与卡斯帕罗夫对面而坐的是莫里.坎贝尔。比赛开始,卡斯帕罗夫执白先行。这次他有机会决定开局。于是他选择了所谓的列蒂开局,即第一步首先让王翼白马跳到前排。这是后续变化相当灵活的一招,也使得卡斯帕罗夫的计划一时间难以看清。但是他的策略很快就显露了出来:不出几步卡斯帕罗夫就讲局面调整成了后兵开局,这样的局面进展缓慢,双方的攻击选择都很少。他的目标很明确:卡斯帕罗夫放弃了尖锐攻击的策略,转而下起了反计算机象棋。开局后的最初24回合波澜不惊,双方都没有做出多么严重的威胁,而是频频兑子从而简化局面,这样正中卡斯帕罗夫下怀。第24回合结束时,双方都剩下了一车一象一后五兵。然而通过兑子,卡斯帕罗夫成功地扯开了深蓝的防线,就像上一局深蓝对付他的手段一样。现在他有了明显的局面优势。尽管深蓝的黑兵全都排成一线,但是却全都排在黑格里,而卡斯帕罗夫的白象却位于白格,这意味着它可以无所顾忌地移动。意识到局面不利的深蓝开始重复棋步,来回移动黑王,试图逼平卡斯帕罗夫。但是卡斯帕罗夫看到了胜机。他让白后在棋盘的空旷一侧接连走位,与白象一起攻击黑王,而终盘阶段的黑王身边已经没有了多少防御力量。第48步,卡斯帕罗夫敲掉了深蓝的一个黑兵,到了第66步他又吃掉了另一个。少了两个兵之后,深蓝的黑王完全暴露了出来。等到卡斯帕罗夫强行兑掉双方的后之后,深蓝显然已经山穷水尽了。坎贝尔在第73步棋时代表深蓝认输,深蓝和卡斯帕罗夫现在各得一分。

卡斯帕罗夫营造迟滞战略局面的策略取得了巨大成功。深蓝团队当晚则在手忙脚乱地想要搞清究竟出了什么问题,他们很快就发现了病根:在象棋策略当中有铁子(outposted pieces)一说,既某枚棋子绕到了对方兵线后侧,以至于不会再受到对方兵的攻击。一枚铁马具有极强的威力。但是深蓝却认为铁象与铁马的价值相同,尽管铁象的力量要弱得多。如果在赛前就发现这个问题,那么深蓝原本很可能逼平卡斯帕罗夫。这一发现令团队越发焦虑,他们知道他们的计算机还没有准备好参加比赛,但是如果代码中存在如此严重的漏洞,谁知道接下来还可能出什么问题?

比赛第三天是休息日,但是下完第二局的卡斯帕罗夫已经不再担心了。“现在我知道(深蓝)无非是我早已充分理解的计算机程序的升级版,仅仅是运算速度要快得多,因此我略微放松了一点。它确实很强,但是并不比我更强,而且它还有显而易见的缺陷。就像对付人类对手一样,只要我能避实就虚,就能获得胜利。”

第四天,比赛进入了第三局。这次坐在卡斯帕罗夫对面的还是许峰雄。执白的深蓝选择了王兵开局,卡斯帕罗夫则重复了第一局的应对,祭出了西西里开局。接下来按照第一局的定式,卡斯帕罗夫很快就将黑后送到了棋盘中央,但这次他更有信心了。双方兑了几个兵,并且以多少不出预料的方式排列阵型。但在第8步:卡斯帕罗夫做出了一个大胆的决定,黑兵进d4。要想吃掉这个兵,深蓝可以用兵,也可以用马。它选择了用白兵进d4,但这样做造成了一个弱点:d4背后的两个黑格上都没有白兵,因此这枚白兵得不到其他棋子的保护。这种情况被称为孤兵。如果非得保住孤兵,就必须动用更强的棋子,但是假如这些更强棋子本身也受到威胁,那还是弃掉孤兵更合算。就这样卡斯帕罗夫在走到第11步棋时似乎有了优势,因为他的棋型发展得更好,尽管深蓝的白王向着王翼进行了王车移位,从而躲到了更加安全的位置。

从第12步开始,卡斯帕罗夫发起了一连串的兑子,最终以兑掉黑白二后告终,但是深蓝也趁机调动另一枚白兵承担了保卫d4孤兵的任务。现代计算机分析显示,卡斯帕罗夫听任这一局面的发生是大错特错之举,但他仍然相信深蓝还有可利用的弱点,其中包括眼下处境暴露的c3白兵。尽管这样的进展在很大程度上遵循了乔尔.本杰明的原定计划,但深蓝却注意到了某些些本杰明在思考棋路变化时未曾想到的东西。之前的棋步让深蓝损失了一枚棋子,于是它脱离了预定计划,由此堪堪躲开了一场灾难。第20回合,双方都还有二车六兵以及一枚轻子,深蓝的轻子是象,卡斯帕罗夫的轻子是马。尽管象在终盘往往比马好用,卡斯帕罗夫对于自己的胜算依然很乐观。

不过卡斯帕罗夫的信心影响不到深蓝。它开始发挥计算机的强项——保护显而易见的弱点。首先,白王从防御兵墙背后走了出来。在场上棋子越来越少的时候这样做也是常见战术,因为此时王的子力也变得不可或缺了。尽管卡斯帕罗夫用黑车赶走了白王,但却意识到自己无法恰当地攻击深蓝的弱点,只得承认对手的防御固若金汤。39回合之后,卡斯帕罗夫与许峰雄决定握手言和。

尽管现在双方是1.5比1.5平,尽管他觉得自己错过了获胜的机会,但是卡斯帕罗夫依然对结果感到满意。通常人们认为执白有优势,而在剩下的三场比赛当中他有两场他执白。考虑到这一点,以及三局对弈以来他对于深蓝的棋风的理解,他觉得自己可以以压倒性优势结束比赛。但是深蓝团队绝不肯如此轻松地让他如愿以偿。

第四局于次日进行。卡斯帕罗夫执白再次采用列蒂开局,深蓝则将局面转换成了斯拉夫防御,这样做的好处是增强了己方的中央控制,坏处则是拖慢了棋局进展,几乎决定了这一局己方只能打防御战。最终深蓝将局面构建了所谓的“安静变体”,之所以起这个名字是因为此类局面经常催生精打细算条理分明的棋步。进入中盘,卡斯帕罗夫有了明显的优势。到了第19步,他设法将两枚白车在开放线上排成了一列,这是一种非常强大的攻击阵型。

但是深蓝的问题不仅局限在棋盘上。走完21步之后,负责摆棋的许峰雄起身去上厕所。但是当他回来的时候裁判却不许他立刻就座,一定要等到卡斯帕罗夫行棋结束——这也是规则当中的奇怪要求。等到许峰雄终于落座之后,却发现深蓝陷入了休眠状态。卡斯帕罗夫起身放松,许峰雄则忙着唤醒计算机并且输入卡斯帕罗夫的棋步。但是他手下一滑操作失误,害得深蓝当场死机了。卡斯帕罗夫回到棋盘前,却发现深蓝团队的好几名成员正在焦头烂额地围着计算机团团转。他向裁判投诉,认为这种奇怪的做法坏了规矩。这时他母亲在观众席上冲他喊道:“你快闭嘴吧!”

这段小插曲过后,深蓝团队重启了计算机,比赛继续进行。现代计算机分析显示此时深蓝再次将局面扳回了均势。双方各出妙招逐个拔掉对方的兵,不过尽管深蓝局面占优,但却找不到将优势转化为胜利的明确做法。另一边,卡斯帕罗夫的时间快要耗尽了,只剩下几分钟时间将棋局拖到第40回合,从而获得额外的一小时。随着局面越发白热化,棋盘上的棋子也越来越少。双方继续相互清兵,但是胜利的前景对于双方来说依然晦暗不明。最后双方终于在第50回合握手言和。现在卡斯帕罗夫与深蓝各得2分。但更重要的是,卡斯帕罗夫没能在执白时赢棋,而现在他只剩下一次执白的机会了。比赛已经开始令他感到心力交瘁。许峰雄记得自己曾在第四局结束后与象棋基地公司的创始人、卡斯帕罗夫的朋友弗雷德里克.弗雷德尔(Frederic Friedel)交谈。弗雷德尔告诉他,卡斯帕罗夫在赛后躲进了酒店客房,全身脱得只剩一条内裤,然后躺在床上盯着天花板半天没动弹。

接下来的休息日,深蓝团队近乎疯狂地寻找着最合适的开局线,从而让他们在最后一次执白的时候能有一点优势。卡斯帕罗夫则休息了一整天试图放松神经。双方选手很快就回到棋盘两边开始了第五局对弈。深蓝执白再次采用王兵开局。但是令深蓝团队以及观战众人惊讶的是,卡斯帕罗夫的应手却是黑兵进e5,同样也是王兵开局。显然他打算放弃自己最惯用的开局手段,转而采用某些其他策略,不过只有他的身边人才知道他究竟打算干什么。几步之后他的策略终于清晰起来:这次他想采用彼得诺夫防御。一般来说王兵开局会导向尖锐的局面,但是一看到彼得诺夫防御,深蓝团队就意识到卡斯帕罗夫打算求和。卡斯帕罗夫也承认彼得诺夫防御进展缓慢且变化简单,很多人都觉得这套棋路很无聊,因为一方面双方会不断兑子,另一方面双方的兵线结构却会大致保持不变。卡斯帕罗夫的用意昭然若揭:面对这样一台强大且未知的计算机,他已经因为焦虑而精疲力竭了。现在他只想不太费脑子地尽快结束当前这盘棋,从而能以更饱满的精神状态抓住明天最后一次执白先行的机会。因此他始终保持着棋局的均势,不断兑子以降低棋局复杂程度,谨守明显且熟悉的局面。

这一策略令深蓝团队惊惶不已。过去一周他们一直在训练深蓝对抗西西里防御,面对卡斯帕罗夫的变招,深蓝的准备程度则要差得多。因此当卡斯帕罗夫在第23步突然提出求和的时候,深蓝团队非常惊讶。在棋局的这一阶段就求和实在太早了,因此一番商议过后深蓝团队决定拒绝接受这一提议,他们觉得此后卡斯帕罗夫应当还会再次提出相同的提议,而且深蓝应该还有胜算。但是他们很快就后悔了。他们眼看着深蓝突然接连行棋不准起来,首先听任白棋挤成一团,扼杀了近期发动攻击的一切潜力,然后又来回反复移动棋子,找不到推进局面的方法。随着卡斯帕罗夫逐渐收紧对于局面的控制,深蓝团队只能揪心地干看着。他们很清楚,深蓝眼下的问题很容易就能纠正过来,只要再给他们几天调试时间就行。眼下每过一回合深蓝就向惨败靠近了一步,白棋完全被锁死在棋盘中央使不出力气。最后卡斯帕罗夫成功将一枚黑兵升变成黑后,强行迫使深蓝兑子,使得盘上局面变成了三枚黑兵加一枚黑象对战深蓝的五枚白兵。到了第47步,看不到出路的深蓝团队选择了认输。卡斯帕罗夫最后一次执黑获胜,比分成为了2比3。现在他只要执白求和就能赢得比赛。

但是除此之外,深蓝团队意识到卡斯帕罗夫还有另一项更加强大的优势:他已经学会了如何干扰乃至破拆深蓝的象棋思维。

七:

深蓝团队虽说已经失去了赢得比赛的指望,但是如果赢下最后一盘棋,至少能打成3比3平。不过他们并不抱多大希望。这一次他们准备了斯拉夫防御。最初几步看起来一切都按计划进行,卡斯帕罗夫也再次使用了列蒂开局。但是接下来卡斯帕罗夫就发动了陷阱。他没有按照列蒂开局的正常棋步行棋,而是中途变招,调整了行棋顺序,迫使深蓝提前放弃了开局库。他正确地猜测到,深蓝团队肯定没有准备好应付这套棋路。换言之,深蓝团队之前的筹备全都沦为了无用功。到了第10步,深蓝开始偏离原计划并且犯下了一连串严重的战略失误,首先黑象行棋出了偏差,接下来王翼黑马又走了一步废棋。到了第12回合,现代计算机分析卡斯帕罗夫的盘面优势有1.2分——一般来说盘面优势达到1分就足以在最高级别的象棋赛事上稳操胜券了。赶走了深蓝的黑马之后,卡斯帕罗夫继续控制着棋盘,先是逼退了深蓝的黑象并且封死了深蓝中路攻击的机会,然后又不断蚕食深蓝的后翼空间,扼杀了这边的攻击机会。在此期间卡斯帕罗夫多次有机会发动犁庭扫穴的总攻,但是他很清楚不必如此大动干戈。只要他能避免局面尖锐化,深蓝就不可能偷袭得手。又兑了几个子之后,深蓝的黑棋残部全都困在了角落里动弹不得,然后卡斯帕罗夫又用一招弃兵彻底锁死了这几枚黑棋。第43步,深蓝团队承认了失败。

赛后卡斯帕罗夫非常兴奋,远比深蓝团队更愿意接受媒体采访。当时就有人提出了是否要早在明年就安排复赛的问题。卡斯帕罗夫明确表示自己很希望能有这样的机会。IBM的赞助在一定程度上鼓励了他的表态:他的象棋组织举步维艰,而IBM则承诺注资。又有人问他如何看待深蓝目前紧紧咬在他本人身后的2700分ELO评分,卡斯帕罗夫认为深蓝的水平起伏太大:“2700分倒是不假,不过有些局面下是3100分,另一些局面下只有2300分。”

尽管深蓝输掉了比赛,但是IBM向许峰雄的象棋计算机的投资早已实现了投资目标。这场比赛让IBM一时间声名鹊起,不仅享誉美国内外,而且比赛后一周公司股票市值上涨了整整33亿美元。很快IBM就与卡斯帕罗夫签订了来年再战的合同。另一边,许峰雄团队的感受却迥然不同。他们知道深蓝尚未准备到令他们满意的程度,而且卡斯帕罗夫还在深蓝身上揭露了许多他们原本可能会忽视的弱点。早在比赛还没结束时他们就在思考如何弥补这些弱点。除了实际层面上的改进思路之外,这一周还让深蓝团队得到了一样或许同样重要的收获:坚定的求胜心。

在比赛期间,卡斯帕罗夫做出了许多出人意料的决策,比方说拒绝了在其他比赛当中可能会接受的求和提议。他的理由很简单:尽管他很有信心按照自己的典型棋路击败任何人类,但是他也知道计算机是一位截然不同的对手,不会被他惯用的野蛮战术吓倒。卡斯帕罗夫很清楚,无论他的计算力多么强大,依靠计算来对付深蓝都是在自寻死路。多亏他及时改用迟滞战术才确保了胜利。当时他并不清楚深蓝距离完全形态还差多远,在来年复赛安排好之后,他以为深蓝的能力不可能在这一年里得到根本提升。但是过去十二年以来一直有人轻视许峰雄的工作,每一次这些人的过度自信都导致了他们在许峰雄手下的惨败。

八:

1996年再战卡斯帕罗夫之前,许峰雄设想了许多潜在的软件改良方案。比赛结束后他有了设计新式芯片的构想,但不是为了提升计算速度。正如香农在1949年论文当中指出的那样,一味提升计算速度只能带来呈指数递减的收益。团队很清楚目前深蓝的短板不在于计算速度,他们转而下决心要改进深蓝的评估能力。为了尽早辨识深蓝的弱点,IBM雇佣了一批特级大师与深蓝对练,让他们提出各种见解与建议,并且利用这些反馈信息不断调试深蓝的评估能力,使其能更好地抓住战机以及实现更有利的局面。深蓝的战略大局观就这样逐渐提高起来。团队意识到,假如他们能在这方面将深蓝提高到足够的层次,就可以消灭卡斯帕罗夫可能做出的任何应手。

但是IBM也有自己的想法。深蓝输给卡斯帕罗夫之后,公司股票大幅上涨。那么要是深蓝赢了又会如何?随着这一年逐渐过去,卡斯帕罗夫也变得越发不安起来。此前IBM相对而言还比较乐意沟通消息,每当他想与公司高层讨论比赛事宜时他们总会迅速回应。现在IBM却几乎陷入了彻底沉默。自从卡斯帕罗夫签订了复赛合同之后,公司再也没有开诚布公地跟他讨论过赞助他的象棋组织的问题。显然,之前的IBM将卡斯帕罗夫视为合作伙伴,如今却完全将他当成了对手。另一项因素进一步恶化了双方的关系。就像1996年的初赛一样,1997年的复赛也只有六局,致使卡斯帕罗夫没有多少机会查探深蓝的棋风与弱点——这一点对于卡斯帕罗夫的重要性远远超过对于深蓝的重要性。

深蓝团队在改进评估函数的时候制造了一台迷你版深蓝用来检验软件改动,起名叫皮克(Pico)。这台小深蓝的运行速度与其他象棋计算机一致,但是在测试的时候他们却有了意外发现。许峰雄写道:“有一天(莫里.坎贝尔)提到他与市面上顶级的商用象棋程序下了几盘,让我猜猜输赢几何。考虑到皮克的搜索速度并不占优,而且新的评估函数还没调试好,我答道:‘应该是输赢各半吧?’然后莫里抛出了惊人的真相。皮克连战连胜无一败绩。我要求看看证据,莫里凭借记忆给我复原了几个对局片段。我一眼就看出了皮克常胜不败的理由。我们在试图改进深蓝的象棋知识的征途上创造了某种远远超过商用象棋程序的东西。在我所看到的每一个对局片段里,商用程序的欠缺之处都显而易见,我能明确指出每一局棋采用了怎样的硬件评估特性。”

但是深蓝依然漏洞缠身。比方说团队再次遇到了吃过路兵的问题,如今这个问题的表现方式非常奇怪:每当棋盘上出现吃过路兵的机会时,深蓝不知何故总会认为棋盘角落凭空出现了一枚后,严重干扰了评估过程。更糟糕的是,这一漏洞似乎是硬件问题而非软件问题,致使排查工作格外困难。也有些时候深蓝会因为代码漏洞而胡乱走棋。团队不得不从越来越少的时间里抽出一大部分来排查漏洞并且设计出不至于严重影响评估速度或者质量的解决方案。为了应对其他问题,他们还设计了一套方法来控制层出不穷的死机漏洞。与其让整套系统彻底死机,深蓝会在死机之前就自行终止程序,以免因为彻底重启而浪费太多时间。这样一来就算深蓝的状态并不稳定,也依然有希望下完一整盘棋。而且这一次临场解决问题的机会也会更多,尽管他们的时间依然很有限。尽管他们显著改善了深蓝的评估能力,但还是要抽时间提高一下深蓝的搜索速度。他们优化了程序,调整了硬件,从而将深蓝的最高搜索速度翻了一番,从每秒一亿种局面提升到了两亿种。

不过这一次深蓝团队不打算单纯依靠计算机本身的性能。协助调试深蓝的特级大师之一米格尔.伊列斯卡斯(Miguel Illescas)后来写道:“当然,我们还为加里准备了一点小惊喜。在给出某些棋步的时候计算机会故意延迟,另一些时候则会立刻行棋。在某些局面下我们肯定加里会走出最好的棋步,这时候我们就要立刻应对。这样做是为了追求心理冲击效果,就好像机器变得无法预测,这就是我们的主要目标。”

与此同时IBM也在忙着筹办比赛,这一次他们的宣传力度远远超过了上一次,尽其所能地吸引了媒体关注。IBM发动了强大的宣传攻势,到处张贴比赛海报,画面上是卡斯帕罗夫端坐在棋盘面前的典型造型。记者们开始竭力争抢进入比赛大厅的门票,因为他们很清楚这次的公众兴趣会比去年更加高涨。IBM拒绝沟通的态度开始让卡斯帕罗夫感到紧张,于是他主动联系公司,要求查看深蓝最近的对局记录以便备战。但是公司当初起草合同以及指定比赛规则的时候留了一手。面对卡斯帕罗夫的要求,IBM援引了合同当中的一条精心措辞的条款,规定深蓝的一切公开对弈记录都要向卡斯帕罗夫开放。但是深蓝与公司聘请的特级大师之间的对局属于私密对弈,因此公司没有责任向卡斯帕罗夫提供这些资料。在比赛之前,IBM没有让深蓝参加任何一场公开比赛,由此彻底化解了卡斯帕罗夫的两大长项之一。但是反过来说,深蓝团队却能查到卡斯帕罗夫的一切对局记录,从而能够有针对性地做准备,并且早在第一局对弈开始之前就获得优势。卡斯帕罗夫还提出了更搞得要求,例如他想让IBM提供一台深蓝样机拿来练手,这个要求同样遭到了回绝。

复赛定于1997年5月3日开始,地点是纽约曼哈顿公正大楼,距离深蓝实验室仅有半小时车程。比赛日到来时,深蓝团队依然有些缺乏底气。这次他们的时间还是不太够用。他们觉得假如再给他们半年时间,就能充满信心地击败卡斯帕罗夫。但是另一方面他们也认为仅凭当前这台计算机同样很有胜算。这次的奖金池也扩大了,赢家能拿到70万美元,输家也有40万。但是对于许峰雄与卡斯帕罗夫来说,金钱早就不是问题了。现在双方依然关心的问题只有一个,就是输赢。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河