西西河

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

共:💬3 🌺23
全看分页树展 · 主题
家园 Fredrik Knudsen:深蓝本纪,上

https://www.youtube.com/watch?v=HwF229U2ba8

在计算机工程学领域,“深蓝”这个名字可谓如雷贯耳。时至今日,当我们讨论机器学习与人工智能的兴起时依然会提及这个名字,尽管它与这些领域的联系往往模糊、不精确或者不准确;此外这个名字也经常被用来挑战人类中心主义,以及表达对于机器与计算机超越人类能力的恐惧,尤其是在创造性工作方面;还有些时候这个名字与担心人类将会落伍过时的焦虑联系在了一起,而具体的落伍方式同样不甚明确。对于深蓝的本质、构造与精彩历史的误解十分常见。所以说,深蓝究竟是什么?

一:

1949年,美国电气工程师克劳德.艾尔伍德.香农在科学期刊《哲学杂志》上发表了一篇论文,题目是《如何通过编程让计算机下象棋》。创造一台能下象棋的计算机的理念已经存在了很多年,但是香农的论文明确列举了创造这样一台设备所面临的挑战以及克服这些挑战的方法。人类对于会下象棋的自动机械的痴迷源起于一个世纪之前,当年曾有许多高明的骗术师制造过此类机械,不过这些机械全都在暗地里受人控制,操纵机械的高明棋手要么躲在别的房间里,要么藏在机械内部,不疑有诈的挑战者们则纷纷在机械面前败下阵来。据说拿破仑都曾经与此类机械对弈过,而且还下赢了。第一台真正的自动象棋机械于1914年问世,只要摆出某个特定的残局,这台机械就能通过机械运算的方式强行取胜。香农认为很容易就能创造一个在每一回合都能随机挑选合规棋步的计算机程序,但是他与其他人的真正兴趣在于创造一个能与职业棋手一较高下的程序。在论文的开头,香农这样为自己对于这个研究课题的兴趣辩护:“这个问题虽然在实际层面或许并不重要,但是在理论层面却饶有趣味。笔者希望针对这一问题的令人满意的解答能够起到楔子的作用,有助于人们进一步攻克性质相近且意义更加重大的其他问题。”

不过如此冷静的研究思路并不能完全概括学者们对于象棋的痴迷。千百年来,通晓策略游戏的能力都被视为人类非凡智力的证据,象棋技艺尤其与才思敏捷直接挂钩。因此象棋成为了早期计算机科学家与电气工程师面前的诱人挑战。许多人都相信,如果能开发一款高水平象棋程序,实现真正人工智能——这个词将会在二十世纪五十年代后期流行开来——的挑战必将取得重大进展。甚至就连香农的著名同行艾伦.图灵都开发了一套初级象棋程序,下的是规则简化版的象棋。香农在论文当中继续列举了程序分析棋局所必需的恰当方法与数据,并且建议了此类程序的恰当运行方式。但是他的分析却取决于能否解决另一个远远更加极端的问题:象棋那荒谬的复杂程度呈指数增长。香农利用一个简单公式确定了可能存在的象棋棋局数量的下限:只需五个回合,可能存在的棋局数量就达到了70万亿局;到了第四十回合,棋局数量就达到了10的120次方,比起可观测宇宙当中的原子总数量还要高出39个数量级。

如此难以理喻的繁复变化源自相对简单的象棋规则。象棋棋盘为八八六十四格,双方各有十六枚棋子。其中八枚为兵,是棋步规则最复杂的棋子。兵的第一步可以前进一到两格,此后每一步要么前进一格,要么吃掉前方对角线的敌方棋子。如果兵能够到达棋盘底线,就可以升变成为更强的棋子。车可以在竖直与水平方向任意移动,除非被另一枚棋子阻挡住,如果车被敌方棋子挡住则可以吃子。象的棋步规则类似于车,但是在对角线上移动。最强的棋子是后,结合了车与象的规则。马的棋步规则往往被称作L型运动,可以在竖直或水平方向前进两格,然后垂直于前进方向再走一格。马是唯一可以越过其他棋子的棋子,但是活动范围有限。最终也是最重要的棋子是王。王的棋步规则类似于后,但是在各个方向都只能前进一格,因此易受攻击。游戏的目标是困住对方的王,王如果处于敌方棋子的攻击范围则被称作将军,如果无法解除将军则被将死,棋局由此结束。棋手不得主动将己方的王置于被将军的位置。如果双方都走不出合规棋步则为平局或僵局。换言之,局势不利的棋手可以试图逼平对方。此外倘若双方都无法将军也可视为平局,比方说棋盘上只剩下两个王的时候。

