第九章
    国际象棋大战:计算机与人类的智能博弈

    和很多前辈一样,24 岁的埃德加·艾伦·波也为亚马逊土耳其机器人着迷,这是一台会下国际象棋的新奇机器,拿破仑·波拿巴和本杰明·富兰克林都曾是它的手下败将。1770 年这台机器在匈牙利问世,那时艾伦·波还未出生,美国也未建立。19 世纪 30 年代,这台机器来到美国海港城市巴尔的摩和弗吉尼亚州首府里士满巡回展览,而此前几十年这种机器就已经风靡欧洲了。艾伦·波推断这不过是一个精巧的骗局,齿轮和传送装置暴露了亚马逊土耳其机器人的秘密——一定有一位象棋高手坐在箱子里,操纵杠杆,移动棋子,每次“将军”时,方巾包裹的头就会向下点一下。

    艾伦·波被视为“侦探小说之父”,他的有些推理作品神秘而离奇。比方说,这次他的怀疑就是有据可依的。艾伦·波怀疑一个人(后来他断定此人便是德国国际象棋大师威廉·斯伦贝谢),在拆卸和组装机器时都有他的身影,但比赛一开始他就不见了踪影(啊哈!原来是威廉·斯伦贝谢在箱子里)。

    然而,在艾伦·波有关亚马逊土耳其机器人的文章中,真正有预见性的观点,应该是他抓住了这个机械人对我们今天所说的人工智能(这一术语直到 120 年之后才出现)的深层影响。计算机未来有望能模拟甚至改进人的高级功能,艾伦·波的文章对这一前景表达了非常深刻、非常现代的矛盾心理。

    艾伦·波承认,若真有一台机器能下国际象棋,那将十分引人注目。在他写那篇文章时,人们口中“与众不同”的第一台机械计算机——查尔斯·巴贝奇称为差分机的机器——都还未被构想出来。巴贝奇想过要制造计算机,但终其一生都未能完整地制造出来,而且,这台计算机除了完成加、减、乘、除的简单运算外,最多只能粗略估计一些基本函数的值,比如对数运算。艾伦·波认为巴贝奇的想法已经很吸引人了,但归根结底,这台机器能做的不过是输入可预测的信息,转动齿轮,然后再输出可预见到的结果。这毫无智慧可言,纯粹是机械计算而已。但是,若一台计算机会下国际象棋,就是一个奇迹,因为下棋需要智慧。

    第九章 国际象棋大战:计算机与人类的智能博弈 - 图1

    图 9–1 土耳其机器人

    艾伦·波说道,如果真的有这样一台下棋机器,从定义上看,这台机器肯定局局获胜,因为机器是不会犯计算错误的。但是,这个亚马逊土耳其机器人并非招招完美,艾伦将这一事实当作进一步证伪的证据:这不是一台机器,而是由人控制的器械,充满人性的缺点。

    尽管艾伦·波的逻辑也有缺陷,但时至今日人们仍对机器心存敬畏。在所有表现人类智慧的一流发明中,计算机最震撼人心。比尔·盖茨常被票选为“全美最令人敬佩的人”,而苹果和谷歌则当选“最受欢迎的公司”。我们总是期待计算机既省力又完美,甚至能够克服人类的缺点。

    另外,人们相信电脑程序的计算结果百分之百的准确,甚至是有预见性的。2012 年,两个英国青少年被指控行骗,他们向股票投资者推广选股机器人“MARL”,称它能“进行每秒 1 986 832 次的数学计算”,同时可以避免“人类的直觉判断”,投资者只要购买了 MARL 推荐的低价股票,每过 1 个小时投资就能翻倍。最终两个少年成功骗取了 100 多万美元。

    即使计算机预测没有使人们更容易被骗,大家对它仍心怀敬畏。比如,一些计算机能预测医院病人康复的概率。在新闻报道中,这些计算机常被表述成现实版的人工智能哈儿 9 000(电影《2001:太空漫游》中的计算机)。在电影中,哈儿 9 000 认为自己对宇航员不再有什么用处了,于是便试图遏制他们的活动。

    进入大数据时代,信息爆炸,人们处理信息的能力迅速提高。在这样的时代,我们对待计算机及其可能为人类做出的贡献也许应该抱有更加健康的心态。技术作为节省劳动力的手段,确实可以惠及人类,但我们不该期待机器能代替我们进行思考。

    国际象棋的人机大战

    1912 年,西班牙工程师莱昂纳多·托雷斯·克维多制造了另一个版本的土耳其机器人,将其命名为“棋手”。尽管常有人将棋手这个机器人视为第一款国际象棋计算机游戏,但是它的功能非常有限,只能处理剩下 3 个棋子的残局,决定这 3 个棋子的走步。“棋手”也没有像亚马逊土耳其机器人那样的标志性头饰。)

    现代国际象棋计算机之父是来自麻省理工学院的数学家克劳德·香农,他也是信息论的创立者。1950 年,香农发表了一篇题为“设计程序让计算机下棋”的论文。香农发现了一些电脑程序方面的运算法则和技术,至今仍是国际象棋计算机游戏程序的核心。香农还明白了为什么国际象棋会成为检测机器处理信息能力的对象。

    香农发现,国际象棋的目标出奇地清晰、明了,就是把对方的王“将死”。另外,国际象棋的比赛规则也相对简单,比赛中没有运气成分和随机因素。然而,只要下过国际象棋的人(我本人也只是略知一二)都会发现,国际象棋目标简单、规则简单,但想赢得比赛却并不是那么容易的。在一局棋中要走上 24 步都需要高度集中精神,更不要说赢得比赛了。香农将国际象棋视为计算机界的“试金石”,直接用它来检验计算机的计算能力及其可能拥有的其他能力。

    但是香农与其后继者不同,他并没有对计算机持有过于理想化的浪漫观点,香农并不认为计算机能像人类一样布阵下棋。同时,香农觉得计算机下棋赢了人类并非必然。相反,他认为计算机有以下 4 个优点:

    1. 计算速度快。
    2. 不会犯错,除非编程时就编入错误。
    3. 不会偷懒,在分析招数、分析可能位置时不会半途而废。
    4. 不带感情色彩,不会赢了一步就过度自信以致失去胜势,或是遇到困局就沮丧,劣势其实是可以逆转的。

    香农认为,计算机的这些优点可以与人类具备的 4 大优势相抗衡:

    1. 思维灵活,解决问题知道变通,不会按部就班。
    2. 拥有想象力。
    3. 懂推理。
    4. 会学习。

    香农认为,人机竞赛是公平的。但是在 20 世纪 90 年代,这种情况只是少数,且稍纵即逝,例如,俄罗斯国际象棋大师加里·卡斯帕罗夫是历史上最厉害的棋手,他曾对阵 IBM 公司的计算机“深蓝”,深蓝是史上最先进的计算机之一。

    在这场比赛开始之前,人类一直保持着人机竞赛的不败纪录,甚至连平局的情况都没出现过。但是,从那场比赛之后,计算机却超越了人类,而且,在我们的有生之年会一直领先下去。

    国际象棋比赛预测和启发法

    根据贝叶斯定理,预测基本上属于信息处理活动——用新数据检测关于客观世界的假设,目的是为了更加真实、准确地理解世界。

    国际象棋也许可以被视为一种与预测相类似的活动,国际象棋的棋手也必须处理信息——32 个棋子的位置和所有可能的走法,并利用这些信息制定出“将军”的策略。这些策略本质上就是假设——如何赢得棋局的假设。谁的假设更好,谁就能赢得比赛。

    国际象棋是确定性的游戏,没有运气的成分。正如本书前文中所写,从理论上讲,天气系统也是如此。可是,我们对这两大系统的了解远远不够。尽管已经十分熟悉支配天气系统的规则,但对构成云系、暴雨和飓风的每一个分子的位置,我们并没有完整的信息。因此,我们只能进行概率性预测。

    在国际象棋中,因为棋子的数量有限,且位置显而易见,因此全部游戏规则和完整信息尽在我们的掌握之中。但是,国际象棋对技术的要求很高。这一运动项目证明人类处理信息的能力是有限的——可能也在告诉我们,尽管存在这些局限,我们还是可以制定出最佳决策。人类需要预测,未必是由于世界本身的不确定性,而是因为全面了解世界已经超出人类的能力范围。

    于是,无论是电脑程序还是人类国际象棋大师都要依靠简化手段来预测比赛结果。这些简化手段可被视为“模型”,而在研究电脑程序设计和人类决策过程时,人们更愿意使用“启发法”这一术语。这个词源自希腊语中一个同根词,由此派生出另一个词 eureka(意为“我发现了”)。当一个问题的确定性解决方案超出了我们的实际能力时,我们就会采取依据经验法则的启发法解决问题。

    启发法尽管十分有用,但必然会产生偏见和盲点。例如,“一旦碰见危险动物,立刻逃跑”。这是一条很有用的策略,可是,若你遇见的是北美洲灰熊,突然的移动就会惊吓到这个大家伙,它反而会跑过来追你。(相反,美国国家公园管理局提示游客,遇见灰熊时应尽可能地保持安静,必要时需躺下来装死。)在下棋时,人脑和电脑采用不同的启发法。人机对抗时,比赛的胜负就在于谁先发现对方的盲点。

    从 1986 年到 2005 年退休之前,加里·卡斯帕罗夫一直是国际象棋界的顶级大师。1988 年 1 月,加里·卡斯帕罗夫预测出至少得等到 2000 年才会出现能战胜人类象棋大师的计算机程序。在巴黎召开的一次会议上,加里·卡斯帕罗夫带着嘲弄的语气说道:“如果哪位大师对战计算机时遭遇困难,我很乐意充当军师。”然而,就在 1988 年年底,丹麦的国际象棋大师本特·拉森被一个名为“深思”的计算机程序打败,这个程序是一项由研究生设计的项目成果,它是由卡内基梅隆大学的几个学生设计的。

    然而,“深思”程序打败的不过是普通的人类国际象棋大师,而不是顶级大师卡斯帕罗夫,1989 年“深思”迎战卡斯帕罗夫时,输得一塌糊涂。卡斯帕罗夫向来尊敬计算技术在国际象棋中的作用,也一直向计算机学习以提高棋艺,但他对“深思”却少有赞誉,只是说希望有朝一日能出现一台需要他“用尽全力”才能战胜的计算机。

    由许峰雄和默里·坎贝尔领衔的“深思”设计团队最终受雇于 IBM,在那里他们将“深思”的系统优化升级为“深蓝”。1996 年,“深蓝”在费城对阵卡斯帕罗夫时只赢得了首局,卡斯帕罗夫宣称剩下的几局他赢得很轻松。次年,“深蓝”和卡斯帕罗夫纽约再战,意想不到的事情发生了。史上最出色、最令人敬畏的国际象棋大师加里·卡斯帕罗夫竟然被一台计算机打败了。

    开局阶段:独立思考能力更重要

    和其他事情一样,国际象棋比赛也包含着 3 个阶段:开局、中局和残局。但这项运动还有一点不同之处,那就是每个阶段所要考验的智力和情绪掌控技巧是不同的,这便使得国际象棋比赛如同精神界的铁人三项比赛一样,考验精神的速度、力量和耐力。

    国际象棋比赛的开局阶段,棋盘中部是空的,兵、车、象整齐列队,靠边站成两排,等待主人发号施令。而命令的可能性几乎是无限的。白子有 20 种开局方式,黑子也有 20 种接招方式,第一回合完整攻守算下来就有 4 000 种可能的对阵方式。第二回合结束后共有 71 852 种可能的对阵方式;第三回合结束后共有 9 132 484 种对阵方式。一局完整的国际象棋比赛中可能出现的选手对阵方式的总数极其庞大,估量起来都成问题,但是有些数学家将这个数字定为 10 的 1050。这简直就是一个天文数字:正如迭戈·拉斯金·古德曼所写,“国际象棋比赛对阵方式的可能性比宇宙中的原子数还多。”

    比赛开局时,所有棋子都在棋盘上,可能性是最不可限量的,此时计算机看似力量最为强大。正如 IBM 网站在(计算机对阵卡斯帕罗夫的)比赛前吹嘘的那样,“深蓝”每秒能计算出 2 亿个位置。该网站还恶毒地说:“顺便提一下,加里·卡斯帕罗夫的估算速度大概是每秒 3 个位置。”如此看来,卡斯帕罗夫哪里还有机会赢呢?

    实际上,长久以来国际象棋计算机在开局阶段的表现都相当差劲。尽管此时的可能性最为无限,但目标也同样最不明确。当一棵树上有 10 的 1050 根枝条时,每秒计算出 3 个位移和每秒算出 2 亿个位移一样,都是徒劳无功的,除非是有导向地利用这种计算能力。

    无论是电脑棋手还是人类棋手,都需要把一局比赛分解成若干个中期目标,例如,吃掉对方一个兵,或是将对方一军。在比赛中局,一旦棋子在攻守中受限,或是双方相互威胁,就会有很多策略目标浮现。那么,棋手需要作的就是想出策略来实现这些目标,并预测出哪一种方法对剩下的棋子最有利。然而,国际象棋比赛开局走法的目标要抽象得多。于是,计算机就要与这些抽象的开放式问题进行周旋,而人类却了解启发法,比如“占领棋盘中部”或是“让兵有序进攻”,并且能设计出许多有创意的手段来运用这些方法。

    另外,对棋手而言,开局的走法通常是常规走法,人类可以凭借数百年来的宝贵经验选择最佳走子方案。尽管从理论上讲,白棋有 20 种开局走法,但最佳的开局走法只有 4 种,竞争激烈的国际象棋比赛中约有 98%的比赛都以其中一种方法开局。

    人类棋手面临的问题是,计算机程序通过研究统计数据,能将上述知识系统化。国际象棋数据库包含了将近上万场比赛,并且和其他数据库一样,能为预测所用。IBM 的程序员所研究的事物包括,过去出现的每一种开局方式的使用频率,使用这些方式的棋手比赛时的表现到底有多强势,每一套开局走法最终带来的胜局、败局和平局数各为多少。计算机分析这些数据时采用的启发法,即使没有远远超越人类的直觉和经验,也很有可能平分秋色。IBM 网站曾评价“深蓝”计算机庞大的数据库:“卡斯帕罗夫不是在和计算机比赛,而是在和从前那些象棋大师的灵魂过招。”

    因此,在 1997 年对阵“深蓝”的 6 轮比赛中,卡斯帕罗夫第一轮的目标是要将“深蓝”引出数据库,让它无所适从。卡斯帕罗夫的开局走法相当常见,将他的马走到棋盘上 f3 格的位置。“深蓝”则派出棋子象威胁卡斯帕罗夫的棋子马——它必然会走这步棋,因为数据库显示,历史上此种情况下走象能使白棋的胜率从 56%降到 51%。

    然而,这些数据库依靠的假说,是认为卡斯帕罗夫接下来的反应会和数据库中所有的棋手一样——把棋子马撤回去。结果,卡斯帕罗夫并没有理会棋子马被吃的危险,他认为“深蓝”只是在虚张声势,于是,他派出一个兵开路,这样他自己的棋子象就能控制棋盘中心。

    卡斯帕罗夫的走法颇具战略意义,同时还实现了另一个目标。卡斯帕克斯已经走了 3 步,而“深蓝”只走了两步,此刻的对阵局面(见图 9–2)在“深蓝”程序背后上万场大师级比赛的数据库中仅仅出现过一次。

    尽管采用的都是十分普遍的走法,但由于这棵大树上的枝条太多,走了 10~15 步棋之后,数据库能发挥的作用就不大了。若是一场“拉锯战”,很可能双方最终得到的棋局是国际象棋史上从未出现的。但是,卡斯帕罗夫只走了 3 步就跳出了数据库。本书已经提到,数据样本不足时,纯粹的统计学方法对预测的帮助不大。

    第九章 国际象棋大战:计算机与人类的智能博弈 - 图2

    图 9–2 第一局比赛中卡斯帕罗夫走完第 3 步棋后的棋局

    “深蓝”需要的是独立思考能力。

    中局阶段:宽度与深度的两难选择

    在国际象棋比赛的中间阶段(简称为中局),计算机的优势可能就会逐渐凸显出来。此时,棋子可以自由移动到棋盘中部,每个回合可能的走法平均为 40 种,而不仅仅是开局时的 20 种。乍一看两者之间的差别不大,但随着可能性呈指数型递增,差别会迅速扩大。举例来说,假设你想提前计算出 3 个完整的回合(即,你和对手各走 3 步,总共 6 步)。开局时,需要计算的函数是 20 的 6 次方,即需要考虑到 6 400 万种可能性,这已是一个巨大的数字。而到中局时,则需要计算 40 的 6 次方,也就是有 41 亿种可能性。所有这些可能的局面,深蓝可以在 20 秒内计算出来,但是卡斯帕罗夫就算不吃不睡不洗澡,夜以继日地计算,也需要花上 43 年的时间才能算完。

    像卡斯帕罗夫这样的伟大棋手从不会自欺欺人地认为自己能够计算出所有的可能性。这正是大师级棋手和业余棋手的差别所在。荷兰心理学家阿德里安·德·格鲁特曾经针对国际象棋选手做过一项非常有名的研究,该研究发现,业余棋手下棋时总想找到完美的一招,寻求未果便会倍感沮丧,往往举棋不定,寸步难行。

    国际象棋大师们则不然,他们并不刻意追求完美招数,而是着眼于一个还不错的棋步——当然,如果某个特定位置有绝妙的一步棋可走,他们也不会放过——他们会花费更多精力考虑如何走好这步棋,而不是绞尽脑汁地列出所有的可能性。美国大师级棋手鲁本·法恩曾写道:若指望国际象棋选手能够提前算出 20 或 30 个回合的步数,无异于“天方夜谭”。

    这种情况并不是一句“完美是优秀的敌人”就能概括的。如果你想成为真正的国际象棋大师,则需超越这种简单的启发法。然而,若时间有限,且信息量超出了我们的处理能力范围,我们就无法做出完美的决策。但是,无论是在国际象棋比赛中还是其他涉及预测的活动中,承认这种不完美,也许反倒能让我们自由地做出最优选择。

    这么说并不意味着像卡斯帕罗夫这样的象棋大师就不需要作任何计算了。事实上,为实现一些短期目标,如吃掉对方一个子,卡斯帕罗夫至少需要提前计算出 3~5 步可能的精确走法,从而形成策略。而每一种走法,他还需要想出对手的反应——比赛时可能会出现的所有招数——考虑对手的招数是否会破坏自己的策略。另外,还需要考虑到对方是否设置了陷阱;一个原本强大的阵形,若稍不留神未能及时保住棋子王,很可能几步棋之后就会被“将军”。

    凭借记忆和经验,国际象棋选手懂得在哪一步上应当着力思考。有时,他们需要对这棵树上的很多枝条进行仔细研究,其实最终也就推出几步招数;其他时候,他们会关注某一根枝条,但会对某种走法进行深度推算。我们面对复杂问题时,总要在深度和广度之间做出权衡。例如,美国国防部和中央情报局就面临着这样的权衡,广撒网追踪更多的信号,以预测潜在的恐怖袭击;还是专注那些符合最邪恶分子特征的人,两者之间,他们必须作个选择。国际象棋选手中的精英比较擅长元认知,反思自己的思维方式,若无法实现平衡,他们就会进行自我修正。

    国际象棋计算机可以在某种程度上兼顾宽度和深度。这些机器使用启发法来修剪它们的搜索树,将处理能力更多地放在更有发展前景的枝条上,而不是对每一种可能性都进行同等程度的计算。但其实,它们比人类计算速度快得多,所以不需要像人类那样做出太多妥协和让步,就可以对所有可能性稍作衡量,然后再对那些看似最重要的可能性作更详细的衡量。

    但是,国际象棋计算机程序通常没有大局观,也不会作战略性思考。它们非常擅长对战术进行估算以实现某个近期目标,但却不善于判断哪个目标在整个比赛方案中是最重要的。

    卡斯帕罗夫试图引诱“深蓝”进行无战略意义的盲目追捕,以找到其启发法的盲点。国际象棋计算机程序通常倾向于短期目标,这些目标可被分解和量化,并且不必把整盘棋当作一个有机整体来评估。有关计算机的偏好,有个经典的例子——它乐意接受牺牲;当一个强手愿意以一个更有用的棋子来换一个用处不大的棋子时,它会欣然接受。

    “当对手以牺牲更强大的棋子作交换时,接受这笔交易”,这个启发法通常是很奏效的。但当你对阵的是卡斯帕罗夫这样的对手时,这个策略未必会奏效,卡斯帕罗夫愿意作为交易中看似较弱的一方;卡斯帕罗夫明白战略得利比战术损失更重要。卡斯帕罗夫在第一局比赛用 30 步棋给“深蓝”设了一个局:他为保住棋子象牺牲了车这个棋子。看到“深蓝”中招,卡斯帕罗夫很高兴。当时的局面如图 9–3A,显示了计算机因缺乏战略性思考而造成的盲点。

    从图 9–3A 中,可以看出卡斯帕罗夫和“深蓝”对简化棋局各有其道。计算机把复杂的问题分割成许多离散元素。比如,对“深蓝”来说,目前的棋局更像图 9–3B 所呈现的那样,每颗棋子代表不同的分值。若将各个棋子的分值相加,“深蓝”会以一个兵的优势战胜卡斯帕罗夫,这个棋局意味着在大多数情况下,“深蓝”会获胜或者打成平局。

    相比较而言,人类更能够专注于最重要的元素,能从战略大局出发考虑问题,而战略整体功能有时会大于各部分之和。对卡斯帕罗夫来说,目前的棋局就像图 9–3C 显示的那样,确实是有利于自己的局面。卡斯帕罗夫看到他有 3 个兵在向“深蓝”的棋子王进逼,而且这时棋子王的防御较弱。“深蓝”的棋子王要么让出一条路来——在这种情况下,卡斯帕罗夫的兵可以长驱直入“深蓝”的王宫,升变为棋子后——要么就等着被“将军”。与此同时,虽然现在卡斯帕罗夫的棋子后和棋子象在棋盘的左下角,但是却能成对角线活动,几乎不受阻碍,给兵临城下的“深蓝”的棋子王施加压力。卡斯帕罗夫尚不确定“深蓝”的棋子王会被怎样吃掉,但是他知道目前自己已胜算在握。显然,“深蓝”也明白目前的处境,在 13 个回合后便投降了。

    第九章 国际象棋大战:计算机与人类的智能博弈 - 图3

    图 9–3A 第一局比赛卡斯帕罗夫第 32 步棋后的棋局

    第九章 国际象棋大战:计算机与人类的智能博弈 - 图4

    图 9–3B 棋局的离散评价

    后来,卡斯帕罗夫说道:“这是计算机的典型弱点,我确信它对当时的局面很满意,对它而言这个局面的结局实在难以正确判断。”

    “人类比计算机更擅长计算”,这是次日《纽约时报》的头条新闻。这一天,《纽约时报》发表了至少 4 篇关于这场比赛的报道。

    第九章 国际象棋大战:计算机与人类的智能博弈 - 图5

    图 9–3C 棋局的整体评估

    但是,比赛并没有最终结束。当时很多评论家并不太在意这场比赛,但它也许已经改写了国际象棋史。

    残局阶段:计算机能力方面的较量

    国际象棋比赛的最后阶段——残局,棋盘上的棋子越来越少,更容易计算出获胜的方式。然而,这个阶段仍需要缜密思考,因为所走的几十步棋必须精确无误,才能艰难地获得最终的胜利。举一个极端的例子,图 9–4 所示的棋局表明,不管黑棋怎么走,白棋都会赢。要走出这样的位置需要白棋准确无误地连续走 262 步。

    人类棋手几乎不可能破解图 9–4 中的棋局。然而,人类有许多完成残局的实践,通常需要走 10 步、15 步、20 步,或者 25 步来完成。

    残局对于计算机来说,是好坏参半的事。此时,几乎不需要短期战术目标,除非它能迅速结束残局,否则就容易因小失大。然而,计算机不仅有开局的数据库,也有残局的数据库。剩 6 个或更少棋子的棋局,理论上都能被破解。而 7 个棋子的残局则会复杂很多——有的解法复杂到需要走 517 步——但是,计算机数据库里已经存储了怎样走会赢、会输或和局的步法。

    第九章 国际象棋大战:计算机与人类的智能博弈 - 图6

    图 9–3C 棋局的整体评估

    于是,这一阶段的比赛会出现某种类似黑洞的东西:当所有该和的局都和了,所有该赢的局都赢了,在“对策之树”(即所有策略的集合)的重力之外就不可避免地会出现一个点,这个点就类似于黑洞。国际象棋比赛中局的抽象目标被一些具体目标取代,比如,把自己后翼的兵派到这里你就赢了,引诱黑棋的棋子车移向其他地方就会和局。

    在对阵卡斯帕罗夫的第一场比赛中,“深蓝”的系统显示当时的输局已定,但它还想继续与卡斯帕罗夫对弈,因为即使是卡斯帕罗夫这样的大师,每走 75 步也会犯一次严重的错误。而仅这样一步错棋就可能触动“深蓝”的传感器,进而让它找到取得平局的招数。“深蓝”计算机的处境不佳,但绝不是毫无希望。

    “深蓝”非但没有退却,反而做出了一些非常奇怪的举动,至少在卡斯帕罗夫看来是这样的。在第 44 步棋的时候,“深蓝”把它的一个棋子车走到白方的第一行,而不是选择常规套路,将对方的军。计算机似乎是毫无目的地乱走棋。在四面楚歌的时候,看起来“深蓝”大势已去,还放卡斯帕罗夫的兵进入己方第二行,随时威胁己方的棋子后。更为奇怪的是,此后只走了一步棋,“深蓝”就认输了。

    卡斯帕罗夫好奇计算机到底是怎么想的,他看惯了“深蓝”犯战略性错误——比如,愿意用棋子象和棋子车作交换——在复杂的棋局中,“深蓝”根本不能深刻地认识到每步棋带来的影响。但是,在相对简单的棋局,计算机绝对不会犯战术错误。

    第九章 国际象棋大战:计算机与人类的智能博弈 - 图7

    图 9–5 深蓝使人困惑的一步棋

    当晚回到广场大酒店回顾比赛的时候,卡斯帕罗夫问他的朋友、一位来自德国的象棋记者兼计算机专家弗雷德里克·弗里德尔:“计算机怎么会以这种方式自杀呢?”有些解释看上去似乎很合理,却没有一条能让卡斯帕罗夫觉得很满意。也许“深蓝”的确是“自杀”了,因为它发现无论怎么布阵走棋,这局都赢不了,索性认输,让卡斯帕罗夫摸不透自己的棋路。卡斯帕罗夫推测,难道这是一种煞费苦心的布局?也许程序员故意让“深蓝”输一局,从而使傲慢的卡斯帕罗夫过于自信进而导致失败?

    卡斯帕罗夫的反应再自然不过了,他变得焦虑不安,开始研究起比赛数据来。在弗里德尔和计算机国际象棋弗里茨的帮助下,卡斯帕罗夫发现,对计算机“深蓝”而言,传统的走法——黑方的棋子车走到第六列后将白方一军——根本不是好棋,这步棋最终会给卡斯帕罗夫一次将军的机会,尽管仍需 20 多步棋才能实现这一目标。

    但这其中的深意是相当令人震惊的。按照弗里德尔的推断来看,唯一让计算机继续某种走法的原因就是它发现了另一种走法,这种走法会让卡斯帕罗夫走更多的棋步才能将“深蓝”一军,而原来的走法他只需要走 20 步就能“将军”。据弗里德尔回忆:

    计算机“深蓝”其实已经算出了比赛的结局,它只是选择了损失最小的走法。卡斯帕罗夫说:“这台计算机已经算出来我再走至少 20 步就要将军了。”他为自己对多数计算保持正确判断而倍感欣慰。

    人们曾经认为,让人类和计算机在象棋这种复杂比赛中提前算出 20 步棋是不可能的。卡斯帕罗夫称,他最引以为傲的时刻是 1999 年在荷兰参加的一场比赛,他提前算出了 15 步赢棋的步数。此前,人们普遍认为“深蓝”最多只能算出 6~8 步。而此刻,卡斯帕罗夫和弗里德尔不确定到底发生了什么事情,但是对那些漫不经心的观察家而言貌似很偶然、很莫名其妙的失误,对这两位来说则好像展现了伟大的智慧一般。

    卡斯帕罗夫可能再也无法战胜“深蓝”了。

    计算机战胜了人类

    在第二局比赛中,“深蓝”更加咄咄逼人,丝毫不让卡斯帕罗夫有喘息的机会。第 35 个回合是关键环节。当时双方势均力敌:各有一个棋子后、一个棋子象、两个棋子车和 7 个棋子兵。但“深蓝”操纵着白子,略占优势:下一步是它先走,而且它的棋子后有足够大的回旋余地。目前的局面(图 9–6)对卡斯帕罗夫并没有太大威胁,但他的劣势是:接下来的几步棋将打开局面,决定“深蓝”是否有机会赢棋或者转向平局。

    第九章 国际象棋大战:计算机与人类的智能博弈 - 图8

    图 9–6 第二局比赛第 36 步棋后“深蓝”的选择

    “深蓝”可以走的棋路很多,它可以让棋子后走到更具敌意的位置,这是比较有谋略的走法。或者可以以兵抵兵,打开左路棋局,这会使棋局更简洁开阔,是富有战略意义的走法。

    现场比赛的评论员一致认为“深蓝”会采取第一种走法,推进棋子后。这是比较明显的走法,也更符合“深蓝”的特征:计算机更喜欢计算复杂的走法。但是,经过反常的长时间“思考”后,“深蓝”选择了以兵抵兵。

    顷刻间,卡斯帕罗夫释然了,因为以兵换兵能缓解他当前的压力。但是,随着对棋局评估的深入,卡斯帕罗夫越来越不安,他把头埋进臂弯,并且咬手指关节部位——一位观众说看到卡斯帕罗夫在哭泣。为什么“深蓝”没有把棋子后推向前线?的确,“深蓝”的这步棋没有明显的劣势——卡斯帕罗夫甚至可以想象换作人类对手在这种情况下也会走这步棋,比如卡斯帕罗夫长期的对手阿纳托里·卡尔波夫就会这样做。但是,计算机这么做需要有较好的战术理由——卡斯帕罗夫找不出这个理由到底是什么。除非卡斯帕罗夫的推测是正确的——“深蓝”能够提前算出至少 20 步棋。

    卡斯帕罗夫和“深蓝”的对弈已经打了 8 个回合。对于观赛的记者和专家来说,胜负已见分晓,打防守的卡斯帕罗夫一开始就注定没有赢的机会,但他仍有机会打成平局。出乎观众意料的是,卡斯帕罗夫走了 45 步之后就认输了。卡斯帕罗夫知道计算机不会算错,若能提前算出 20 步的棋,计算机是不会犯错的。卡斯帕罗夫知道,“深蓝”即将赢得比赛,所以何不养精蓄锐迎战接下来的 4 局比赛呢?

    观众席上爆发出强烈的掌声:这局比赛比第一局精彩多了。如果观众没有像卡斯帕罗夫那样想到来自“深蓝”的“将军”是不可避免的,那他们对棋局的思考肯定没有卡斯帕罗夫想得深。观众对“深蓝”其实是真心佩服的:它能像人类选手一样下棋。女子国际象棋世界冠军苏珊·波尔加向《纽约时报》称赞“深蓝”:“棋下得太漂亮了!”而乔尔·本杰明是参与“深蓝”团队技术方面的国际象棋大师,他也赞美道:“计算机‘深蓝’走出了冠军的风格,就像卡尔波夫。这不是计算机游戏,而是一场真正的象棋比赛。”

    当晚,卡斯帕罗夫匆忙地离开公平中心大厦,没有接受媒体的采访,但他却将同辈大师们的评价铭记于心。或许“深蓝”就是“实实在在”的人,只是没有呈现为人形而已。或许“深蓝”就像两个世纪前的亚马逊土耳其机器人,有一位国际象棋大师偷偷摸摸地在幕后操控它的齿轮。又或许曾经和卡斯帕罗夫打过平手的国际象棋大师本杰明不仅帮助提高“深蓝”的棋艺,而且实际上还介入了比赛。

    国际象棋冠军们对模型有着敏锐的嗅觉,像偏执狂一样寻找各种模型。卡斯帕罗夫在第二天召开的新闻发布会上指责 IBM 公司具有欺骗行为。卡斯帕罗夫认为计算机游戏就如同“马拉多纳口中的上帝之手”。1986 年世界杯阿根廷对阵英格兰的那场比赛中,著名球员迭戈·马拉多纳手球得分。录像显示,马拉多纳不是用头而是违规用手将球送进球门。赛后,马拉多纳更是自称这个进球靠的“一半是马拉多纳的脑袋,一半是上帝之手”。同样的,卡斯帕罗夫认为是智囊团在帮助“深蓝”。

    当然,卡斯帕罗夫关于“深蓝”运转方式的两种推测是自相矛盾的,正如埃德加·艾伦·波关于亚马逊土耳其机器人的构想一样。“深蓝”下棋下得太好,简直不像一台计算机;又或许它智力超凡,人类根本无法望其项背。

    然而,第二局比赛的退出对于卡斯帕罗夫来说却是一个错误。第二天吃午餐时,卡斯帕罗夫最信赖的助手弗里德尔和尤里·多科扬对他说“深蓝”其实是险胜。弗里德尔和尤里·多科扬连夜在弗里茨程序上对该棋局进行分析,结果显示,按照某种走法,只要再走 7 个攻守回合就可以“将”“深蓝”的棋子王,最终就能打成平局。卡斯帕罗夫眼神空洞地望着第五大道,说:“说完了吗?这台计算机棋艺高超,我知道自己根本就没有赢的机会。”

    虽然现在的比赛结果是平局,但卡斯帕罗夫的信心发生了强烈的动摇。有生以来,卡斯帕罗夫还从未输过一场国际象棋比赛,可现在却面临困境。更糟的是,他犯下了国际象棋界最严重的错误,那就是放弃原本可以平局的比赛,这是一个令人尴尬且从未有过的错误。观赛的记者和象棋大师都不记得上一次世界冠军犯这种错误是什么情形了。

    卡斯帕罗夫步步紧逼的棋风帮助他赢得过世界冠军,但他认为这样的风格赢不了“深蓝”,遂决定采用非传统的方式,谨慎地诱骗“深蓝”,就像黑客套取程序漏洞一样。虽然卡斯帕罗夫第三局比赛的开局很不寻常,将“深蓝”诱骗出数据库,但这样的开局带来的最好结果就是平局。卡斯帕罗夫在第四局和第五局比赛中发挥得更加出色,似乎力道都用到了点儿上,但是仍对付不了“深蓝”强大的残局数据库,这两局比赛的结果都是平局。此时双方各胜一局,平三局,还剩一局决胜局。

    决胜局当天,卡斯帕罗夫在公平中心大厦现身时面容疲倦,孤独迷茫。弗里德尔后来回忆说,从未见卡斯帕罗夫如此消沉。卡斯帕罗夫这局执黑子,他选择以卡罗–卡恩防御方案开局。人们通常认为卡罗–卡恩防御方案胜算较低——历史上黑方以这种方案开局的胜率仅为 44.7%——尽管卡尔波夫这类熟知这一方案的棋手完全能够提高胜率。可是,卡斯帕罗夫并不熟悉这种开局方案,在以往的国际象棋锦标赛中他几乎没用过这种方案。走了几步棋后,卡斯帕罗夫变得很紧张,连常规的走法都要思考很长时间。在走第 7 步时,他犯了一个严重的错误,过早地折了一个棋子马。卡斯帕罗夫立即意识到自己的错误,重重地坐到椅子上,丝毫不掩饰内心的郁闷。仅仅走了 12 步后——此时开赛还不到 1 个小时——卡斯帕罗夫就弃赛了,随即离开了比赛现场。

    “深蓝”赢了。只是它赢后没有砰然作响以示庆祝,只是发出逐渐微弱的机器运行声。卡斯帕罗夫是不是因为选择了自己并不熟悉的开局方案而倍感疲惫呢?还是如国际象棋大师帕特里克·沃尔夫所言,卡斯帕罗夫是故意输掉比赛,让“深蓝”赢得名不正言不顺?卡罗–卡恩防御方案是卡斯帕罗夫的对手卡尔波夫常用的开局手法,卡斯帕罗夫选择它开局有什么特殊意义呢?

    但是,很快人们就对这些细微之处表现得没有那么关心了。人们只是关心是机器战胜了人类。就像计算机 HAL 9000 接管了飞船一样,人们无比兴奋。此时就像《爱将我们撕裂》这首歌第 13 秒的情形一样,合成音乐的声音盖过了吉他即兴演奏,摇滚乐不再那么流行。一个新的时代开始了。

    所有这一切已成定局。卡斯帕罗夫已经成为人类脆弱情感的受害者,一个微不足道的软件漏洞更让这种情况雪上加霜。

    国际象棋大师为何败给了“深蓝”计算机?

    “深蓝”诞生于 IBM 的托马斯·沃森研究中心——从威彻斯特县山麓看,这个研究中心就像一座美丽的月牙形复古建筑。该中心的大厅中放置了早期“计算机”的复制品,如查尔斯·巴贝奇设计的众多机器。这座建筑外表看上去有些锈迹斑斑,但是很多科学家把家安在这些办公室中,其中包括数学家伯努瓦·曼德勃罗,他也是诺贝尔经济学奖和物理学奖的获得者。

    2010 年春,我去托马斯·沃森研究中心拜访了默里·坎贝尔,这位加拿大人性情温和,像个大男孩。早在卡内基梅隆大学开始“深思”这个项目时,坎贝尔就是该项目的主要工程师之一(他现在是 IBM 统计建模部门的主管)。坎贝尔的办公室里有一张卡斯帕罗夫的大幅海报,海报中的卡斯帕罗夫怒视棋盘,标题是:

    且看计算机棋手如何马失前蹄?
    卡斯帕罗夫对弈“深蓝”
    1997 年 5 月 3 日~1997 年 5 月 11 日

    但最终失利的却是卡斯帕罗夫,而非计算机“深蓝”,尽管这个结果与坎贝尔及其团队的预想大相径庭,但它却实实在在地发生了。

    “深蓝”的设计初衷就是要打败卡斯帕罗夫,这个程序就是为打败卡斯帕罗夫而专门设计的。该团队试图预测卡斯帕罗夫最有可能采用的开局方式,并研究如何反攻。(卡斯帕罗夫使用以往在国际象棋锦标赛中很少使用的开局来避开他们的圈套。)在 1996 年与卡斯帕罗夫的对弈中,“深蓝”表现一般。另外,该程序在与思路相似的棋手博弈时,也出现了一些问题。因此,“深蓝”团队将该程序的处理能力提高了一倍,对其启发法作了进一步完善。坎贝尔知道计算机“深蓝”还需要对数据库进行更深入(且更具选择性)的搜索,才能与卡斯帕罗夫的深度战略性思维相抗衡。同时,研究人员还改进了“深蓝”对复杂棋局的适应能力,使其优势得到充分发挥。

    坎贝尔告诉我:“对计算机有利的棋局通常都是棋子很多的复杂棋局,这样就会有许多设定的走法可选。我们希望遇到战术比战略更重要的棋局。这样就可以花一些心思琢磨战术了。”

    如此说来,“深蓝”便是空前绝后的更“人性化”的象棋计算机了。虽然博弈论在象棋中的作用与它在信息不完整的游戏中(如纸牌)的作用程度不同,但在开局中可能却是一样的。一个稍微逊色的走子就会打乱对手的阵脚,使他数月时间的准备毁于一旦——如果对手知道如何应对的话,数月作无用功的人就是你了。但是,大多数计算机都想下出“完美的”象棋,而不是根据对手的状况调整比赛策略。“深蓝”却能像人类棋手一样比赛,并且会将局面扭转至坎贝尔眼中相对有利的局面。

    1997 年时,卡斯帕罗夫的棋艺实在太高超了,当时的确应当好好想想该如何设计程序,让“深蓝”赢得比赛。

    从理论上讲,对计算机可以下国际象棋这种情况进行编程并不难:如果让一个国际象棋程序无限期地进行搜索运算,那么全部 10 的 1050 种棋局都能得到解决方法。坎贝尔对我说:“有一个运算程序简单易懂,又能解决国际象棋中的问题,我也许半天就能写出这个程序,若给它足够的时间运转,便能够完成比赛。”可他又哀叹道:“可这样的计算,可能需要花费人类一生的时间来完成。”

    若想让计算机棋手打败世界冠军,通常要作无数次索然无味的反复试验。设计者需要思考,是否应该让程序多注意残局阶段,而在中局阶段应少耗费时间,以达到表现上的平衡?是否有更好的办法能让电脑在开局阶段就能评估出舍马换象的价值?另外,有的棋路的确暗含“将军”的机会或能变成一个陷阱,但最终却不能帮助棋手赢得比赛,对这种棋路,程序需花多长时间才能识别出其无用性并且对其忽略?

    通过调整这些参数并观察调整后的变化,坎贝尔对“深蓝”进行过多次试验。但有时“深蓝”还是会犯错,会出现一些奇怪的、出人意料的走法。在这种情况下,坎贝尔只得询问老程序员:新出现的走法究竟是程序的特征——是一个预示着其技巧正在提升的顿悟时刻,还是程序中的漏洞?

    我一般会说这是程序中的漏洞。在更宽泛的预测环境中,当一个模型产生了一个意料之外或难以解释的结果时,通常是由漏洞造成的。把噪声误认作信号的情况太普遍,也太容易了。漏洞甚至能让最出色的预测者前功尽弃。

    在本书上一章中为你介绍过那位身家百万美元的篮球赌客鲍勃·乌尔加利斯。有一年,乌尔加利斯决定要在棒球比赛中一试身手。他设计的模拟器建议把赌注压在费城费城人队,但这次乌尔加利斯赌输了。结果证明是因为模拟器 1 000 个行代码中有一个字母输入错误了:费城人队的主场球场市民银行球场是一个有助于防守和本垒打的小型球场,其编码为 P–H–I,但乌尔加利斯的助手却错误地把编码输成 P–H–1。仅一个错误的行代码就足以“淹没”程序中所有的信号,害得乌尔加利斯将赌金压在了“噪声”上。这次失败让乌尔加利斯沮丧万分,从此彻底停用了这个棒球程序。

    对坎贝尔而言,他们设计的“深蓝”程序在国际象棋方面早就比设计人员厉害百倍,这是坎贝尔面临的挑战,因为很有可能“深蓝”走了一步他们都没走过的棋,但他们却未必知道这是由于漏洞造成的。

    “刚开始调试‘深蓝’时,每次它走了一步不常见的棋,我都会说,‘哦,一定出错了!’我们就会去探究,查看编码,最后弄明白问题所在。但随着时间的推移,我们越来越少这样做了。虽然当该程序继续出现奇怪棋局时,我们还是会去查看一下,但我们却发现它已经想出了一些人类很难搞懂的走法。”

    在国际象棋史上,最著名的几步棋也许要数国际象棋天才波比·费希尔在 1956 年所谓的“世纪大赛”中走的那几步了。当时只有 13 岁的费希尔在对阵国际象棋大师唐纳德·波恩盖尔时,出现了两次戏剧性的弃子——一次是费希尔白白地牺牲一个棋子马,几步棋后,他又故意地让自己的棋子后失去防护,而让棋子象前进一步。这两步棋都是正确的,几步之后,费希尔的策略就使波恩盖尔损兵折将,自己的优势则越来越明显。然而,不管是当时还是现在,都很少有国际象棋大师仔细地考虑费希尔的招数。一直以来,棋手们都对“除非是置换对方的棋子后,或是可以立刻将对方一军,否则绝不能放弃自己的棋子后”这样的启示法深信不疑,之所以这样做,是因为这些方法屡试不爽,几乎从没出现过失误。

    第九章 国际象棋大战:计算机与人类的智能博弈 - 图9

    第九章 国际象棋大战:计算机与人类的智能博弈 - 图10

    图 9–7 波比 · 费希尔著名的牺牲招数(1956 年)

    我把这个棋局输入我的笔记本电脑,通过费里茨程序运行,几秒钟之后,费里茨就识别出费希尔的招数。事实上,该程序认为这样的局面只有费希尔的招数方能奏效。在搜寻到所有可能的走法后,费里茨识别出这种情况下应该抛弃上面提到的那个启示法。

    我们或许不能说计算机找到了这些走法是因为它具有“创造性”,相反的,它只是通过其强大的计算速度找到了这些走法。但是,计算机确实另有优势:下棋时,即使在走法上遇到了大难题,计算机也可以识别出特定棋局里的绝妙招数。但对于人类棋手而言,要做到这一点就需要突破传统,变得富有创造力和自信心。人们赞叹费希尔小小年纪却棋艺高超,可也许正是因为年龄小,他才能创造出这个招数:他充分地发挥自己的想象力处理每一步棋。人类的思维盲点通常是我们自己一手造成的,并且会与日俱增。计算机也有盲点,但它至少能够考虑到所有可能出现的招数,进而避免这些空想问题。

    然而,“深蓝”的程序中还存在一些漏洞:数量不多,但肯定会有几个漏洞。采访接近尾声时,坎贝尔戏谑地提及 1997 年计算机“深蓝”和卡斯帕罗夫的对决,在第一场比赛快结束时发生了一个意外。

    “‘深蓝’在比赛过程中出现了一个漏洞,这个漏洞很可能使卡斯帕罗夫对其能力做出错误判断,因为卡斯帕罗夫没想到这步棋是因为漏洞造成的。”

    这个漏洞是在第一场比赛走到第 44 步棋时出现的,由于无法决定该走哪步棋,“深蓝”系统默认使出最后一招自动防故障装置措施,完全是随意走了一步棋。这个漏洞无足轻重,因为它是在比赛接近尾声时才出现的,而此时胜负已定。次日,坎贝尔及其团队修补了这个漏洞。坎贝尔告诉我:“1997 年年初,我们曾遇到同样的问题,当时认为漏洞已经修补好了,不幸的是,我们还是漏掉了一个漏洞。”

    事实上,漏洞对计算机“深蓝”来说代表很多东西,唯独不代表灾难,因为漏洞似乎可以使计算机击败卡斯帕罗夫。卡斯帕罗夫迎战“深蓝”的比赛一直为人们所津津乐道,在第二场比赛中,卡斯帕罗夫出了一些状况,他犯了一个从未犯过的错误,输掉了原本可以打成平局的比赛。究竟是什么让国际象棋大师犯了这个错误?是由于“深蓝”第一局比赛中的第 44 步棋吗?当时“深蓝”似乎是极为随意地走了一个棋子车,这步棋让卡斯帕罗夫感到紧张,他觉得这有悖直觉的一步棋必是一步高招,而他绝没有想到这不过是一个程序漏洞。

    因为太依赖 21 世纪的新兴科技,我们对机器在生活中的价值仍留有艾伦·波式的盲点。但计算机让卡斯帕罗夫出错,却是由于一个设计缺陷。

    计算机擅长做什么?

    计算机的计算速度非常快。而且,它可以非常踏实忠心地计算——不知疲倦、不带情绪、不会中途改变分析方式。

    但这并不意味着电脑做出的预测就一定很完美或者很准确。首字母缩略词“GIGO”(意为无用输入,无用输出)很好地概括了这一个问题。若给计算机输入错误的数据,或提供一套愚蠢的指令供其分析,它不可能“变废为宝”。此外,计算机也不善于完成需要创造性和想象力的任务,比如为这个世界的运转方式设计策略或提出理论。

    因此,在气象预报和国际象棋等系统中,计算机对预测人员的作用最大,因为这些系统遵循的法则相对简单且容易理解,但是,为了做出准确的预测,还是必须反复计算支配系统的方程式。而在经济预测和地震预测方面,计算机的用处不大,因为我们对造成这些问题的根源所知甚少,而且这些领域的数据“噪声”又比较大。但 20 世纪七八十年代,这些领域对计算机主导的预测寄予厚望,当时的学者和科学家接触计算机的机会逐渐增多,但是此后并没有取得多大进步。

    很多领域的情况介于这两种极端情况之间。数据通常还不错,但是仍不够好,对产生这些数据的系统和过程,我们都有所了解,但了解得还不够充分。在此类案例中,要想改进预测,也许能够借用“深蓝”的程序员们处理数据的方法:试错法。这也是许多公司经营战略的核心所在,这些公司和当今这个大数据时代可谓休戚相关。

    用试错法提高计算机的预测能力

    2009 年年末,我到加利福尼亚州芒廷维尤的谷歌总部进行采访,在那里,你很难分清谷歌的员工什么时候是在严肃工作,什么时候是在嬉笑玩闹。谷歌公司以“红、黄、蓝”三原色为装饰主色调,配备排球场,还有可想象到的各种造型的两轮摩托车,这样的公司文化能激发员工的创造力。每一个谷歌人,甚至包括工程师或经济学家,都可以不落俗套、异想天开。

    “这类实验这里随时都有,”谷歌首席经济学家哈尔·瓦里安在和我会面时这么说道,“你更应该把这里看作一个有机体,一个有生命的组织。我曾经说过,某个物体被赋予生命后就应该得到我们的关注,就像《终结者》中的天网一样。但是,我们已经和加利福尼亚州政府达成协议。”那时,阿诺·施瓦辛格正担任州长。“他们会来帮助我们。”

    谷歌对其研究项目和其他产品进行了广泛测试。瓦里安说:“2008 年,我们对研究项目进行了 6 000 次实验,广告货币化的实验大约也有 6 000 次。所以,谷歌一年大约要进行 10 000 次实验。”

    其中有些实验是有形的——偶尔还能延伸出一条新的产品链。但大多数实验都较难被觉察:将公司的标志移动几个像素的位置,或是对广告牌上背景颜色的序列稍作改变,然后观察调整后的点击量的变化或是货币化的效果。其中许多实验会应用到约 0.5%的谷歌用户中,是否应用取决于这个构想的发展前景。

    当你利用谷歌搜索词条时,你可能没有意识到自己已经参与到谷歌的实验中。但从谷歌的角度看,事情则稍有不同。谷歌返回给你的搜索结果和首页中显示的排序,代表了谷歌对你认为最有用的搜索结果所作的预测。

    对有用性的衡量和预测貌似非常主观,那谷歌又是如何做到的呢?如果你搜索“最好的新墨西哥餐厅”这一词条,这是否说明你正计划到阿尔伯克基旅行呢?还是说明你在寻找最近刚开业的墨西哥餐馆?又或许你想要知道哪家墨西哥餐馆有怒希沃拉丁菜?也许你应该组织好搜索的问题,可你并没有这样做。于是谷歌会召集 1 000 个陪选团,他们都提出了相同的问题,谷歌会呈现给他们丰富多变的网页,让他们从零到 10 为每一个网页的有用性评级。然后,谷歌展示给你的网页就是按级别高地排列的结果。

    当然,谷歌不可能对每个搜索问题都进行这样的操作,因为每天公司会收到上亿条搜索。但是,瓦里安告诉我,当出现有代表性的搜索问题时,他们仍会使用人工评测。然后他们会对比哪个统计测量的结果(尤其是从相关性和有效性上来看)和人工判断的结果相关。谷歌针对网站的统计测量最著名的就是 PageRank 信号了,这个测量案例根据网站的外部链接和内部链接的数量来衡量网站的价值。但是,PageRank 信号不过是谷歌 200 个信号中的一个,谷歌利用这些信号一步步向人工评估结果靠拢。

    当然,这个任务并不轻松——要将 200 个信号应用到几乎存在无限可能的搜索问题中。这就解释了为什么谷歌如此强调实验和测试。你所知道的谷歌搜索这一产品质量已经很高了,但明天公司可能又会对其进行调整。

    谷歌公司之所以成功,是因为它将严密谨慎的测试和随心发挥的创新文化有机地结合起来。公司鼓励员工超越电脑,去做电脑做不了的事情:要想点子,各种各样的好点子。随后,谷歌会使用大量的数据测试这些点子。其中大多数点子很快会遭到淘汰,但最棒的点子会保留下来。

    计算机程序就是用这种筛选的方式下象棋,它能够探寻几乎所有可能的选择,并进行一定程度的研究,但它更加关注那些更有攻击潜力的招数。这一点十分符合贝叶斯定理:谷歌永远都处于运行的开端,不断修正其搜索运算程序,永远不会因为觉得这些程序已经完成而停止。

    谷歌基本上能够立刻获得全球百万名用户的反馈,但多数时候,我们无法像谷歌这样迅速获得反馈来检测一个构想。“深蓝”的工程师们可以方便使用超级计算机,但是我们却没有这个条件,所以进步速度就要慢得多。

    然而,我们要关注自己的预测在现实生活中的表现,而不是只满足于它在数据模型中的表现,简言之,就是立下自我检查的承诺,这也许是加快我们学习预测过程的最佳途径。

    克服人类的技术盲点

    在许多方面,我们自身已成为最大的技术障碍。人类缓慢稳固的进化进程已经远远落后于科技进步的步伐:人类进化以千年来算,然而技术的处理能力每隔一年几乎就翻一番。

    我们那些生活在山洞中的祖先可能已经发现了一个问题,即拥有强大甚至过盛的模式识别技能是极为有利的,这样就能够在一瞬间识别出远处树叶的瑟瑟声是风引起的还是一头入侵的灰熊制造的。如今,在这样一个快节奏的社会里,各种数字和统计数据泛滥成灾,原本的习惯和倾向反而让我们陷入麻烦:当我们看到一系列的随机数字时,竟能看出其中根本就不存在的模式。(广告人和政客们常常利用这种现代骗术来欺骗我们。)

    国际象棋则能引导我们走向美好结局。卡斯帕罗夫和“深蓝”的程序员将彼此视为敌手,但是他们都教会我们一点——预测时,计算机的处理速度和人类思维的精巧应该相互补充。

    事实上,目前世界上最精彩的象棋比赛既不是由某位人类棋手完成的,也不是某台机器完成的。2005 年,ChessBase.com 网站举办了一场“自由式”国际象棋锦标赛:选手可以随意地使用自己喜欢的计算机程序补充自己的见解,并通过互联网征求建议。尽管一些大师也参与了比赛,但是比赛的赢家既不是最厉害的人类棋手,也不是那些使用最先进电脑软件的选手,而是由来自新罕布什尔州的两名二十几岁的象棋业余爱好者——史蒂文·克兰普顿和扎克里·“柴克斯”·史蒂芬——共同获得,他们将 3 套计算机程序结合起来算出结果,共同决定棋路。克兰普顿和史蒂芬之所以获胜,是因为他们既不敬畏技术,也没有被它吓倒。他们了解每个程序的优缺点,他们更像一个教练,而不是选手。

    然而,看到“电脑认为洋基队将赢得世界大赛”这样的句子时,你应该保持警惕。但如果它是以下这句话的速记版本——“计算机程序输出的结果是洋基队将赢得世界大赛”——那它可能不会带来什么恶性后果。当今世界信息横流,能够拥有那些计算速度远超过我们的机器,肯定是大有裨益的。

    但是,如果你感觉预测者更倾向于这种看法——认为计算机是一个有知觉的个体,或是一个有自己思想的模型——这也许就表明这位预测者根本就没有进行什么思考。无论预测人员带有什么偏见和盲点,这些偏见和盲点肯定会被复制到他的计算机程序中。

    我们必须以客观的态度看待科技——它就是一个能改善人类生存环境的工具。我们既不应该对技术的祭坛顶礼膜拜,也不该被它吓唬住。至今还没有人设计出一台能与人类相媲美的计算机,或许永远也没有人能做到这一点。但计算机本身就是人类进步和智慧的反应:如果某个技巧是由人设计的,那它就算不得真正的“人工”智能。