深蓝背后:打造击败国际象棋世界冠军的计算机

2020-11-16 04:10:33

两位主教并肩向守卫这位城堡般的黑国王的棋子施加了远距离的压力。我的女王,准备走到棋盘中间,完成了威胁。布莱克将不得不通过推进棋子来削弱他的防守。还有更多的力量我可以发挥作用。我觉得有点令人沮丧的是,我的机械对手要么知道我要做什么,要么已经采取了标准的预防措施:有一位骑士挡住了我的去路,而我却无法接近它。我的计划--一心一意、血淋淋的、自杀式的--围绕着一个单一的正方形--H7,而他已经把它覆盖了。显然,中局全力以赴并不是解决问题的办法:会有反驳、反击、牺牲和交换,力量的平衡会改变。戏剧性的早期伙伴跟随着不可阻挡的组合将是赢得一盘棋的好方法,但我从来没有像这样赢过。事实上,我很少赢。我知道这些招数(尽管我必须提醒自己如何通过规则),我能遵循基本的开场白,我知道发展的原则--前进的主教和骑士,排好队伍。但除了我自己,我似乎不能打败任何人。我没有足够的耐心。我打得不够好。

我年轻的时候没有下过象棋。我过去常说我对军事游戏不感兴趣,但我撒谎了:我太有竞争力了,无法参加比赛。当我13岁的时候,我认识的每个人都在痴迷地玩,一直都在玩:太快了,跟不上,太快了,说不出话来。棋钟砰砰作响,棋子互换,旗帜飘落。有些人不会输,对我来说,从来不输似乎是一种比我在学校里用语言所能达到的任何东西更好、更有说服力的说法。没有借口,没有理由,没有自嘲:它不那么模棱两可,更有定论。我花了一段时间阅读有关国际象棋的书籍,以及关于火枪手的故事。我代为杀死了巨人;我喜欢传说。1858年,来自新奥尔良的男孩保罗·莫菲在巴黎歌剧院演出《塞维利亚理发师》时,在包厢里扮演一位伯爵和一位公爵,并选择将他的主要作品一一扔掉,最后得到了你能想象到的最优雅的伴侣。1918年,以本能著称的古巴神童卡巴布兰卡(Capablanca)在鲁伊·洛佩兹(Ruy Lopez)对阵弗兰克·马歇尔(Frank Marshall)的比赛中首发出场,面对的是一个新的、巧妙的、咄咄逼人的防守。事实证明,马歇尔十年来一直没有透露他的创新,等待着把它释放到他最想击败的球员身上。卡巴布兰卡看到了准备好的一系列攻击,并知道马歇尔一定分析了所有可以想到的反应;但他相信自己的立场是站得住脚的,并打赢了比赛,在猛烈的攻击中发现了表面上无法解决的问题的解决方案,这是做梦也想不到的。国际象棋的魅力在于完美、不可能、高超。国际象棋传奇的魅力在于不可能的傲慢和病态的衰落。鲍比·费舍尔(Bobby Fischer)应该说过,他会挑战上帝,让他拥有棋子的优势。我现在发现,同样的说法也可以归因于斯坦尼茨赤脚在纽约雪地上拖着脚步走过的那几天:要么是传奇故事比球员们持续得更久,要么是球员们觉得传奇故事太有吸引力,以至于不能不从对方那里偷来。英雄主义是虚张声势。

但国际象棋不仅仅是战争。对于一些抽象动作的美、牺牲之美、游戏之美、没落之美,我只感到遗憾。看着两位特级大师之间的比赛展开是令人费解的(为什么他要在没有受到威胁的情况下转移他的国王?)。但是很吸引人。一个玩家做出动作,就会有反应。选手们知道舞步。这里有协商:优势在微妙的变化中从一边传递到另一边。这其中涉及到科学。卡尔波夫和卡斯帕罗夫是20世纪80年代的贱民,他们无情地、创造性地相互依赖。卡斯帕罗夫的一本教科书对卡尔波夫不屑一顾:“阿纳托利·卡尔波夫(Anatoly Karpov)平淡无奇的统治几乎没有激发新一代国际象棋的想象力。”但在世锦赛结束后,他们会一起看着一块棋盘,研究可能的延续,找出他们如何才能打得更好。为了击败对方,他们需要互相憎恨,但他们更需要提高自己的棋局,并螺旋式上升,走向一种无言的、令人费解的完美国际象棋。(或者我们是这么想的:其他人都听不懂他们在说什么。)。

我曾经相信国际象棋是非人的。你认为你对手的想法和你自己的一样,你对他所有可能的举动都有反驳:如果他这样做,我就这样做;然后他这样做,我那样做;我就抓住他了。这是一场我无法通过的记忆和逻辑测试:有些东西滑倒了,我忘了我在哪里。为自己着想已经够难的了。在斯特凡·茨威格(Stefan Zweig)的《皇家游戏》(The Royal Game)中,B博士在审讯和监禁中幸存下来,他自学了一本著名游戏书中的国际象棋,既下黑棋,也下白棋;他用尽了书中和书中的游戏,这本书很受象棋爱好者的喜爱。