为了挑选恰当的棋步,例如香农主张的程序必须理解象棋的程序以及基本策略与战术概念,并且利用这份理解来评估双方的力量优劣。在打造这一方法的过程中,人们还必须做出最后的选择:如何分配评估时间。香农给出了两种可能的象棋计算机,分别是A类与B类。根据他的定义,A类计算机会在预定限制内审视所有可能的棋步,根据计算力评估每一种局势,按照胜率最佳的标准选择续步,同时假设对方会做出最佳应对。但是随着两名棋手轮流走棋,棋局的复杂度会呈指数级迅速膨胀。因此棋局每深入一层,计算机的算力也必须成指数级增强才能跟得上。这种方法需要的强大算力意味着计算机需要大量时间来评估局势。用香农的话来说:“不幸的是,根据A型策略运行的机器将会是一位迟缓且棋力低下的棋手。之所以迟缓是因为就算每一种局势仅仅耗费一微秒的计算时间(非常乐观的估计),在三回合过后需要评估的局势也有10的9次方之多,换言之每一步棋都需要超过16分钟的计算时间。假如双方各走40步,那么机器的耗时将要达到10个小时。之所以棋力低下,是因为机器只能看到三步之内,还因为我们的评估并未包括任何静态局面。因此机器的运行效率极低,对于一切变化都严格计算三步,然后就停下(哪怕己方或对方正在被将军)。而人类棋手只会检视少数几种变化,然后将其推算到合理的截停点上。世界冠军(至多)可以算到15到20步之外的深度。”日后A型计算机将会被称作“强大但愚蠢”。

香农建议的另一种B型计算机则是他本人更看好的类型。这种计算机只会评估最有希望的路径并且进行极其深入的推算。这一类计算机需要远比A类机器更加精巧的分析方法,但是却可以通过移除低劣棋步的方法节省大量计算时间,而A型计算机却会为了这些棋步进行毫无成果的探索。这种计算机显然效仿了人类审视棋盘的模式。人类会抛弃显然不利的棋步,着重关注可能带来优势的棋步。根据定义,这种方法需要搜索的局面数量更少,从而节省处理时间。为了彰显对比,B型计算机会被称作“弱小但机智”。不过香农进一步强调了机器与人类思考方式的差异:“值得注意的是机器拥有若干针对人类的优势:一,计算单一棋步时的极快速度。二,免于低级错误。计算机的一切错误都源自程序缺陷,而人类棋手则经常走出显而易见的低级臭棋。三,免于懒惰。人类棋手惯于依据本能出招,而不去恰当分析局势。四,免于情绪。人类棋手经常因为局面‘大好’而信心过度,或者因为局面‘很坏’而自暴自弃,由此走出臭棋。当然,也必须考虑到人类心智的优势:灵活、想象、推导与学习能力。”

在论文的结尾,香农借用圣经的措辞留下了一段宛如预言的言论:“笔者不建议我们按照自己的形象设计计算机的策略,而是应当按照计算机的优势与劣势设计策略。计算机的强项是速度与精确,弱项是分析与识别。因此计算机应当比人类更依赖蛮力计算。但是鉴于每一步棋都会让局势变化增加三个数量级,一点点拣选能力将会极大地改进盲目试错的成果。”这篇论文是计算机象棋领域的奠基之作,将会得到领域内其他学者的反复引用。甚至文中提到的棋局数量下限也将会被称作“香农数”。但是事实将会证明他的某些假设错的离谱,而他的同代人们几乎没有预见到这一点。这篇论文衍生而来的计算机最终也将会以一场存在主义危机吞噬他所处时代的时代精神。

二:

1982年,在香农的论文发表33年后,有一位名叫许峰雄的学生从台湾来到美国宾州卡内基-梅隆大学修读博士学位。他只需要完成一篇论文就能拿到学位,不过他的选题过程遭到了校内某位教授的打断。这位汉斯.伯利纳教授(Hans Berliner)早在拿到终身教职之前就成为了象棋大师,赢得了通信象棋特级大师的头衔——所谓通信象棋指的是两位棋手以信函方式轮流告知对方自己的棋步,一局棋有时要持续一年多。他在1974年拿到了博士学位,论文题目是象棋计算机分析战术的方式。从那以后他就成为了象棋计算机领域最受尊敬且最著名的人物。1985年他主动联系了许峰雄,想要讨一份人情。多年来伯利纳一直在与手下研究生们一起研究一款名为“高科技”(HiTech),如今他想知道用来评估棋局的定制芯片组能否得到改进。伯利纳明确告诉许峰雄,参加这项研究的唯一回报就是他的“好感度”。尽管如此,这个问题依然充分引起了许峰雄的兴趣,于是他接受了伯利纳的邀请。

