书城经济信号与噪声
5081500000035

第35章 贝叶斯定理:只有正确的预测才能让我们更接近真相(5)

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

国际象棋也许可以被视为一种与预测相类似的活动,国际象棋的棋手也必须处理信息——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步就跳出了数据库。本书已经提到,数据样本不足时,纯粹的统计学方法对预测的帮助不大。

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

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

在国际象棋比赛的中间阶段(简称为中局),计算机的优势可能就会逐渐凸显出来。此时,棋子可以自由移动到棋盘中部,每个回合可能的走法平均为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个回合后便投降了。

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

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