深蓝的首席建筑师徐凤雄写了一本书,讲述了他的成功故事,从他进入卡内基梅隆大学(Carnegie Mellon)读研究生开始,经历了所有的起起落落(同事被华尔街公司挖走,部门间的竞争,北京的停电),再到卡斯帕罗夫和IBM的对决。一个特别的低谷是《旁观者》的一篇文章,文章声称计算机国际象棋项目是由国防高级研究计划局赞助的幌子。美国国防部高级研究计划局(DARPA)的罗伯特·辛普森中校接受了多米尼克·劳森(Dominic Lawson)的采访(“Dominic”指的是徐--这是计算机极客的民主,他在索引中被归类为D);辛普森不想置身事外,他解释说,先进的国际象棋程序非常适合巡航导弹的超智能制导系统。

徐是制造芯片的人-硬件人,工程师。他说他觉得编程很无聊,但我无法想象这会比计算出芯片在停止工作前能容纳多少条小腿更无聊。他解释说,他的国际象棋筹码有两个主要部分:一个棋子生成器(简单的棋子),它提出可能的棋子;以及一个评估函数(硬棋子),它决定建议的棋子是否好。如果下了某一步就意味着电脑将成为下十步棋的棋子,那么这个决定就很容易了。计算谁的棋子更多并不难,非常基本的国际象棋计算机擅长这一点,但在其他方面并不擅长:它们会寻找逐渐的物质优势,攻击几个棋子,或者全力以赴诱捕一个脆弱的骑士。但这并不能让你与一个只需要一名骑士的玩家对抗太远。不知何故,计算机必须接近人类的能力才能确定头寸的价值:一个好的棋子结构,一个安全的国王,一个发达的棋子,一个戴着婚纱的主教。

说到这里,许志永的故事变得令人震惊:他的机器的智能原来是非常平淡无奇地诱导出来的。在他和他的团队被IBM抢购进行戏剧性演示之前,他的芯片的早期版本必须教授一些关于国际象棋的基本知识。深蓝的前身“深思II”在哥本哈根被本特·拉森(Bent Larsen)毁了。它用一位骑士交换了一位主教,把它留给了一对主教,但它不知道,要想把分歧转化为优势,它必须用几个棋子来打开这个职位,让主教们有行动的空间。拉森关闭了阵地,他的骑士们大肆破坏。这是一个很容易解决的问题:当两位主教都在工作时,一个空缺职位必须被赋予更高的价值。随着电脑的改进,人们越来越难猜测为什么它没有做出最好的动作。在1997年的比赛之前,深蓝的首席特级教练乔尔·本杰明(Joel Benjamin)宣布,他的学生正在做一些奇怪的、浪费时间的棋子动作。徐的团队给他写了一个程序,让他可以检查评估功能的运行情况。深蓝似乎只有在文件没有被棋子挡住的情况下,才能意识到在同一文件上放置一对乌鸦的价值,并适时(而且毫无意义地)为自己扫清了一条到达它喜欢的位置的途径。在此之后,这些小小的修正变得更具投机性。他们在黑暗中摇晃着旋钮。在第二场对阵卡斯帕罗夫的比赛中,深蓝输掉了第一场比赛,犯了设计师认为的另一个错误:Be4阻挡了前进的黑卒。解说室里传来令人印象深刻的喃喃自语;棋类栏目表示赞同。在随后的检查中,发现King安全评估功能存在漏洞。当它被修复后,电脑停止播放Be4。因此,他们在接下来的比赛中不再插手,希望能有更精彩的动作。

但第三场比赛是最具启发性的,也是我对科学的理解中最令人不安的。卡斯帕罗夫以完全非正统的d3开场,向电脑展示了一个它不可能有事先准备好的回应的开场白。像所有的棋手一样,深蓝知道它的开局;卡斯帕罗夫和他的顾问们决定让它苦苦挣扎。但许志永采取了预防措施,发明了他所说的“扩展开局手册”:当一个位置与已知开盘位置不符时,电脑会参考特级大师游戏数据库,判断一个非常强大的玩家可能下了什么棋,给已知的特级大师一个很大的偏向。在卡斯帕罗夫的第五步棋之后,这个位置是可以辨认的;深蓝扮演的是Be7,把它的主教移到了国王面前。评论员们不同意:这太谨慎了。显然,迈克尔·亚当斯(Michael Adams)曾经在类似的位置上做出过这一举动。深蓝队勉强打成平局。IBM的程序员们受到了磨练,在接下来的比赛中,他们采取了激进的措施,减少了对特级大师动作的偏见。