当时的计算机象棋领域正在争执不休。尽管香农当年主张B型计算机更有前途,因为可以剔除较弱的选择,仅仅关注当下最有吸引力的路径,但是随着计算机算力呈指数增长,A型计算机显然取得了更好的结果。因此多年来“强大但愚蠢”的A型计算方式一直主导了研究领域。但是当时这种方法似乎已经达到了极限。伯利纳主张当前应当重新拾起“弱小但机智”的B型计算方式。尽管许峰雄并未专门研究过象棋计算机,但是他怀疑当代技术还能进一步提升现有计算机的效率。因此他开始提出各种假设性的设计。“高科技”的评估硬件用的是64块独立芯片,每一块芯片对应棋盘上的一格。芯片协同运作,共同确定某一局面的优劣以及两位棋手各自的机会。许峰雄却认为这款设计效率太低。因此他开始着手开发自己的设计理论。他相信,只要有了恰当的订制设计,他就可以仅用一块芯片整合64块芯片的评估过程。基础概念考察表明这一点完全有可能实现,而且一台计算机还可以安装许多块此类芯片,从而获得更强的计算力。于是许峰雄自信地给伯利纳发去电邮,表示自己失去了帮助他改进64芯片设计的兴趣,而是想探索自己的单一芯片设计。但是尽管许峰雄再三坚持,伯利纳却并不信服,并且表示自己的兴趣依然仅限于原本的64芯片评价函数。许峰雄不想继续迎合伯利纳的痴迷,于是离开了项目。他回到台湾,转而研究起了用来打印汉字的打印服务器。他觉得假如自己能在电子打印技术的发展初期设计出这样一款产品,肯定能赚大钱。但是单一芯片棋局评估设计依然在他心里挥之不去。他越是思考就越觉得自己可以创造一台碾压其他竞品的象棋计算机。

后来许峰雄回顾道:“我掌握着建造象棋机器之母的基础蓝图,这台机器可以击败象棋世界冠军。换言之,我有机会追求计算机科学领域最古老的圣杯,兴许还能创造历史。反过来说,打印服务器看上去也很有搞头,而且机不可失失不再来。打印服务器很可能让我实现经济独立,而解决计算机象棋问题却基本不可能带来足以补偿所需时间与精力支出的金钱回报。如果我决心攻克计算机象棋问题,所能得到的回报无非是解决这一问题的荣誉。我或许不会因为投身这个问题而陷入赤贫,但是必定要做出重大的个人牺牲。机会成本将会非常高。我或许会将一大部分人生最富生产力的年月耗费在一个回报非常微薄的项目上面。这个决定非常艰难。思来想去之后,我决定追求荣誉。毕竟名垂史册的机会不是每天都有。”

返回卡内基-梅隆大学之后,许峰雄开始设计他的象棋芯片。他意识到自己必须速战速决,唯此才能免于触怒校方,尤其考虑到某种意义上他创建的项目正在与校内最受尊敬的教授之一相互竞争。他估计自己在教授们考虑是否将他开除之前有六个月时间。他花了几个月时间将自己的设计装入标准芯片,同时还要与反复交出残次品的制造商来回扯皮。最终他终于有了一套可以拿来测试的芯片。他说服同事托马斯.安纳萨拉曼(Thomas Anantharaman)将他的订制象棋程序导入了芯片,然后两人发现这套系统每秒钟能评估3万种局势。后来许峰雄将自己的成绩与同行比较了一下:“1986年最快的象棋程序分别是‘贝尔’(Belle)、‘高科技’以及‘克雷超快棋’(Cray Blitz)。贝尔与高科技都是专门的象棋机器,尺寸不亚于办公冰箱,克雷超快棋是一款象棋程序,要在身价几百万美元的克雷超算上面运行。当时的顶级程序每秒钟可以搜索10万种局势。托马斯虽然仅仅实现了每秒搜索3万种局势,但是他用的也只是一台大众款工作站与一块象棋芯片互动卡,后者的尺寸相当于一本平装书——尽管象棋评估能力还十分脑残。”

但是他的计算机还需要面对最后的挑战:它必须与人类交手。于是许峰雄联系上了校内的一位本科生莫里.坎贝尔(Murray Campbell),坎贝尔是一名颇有成就的棋手,曾经帮助过伯利纳的高科技团队。此时他已经积累了丰富的人机对战经验。计算机的棋风确实十分独特。尽管不同计算机的能力差异很大,但是绝大多数计算机都具有几项相通的特质。蛮力分析法赋予了它们强大的战术能力,但是进程缓慢、侧重战略、缺乏明显目标的局势却往往令它们难以应付。不过象棋计算机的最大弱点还要算是子力主义。计算机与人类都惯于使用记点体系来确定决策优劣,体系的基础则是不同棋子的相对价值——兵为1点,象与马3点,车5点,后9点,至于王通常不计点,因为王的重要性压倒一切。象棋程序利用这套系统来协助计算机决定怎样的局势与棋步最有利,并且赋予王一个高得武断的点数值来强调必须确保王的安全。这些确定数字能让计算机相对简单地加以理解,但是棋局当中的棋子的实际价值则要微妙得多,致使计算机难以领会。尽管程序员试图增加某些棋型的权重,计算机依然会为了追杀达到底线的敌方兵而破坏己方阵型,不顾己方的王遭到将军。

但是其他方法的结果甚至还赶不上点数体系。有这样一则轶事:某一款早期机器学习算法试图学习象棋,创造者向其输入了几十万份特级大师对弈棋谱,希望它能找到通向胜利的模式。当这款算法首次与人类对弈时,它摆出了相对正常的开局,然后立刻将己方的后推到了送死的位置上。程序员在事后复盘时才意识到这是怎么回事。一般来说特级大师往往会为了实现通向胜利的进攻局势而弃后,但是机器学习算法没能找到进攻与弃后之间的关系,只是单纯认为赢得棋局的最佳方式就是尽快弃后。尽管机器学习理念听上去很令人兴奋,但是弊病明显、一味注重子力但却拥有强大算力的象棋计算机在当时依然看上去更有前途。不过这一类计算机的棋路往往不出所料,以至于人类棋手开发了一套专门针对计算机的策略。这种反计算机象棋侧重于迫使棋局陷入计算机难以应付的僵持与精细算计,坎贝尔此前花了不少时间专门研究这一路战法。

许峰雄的新计算机与坎贝尔的对局没有记录下来,但是结果很明确:计算机赢了。这次胜利打消了许峰雄对于手头项目的一切疑虑。但是每秒3万次评估显然还远远没达到这款计算机的极限,许峰雄打算制作一款速度测试器来开发它的能力。但是尽管他非常兴奋,手中却没有预算。幸运的是,与他共用一个办公室的安德烈.诺瓦特斯克(Andreas Nowatzyk)给他指了一条明路。他建议采用一款特定类型的电路板,因为这款电路板在大学的废品堆里就能搞到。更有甚者,许峰雄的导师就在阁楼里存放了这款电路板。于是他们就将电路板顺了过来。正当许峰雄与托马斯忙着测试硬件调试程序的时候,他们收到了一封出乎意料的邮件,发件人竟是莫里.坎贝尔。上次输棋之后,他一直在琢磨许峰雄的计算机还能怎样改进。有了象棋专家助阵,这支小团队做出了一个大胆决定:为了配得上许峰雄的外号“疯鸟”,他们将要凭借这台尚未完工的计算机参加计算机象棋锦标赛,尽管此时距离比赛只剩下了五个星期。

自1970年以来,美国计算机协会就有举办象棋计算机比赛的传统,既是为了让程序员们衡量各自设计的相对优劣,也是为了让他们与其他同道中人建立人脉。因此就算程序员对自己的计算机并没有太高的期望,参加比赛往往依然很有价值。为了参赛,许峰雄需要给自己的计算机起个名字。由于这款计算机只是一个芯片测试平台,他干脆把它命名为“芯片测试”(Chip Test)。离比赛还有五个星期,许峰雄、 托马斯与坎贝尔疯狂地工作以完成芯片测试,甚至在出发前一天晚上还在进行调试。不出这个三人小团队所料,他们的程序果然暴露出了许多代码缺陷与问题,尤其是在涉及一种名为王车易位的特殊防御棋步的时候。如果棋手的王和车都还没有移动,那么王可以向车走两步,车则可以跳到王的另一边,从而将王安全地安置在棋盘的角落,同时将车移动到更活跃的位置。在某一局棋当中,芯片测试违反了王车易位的规则;在另一局棋当中,它在没有实际收益的情况下用己方的车兑掉了对方的兵。

不过不完整的芯片测试还是与众多强大的象棋计算机战得不相上下,取得了两胜两负一平的成绩。在接下来的两个月里,许峰雄对芯片测试尚未充分发挥实力的怀疑得到了确证。经过一番显著改造之后,它的搜索速度暴增十倍,从每秒3万种局势上升到了30万种,相当于超算的三倍。如此实力暴涨壮大了许峰雄团队的胆量,于是他们向卡内基梅隆大学内部的友好竞争对手伯利纳团队与高科技计算机发起了挑战。这盘棋同样也没有被记录下来,不过结果依然明白无误:芯片测试,这台尚未达到完全形态、问世不到一年、用废旧零件制作的机器击败了高科技,由计算机象棋专家制作的先进象棋计算机。赛后许峰雄谦虚地表示,高科技很可能仍然是更强大的计算机。但很明显的是。所有当事人都认为芯片测试还没有释放出它的全部潜力。鉴于这次令人难以置信的成功,芯片测试团队的下一步行动似乎是显而易见的:继续迭代设计,并开始认真地参加比赛。许峰雄相信,他本人、他的团队以及他这台小小的计算机能够蹂躏一切对手。

三:

在接下来的一年里,芯片测试团队继续改进着他们这台计算机的硬件和软件,许峰雄尤其对于所谓“单点扩展”(singular expansion)的理念非常感兴趣。所谓单点扩展,指的是让象棋计算机在面对特别有利的变化时进行比常规更深入的推算,换句话说就是将A型计算机与B型计算机融合起来,尽管这两种计算方式长久以来一直相互冲突。这些机器的强大力量让它们能够审视许多步之后才会带来回报的棋路变化,就像人类观察棋盘的方式一样,但要彻底得多。许峰雄决定芯片测试的第一次正式比赛将是1987年的计算机象棋锦标赛。第一次参加比赛时,芯片测试还不过是一台原型机,由芯片和废旧零件拼凑而成,运行的也是基本程序,但却依然超越了许多专门的象棋计算机。这一次他们有了整整一年的研发时间。鉴于坎贝尔与高科技项目的联系,一开始他们对于是否让坎贝尔参与进来还有顾虑。但是后来伯利纳表示高科技不会参加那一年的比赛,从而彻底打消了许峰雄的顾虑。尽管仍然没有预算,但是人马稀少的芯片测试团队还是把注意力放在了即将到来的比赛上。许峰雄继续研究可用于评估棋局的新式芯片,托马斯和坎贝尔则继续改进软件。这一次象棋锦标赛开始时,芯片测试团队准备得更充分了,尽管他们的一部分设计还没有准备好实施。仅仅通过升级工作站,芯片测试就将每秒可评估的局势数量从30万增加到了40万。尽管芯片测试依然还不完整,但当许峰雄团队来到达拉斯参加比赛时依然信心十足。

在芯片测试的参赛过程中,许峰雄也逐渐有了情绪外露的名声:当他的计算机表现良好时,他就会大呼小叫;当他的计算机表现不佳时,他则会绝望沮丧。有一次芯片测试的计算表明胜利已成定局,许峰雄乐得干脆从座位上跳了起来。比赛结束时,芯片测试取得了全胜战绩,击败了许多由业内专家精心研制多年的最强大机器。但这场胜利引发了一场全新的竞争:他们的成功招致了汉斯.伯利纳的强烈反感,尤其因为芯片测试团队从他的手下挖走了一位象棋专家。许峰雄后来这样猜测伯利纳的想法:“想象一下吧。你有一个终生的目标,一项崇高的使命。你已经为之努力了几十年,做出了许多个人牺牲。如今你在自己所选择的领域成为了广泛认可的权威,你在过去几年里取得了巨大的成功,你的目标似乎在眼前。现在再想象一下,一群学生不知从哪里冒了出来,他们并非来自你的领域,他们有不同的想法。你对他们没什么说服力,因为他们甚至不是你的学生。他们的方法与你所倡导的背道而驰。更糟的是,他们似乎正在迅速进步,这使得你更难以说服他们遵循你的愿景。此情此景之下,你会做什么?你能做什么?”

远远甩开其他象棋计算机之后,芯片测试团队又有了一个新目标:让他们的计算机成为世界上第一台赢得特级大师头衔的机器。当时程序员经常为他们的象棋计算机报名参加标准比赛,并像人类棋手一样获得评级,尽管计算机没有资格获得奖金。国际象棋组织使用一套名为ELO的评级系统,棋手在与其他人比赛时根据双方的相对评级获得或失去分数。就像人类一样,计算机也会被被赋予ELO评级,因此也有可能从世界象棋联合会赢得头衔。有了如此宏伟的目标,团队决定他们的计算机需要一个新名字。于是他们从道格拉斯.亚当斯的讽刺科幻名著《银河系漫游指南》中汲取灵感,将他们的新计算机称作“深思”——书中的同名超级计算机旨在计算生命、宇宙和万物的答案。这台新计算机将会充分体现许峰雄团队此前投入芯片测试的全部努力。许峰雄相信它足以抗衡特级大师。他很快就有了测试这一理论的机会。1988年初,卡内基-梅隆大学举办的弗莱德金象棋大师赛正式开赛,芯片测试和深思都参加了本次比赛。两台机器在参赛时都还没有获得ELO评级,于是举办方在汉斯.伯利纳的建议下为它们指定了2200分的临时评级——至于伯利纳的高科技则被评定为2376分并且也参加了比赛。

虽然这一点对于深思团队来说略微有点侮辱,但是像这样低估深思的实力倒未必是坏事。参赛的人类大师遇到复杂局面时,一想到到深思2200分的软弱评级,往往倾向于采用更加冒险的策略,试图在平局局势下强行取胜,不过每次深思都会惩罚他们的傲慢。深思的一位对手罗斯.斯普罗格(Ross Sprague)在赛后挖苦道:“这2200分还有两下子。”这项谁也没料到的优势帮助深思最终在这场共有三十名参赛者的比赛当中赢得了并列第二的成绩,芯片测试获得了第五名。

这次与人类的首度对决预示着深思的统治即将到来。接下来几年,深思团队继续改进他们的计算机,但是每当参加比赛时却经常受到漏洞的困扰,比赛前一天进行的未经测试的改动往往导致深思下出错棋。比方说深思的一部分代码识别不出吃过路兵的走法,这是一种特殊的吃子法,允许一个兵立刻吃掉对方的兵,条件是对方的兵在第一步选择前进两格,从而躲过己方兵。深思团队将会被迫在比赛间期重做这些改动。尽管如此,随着深思参加的比赛场次越来越多并且不断挑战高阶特级大师,这台机器还是获得了越发令人生畏的名气,并且最终成为了在计时赛当中击败特级大师的第一台计算机。

为了继续开发,团队又增加了两个人,现在共有五名成员。前三位核心成员仍在研究计算机。许峰雄负责设计硬件并管理项目,托马斯.安纳萨拉曼负责编写代码,莫里.坎贝尔是团队的象棋专家。尽管坎贝尔已经获得了博士学位并被要求放弃他在深思团队的工作,集中精力干好研究员,但他对深思项目始终充满热情并且继续在空闲时间协助团队工作。当初帮助芯片测试搞到电路板的安德烈.诺瓦特斯克也加入了团队,负责深思的评价函数。与他一并入伙的是迈克.布朗(Mike Brown),此人协助整理了深思的开局库。即使伯利纳最终也不得不承认自己在新人面前甘拜下风。1989年他在为《象棋报告》杂志供稿的一篇文章中写道:“自1988年5月以来,卡内基-梅隆大学的一个学生团队创造的深思计算机一直吸引着很多注意……深思是一台双处理器象棋机器,每个处理器每秒可计算45万盘局势,两者合力每秒可计算70万盘局势。这些数字使它成为了有史以来速度最快的象棋机器,比高科技快五倍。”他进一步称赞了深思团队的技术进步,尤其是他们在单点扩展方面取得的成就,认为这项技术是深思的杰出表现的主要原因,尽管这套说辞多少淡化了深思与其他象棋机器的显著差异。随着时间推移,深思继续在机器象棋界称王称霸。很明显,在近期未来不可能再出现其他挑战者与之抗衡。同样明显的是,人类特级大师很快就得将深思当做不可等闲视之的对手。 但是深思团队很久以前就看准了一个更加可望不可即的目标,也就是许峰雄所谓的“计算机科学领域最古老的圣杯”:许峰雄和他的队友们决心建造一台足以击败世界象棋冠军的计算机。

四:

随着深思计算机的能力不断增长,它的名号也逐渐传播开来,尽管未必总是准确。比方说有些新闻报道荒谬地将深思与军方扯在了一起,危言耸听地暗示深思以及其他类似程序将会被用来协调战场策略与战略。这种焦虑或许源自时人对于越发强大的计算机威胁到人类存续的恐惧,例如《终结者》与《战争游戏》之类的电影更是起到了火上浇油的效果——这两部影片的上映时间都在许峰雄投身于象棋计算机之前不久。这一领域以及深思的崛起集中体现了这种焦虑,同样充满焦虑的还有以下问题:假如计算机当真击败了全世界最优秀的人类棋手,那将究竟意味着什么。正当许峰雄忙着完成他的毕业论文时,关于这个人类棋手究竟是谁的问题十分清楚:加里.卡斯帕罗夫。卡斯帕罗夫出生于苏联时期的阿塞拜疆,从小参加了苏联象棋学校,早在少年时期就成为了特级大师,在青年时期多次出国参加国际比赛,22岁那年就成为了无可争辩的世界象棋冠军。自从1948年以来,苏联一直统治着国际棋坛的顶层,在这一年之后俄国人几乎包揽了每一任世界象棋冠军,唯有一次例外。如此赫赫声名自然让卡斯帕罗夫成为了活靶子。

另一方面,随着许峰雄继续改进深思计算机,许多计算机企业都在关注着他,这其中就包括国际商务机械集团——或者说IBM。这家俗称蓝色巨人的公司是当时全世界最大的计算机公司之一,曾经跻身于第一批营销计算技术并且为各个层级的计算需求生产设备的公司,公司在业内的制霸地位也使得他们的产品享誉全球。公司的高管与工程师们很清楚,许峰雄如果在取得博士学位之后还想继续他的项目,很可能将不得不寻求外部资金。于是早在许峰雄完成博士论文之前,急于笼络人才的IBM就找上了他。许峰雄仅仅提出了一项要求:他希望能有机会创造出一台终极象棋机器。完成毕业论文答辩之后仅仅过了一个月,许峰雄就将卡内基-梅隆大学与汉斯.伯利纳都抛在身后,加入了IBM。但是他的团队构成再也不能像过去一样了。就算他没有投向IBM,他的队友们也都有了各自的目标,要么接受了其他公司的邀约,要么将精力投向了自身的教育。最终只有莫里.坎贝尔一个人不惜牺牲身为大学研究员的身份,跟随许峰雄来到了IBM。

许峰雄加入IBM不出一个月,公司就安排他的新计算机与加里.卡斯帕罗夫打了个照面,时间是1989年10月22日,地点是纽约艺术学院。比赛规模不大,总共只有两场,双方轮流执白与执黑,每一方的时间都只有90分钟。第一局,卡斯帕罗夫执黑,深思执白。卡斯帕罗夫开局相当消极,遵守了反计算机象棋的基本原则,不给深思提供任何显而易见的目标,使其强大的计算力无处发挥。最终深思被逼到了棋盘一角,只有左支右绌的份,而卡斯帕罗夫则在翩翩起舞当中使出了最终的杀招。第二盘棋的进程则截然不同。此时卡斯帕罗夫很肯定自己的棋艺高于深思,因此采取了更加进取的攻击策略。而深思则在棋局早期接连行棋不准,进一步助长了卡斯帕罗夫的胆量。控制了棋盘中腹的卡斯帕罗夫连续发动威胁,深思只得手忙脚乱地保护己方棋子,以至于忽视了己方的马与象都困在后方,而王却暴露在腹地任人宰割。尽管观战众人都认为卡斯帕罗夫能胜过深思,许峰雄依然希望深思的表现能再好一点。不过这次失败仅仅令他进一步坚定了决心。另一方面,卡斯帕罗夫在取得压倒性胜利之后获得了媒体的交口赞誉,促使其他特级大师纷纷上门挑战深思,可是他们的战绩并没有这么好看——深思将会战平一位特级大师,击败其余两位。

不过投靠IBM也带来了一个出人意料的问题。随着公司将深思介绍给更广泛的公众,人们开始抱怨“深思”(Deep Thought)这个名字听上去太像“深喉”(Deep Throat),而且有不少人都曾误用过后一个名字。因此必须为这台计算机起个新名字。在私下里这台计算机依然会在一段时间内被称作深思,但是在公开场合,许峰雄团队创建的一切成果都将被冠以一个从此将会一直伴随他们的名字:深蓝。

打完了上述几场比赛之后,新近更名的深蓝团队撤回了办公室的更深处,静悄悄地改进着他们的计算机。卡斯帕罗夫也在继续修行精进,延续着自己对于棋坛的统治。尽管计算机正在威胁他的地位,但是卡斯帕罗夫却非常乐意拥抱新技术。当初他刚刚成为世界冠军之后不久就与一家名为象棋基地(ChessBase)的新公司达成了合作关系,后者为他提供了实时更新的顶级棋手对弈棋谱数据库,从而协助他备战。此前卡斯帕罗夫在对局之前总要花费几个星期搜罗对手的新近对弈记录,现在只需几个小时就能搞到此类情报。卡斯帕罗夫曾用一则轶事体现过现代化备战方式的绝对优越性。有一次比赛前夕,一位摄影记者找上了他:“摄影师想拍一张我与棋盘的合影用来搭配采访报道。有什么问题吗?唯一的问题在于我身边根本没带棋盘!我的赛前准备都是在一台康柏笔记本上完成的。那玩意勉强对得起‘便携’二字,重量至少也有十二磅。就算这样,携带这台电脑出门依然远比拖着我那一大堆笔记本与开局定式百科全书要轻便得多。这一优势还会随着技术进步不断累积,日后互联网将会在比赛刚刚结束之后就提供最近的对战棋谱下载,而不必等待杂志社在几星期乃至几个月之后才将它们刊载出来。”卡斯帕罗夫乐意接受新科技的态度让他在不那么适应新科技的老一辈大师面前拥有了显著优势。他甚至还在1993年参与了主打本人品牌的电子象棋游戏的制作,游戏名为《卡斯帕罗夫弃兵》,由艺电公司出品。他为这款游戏出镜配音,根据玩家的棋招优劣进行表扬或者劝诫(“我不太确定你现在的思路是否正确”)。

多年以来,卡斯帕罗夫赢得了象棋计算机粉碎者的美誉。不少公司都会花钱请他公开对战自家计算机。卡斯帕罗夫认为参与此类比赛不仅有助于他塑造个人形象,还能推进计算机科学的发展。因此只要钱给到位,他对于此类邀约总是来者不拒。见多了计算机对手之后,卡斯帕罗夫开始注意到这些程序的发展变化:“跟踪个人电脑程序从一个版本向下一个版本进化的有趣之处之一在于我总能看出程序的DNA——如果能这么说的话。新版本会加入新代码,采用新近研究的算法,为了适应新一代处理器而采取新的优化方式,但是——我想不到更好的说法——这个倒霉玩意的风格是改不了的。我开玩笑说程序员将他们的程序当成孩子,至少也当成宠物。但是毋庸置疑,他们的造物总会或多或少地传承他们本人的某些特质,而且这些特质还会从上一个版本流传到下一个版本,就像绿眼睛或者红头发那样。”

正当卡斯帕罗夫日益精进之际,新命名的深蓝团队也在努力工作。对于许峰雄来说,对于计算机的关注已经升级成了痴迷。他牺牲了自己所有的时间,几乎将清醒期间的每一个小时都投入了深蓝的建设。团队经常纳新也经常有人离开,但有三个人将会见证这个项目的完成。许峰雄与坎贝尔始终是团队核心,此外一位IBM员工阿瑟.约瑟夫.霍恩(A.Joseph Hoane)也加入了团队,他是个程序员,负责修改深蓝的代码。但他们并非闭门造车:IBM聘请了多位大师时而与深蓝切磋,以便团队调试程序并且发现弱点。这时许峰雄已经不再是团队的领队,每个成员都可以在各自领域内完全自主地建造他们负责的那部分深蓝组件。1994年下半年,深蓝团队进展顺利,于是IBM终于接触了卡斯帕罗夫,打算安排他与深蓝的第一次正式较量。

卡斯帕罗夫欣然应战,部分原因在于他当时正在到处寻求资金。在1985年获得无可争议的冠军头衔后,他开始与国际棋联发生争执,最终致使他创建了特级大师协会,旨在帮助特级大师在国际棋联发挥更大的影响力。接下来卡斯帕罗夫甚至还在1993年自行建立了与国际棋联分庭抗礼的竞争组织,将其命名为职业象棋协会或PCA。可是原定的金主英特尔公司放弃了对这个新组织的赞助,迫使卡斯帕罗夫不得不在新组织垮台之前赶紧找到新的赞助人,IBM随即开始与他洽谈。这段背景使得谈判氛围相当友好:卡斯帕罗夫同意参加这场比赛,奖金为50万美金。他原本主张赢家通吃,但是IBM说服他同意赢家与输家四比一分成,理由是IBM无论输赢都会将奖金投入进一步研究工作。双方约定的比赛时间是1996年2月。这一来许峰雄与队友们还有一年多一点的时间完善深蓝。

但是深蓝最刺眼的弱点直到1995年国际计算机象棋协会的冠军赛上才会暴露出来。当时世界上最强大最昂贵的计算机都参加了比赛。深蓝团队此时还在赶工完成深蓝的硬件与编码,因此派出了一台深思2号代替深蓝参赛。这台计算机虽说战绩不俗,但是却惜平了好几局本该获胜的棋局。这是因为深思2号不能识别重复局面。平局不仅限于双方棋手都无法按照规则走棋的情况,还有其他几种可能,其中最常见的是重复规则:如果同一套局势在棋盘上反复出现三次,那么这盘棋就会被宣布为和棋,因为两位棋手都不愿意推进棋局进展。尽管深蓝在计算能力上完全超越了深思2号,但是团队意识到必须要让他们的最终造物有能力识别重复平局。此外团队依然还在焦头烂额地解决吃过路兵问题。在许多情况下,此类额外规则都会使芯片无法通过最基本的测试。

1995年期间,团队并不确定他们能否在比赛之前及时完成深蓝。但当最后一批芯片在比赛前两周到达时,所有的芯片都运作正常。迫在眉睫的死线意味着团队已经没时间为了适应新硬件而进一步调试了。尽管如此,他们的机器仍然令其他一切象棋计算机望尘莫及。大约五十年前,克劳德.E.香农曾说过每秒搜索100万种局势是一个乐观数字;但是在进行任何优化之前深蓝就能够每秒搜索1亿种局势,这还只是其最大理论速度的三分之一。尽管深蓝依然需要得到重大改进才能发挥出真正实力,尽管深蓝团队很清楚他们根本没有准备好,但是已经没时间了。卡斯帕罗夫与IBM都不打算继续等下去,深蓝的对手此时不仅求战心切,而且信心十足。

通宝推:夜如何其,俺是老胡,
全看分页树展 · 主题
  • 相关回复 上下关系3
    • 🙂Fredrik Knudsen:深蓝本纪,上 O

      • 🙂 4 万年看客 字35567 2021-03-06 20:27:52

        • 🙂 5 万年看客 字32726 2021-03-06 20:28:16



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

Copyright © cchere 西西河