打字猴:1.704438608e+09
1704438608 启发法尽管十分有用,但必然会产生偏见和盲点。例如,“一旦碰见危险动物,立刻逃跑”。这是一条很有用的策略,可是,若你遇见的是北美洲灰熊,突然的移动就会惊吓到这个大家伙,它反而会跑过来追你。(相反,美国国家公园管理局提示游客,遇见灰熊时应尽可能地保持安静,必要时需躺下来装死。)在下棋时,人脑和电脑采用不同的启发法。人机对抗时,比赛的胜负就在于谁先发现对方的盲点。
1704438609
1704438610 从1986年到2005年退休之前,加里·卡斯帕罗夫一直是国际象棋界的顶级大师。1988年1月,加里·卡斯帕罗夫预测出至少得等到2000年才会出现能战胜人类象棋大师的计算机程序。在巴黎召开的一次会议上,加里·卡斯帕罗夫带着嘲弄的语气说道:“如果哪位大师对战计算机时遭遇困难,我很乐意充当军师。”然而,就在1988年年底,丹麦的国际象棋大师本特·拉森被一个名为“深思”的计算机程序打败,这个程序是一项由研究生设计的项目成果,它是由卡内基梅隆大学的几个学生设计的。
1704438611
1704438612 然而,“深思”程序打败的不过是普通的人类国际象棋大师,而不是顶级大师卡斯帕罗夫,1989年“深思”迎战卡斯帕罗夫时,输得一塌糊涂。卡斯帕罗夫向来尊敬计算技术在国际象棋中的作用,也一直向计算机学习以提高棋艺,但他对“深思”却少有赞誉,只是说希望有朝一日能出现一台需要他“用尽全力”才能战胜的计算机。
1704438613
1704438614 由许峰雄和默里·坎贝尔领衔的“深思”设计团队最终受雇于 IBM,在那里他们将“深思”的系统优化升级为“深蓝”。1996年,“深蓝”在费城对阵卡斯帕罗夫时只赢得了首局,卡斯帕罗夫宣称剩下的几局他赢得很轻松。次年,“深蓝”和卡斯帕罗夫纽约再战,意想不到的事情发生了。史上最出色、最令人敬畏的国际象棋大师加里·卡斯帕罗夫竟然被一台计算机打败了。
1704438615
1704438616 开局阶段:独立思考能力更重要
1704438617
1704438618 和其他事情一样,国际象棋比赛也包含着3个阶段:开局、中局和残局。但这项运动还有一点不同之处,那就是每个阶段所要考验的智力和情绪掌控技巧是不同的,这便使得国际象棋比赛如同精神界的铁人三项比赛一样,考验精神的速度、力量和耐力。
1704438619
1704438620 国际象棋比赛的开局阶段,棋盘中部是空的,兵、车、象整齐列队,靠边站成两排,等待主人发号施令。而命令的可能性几乎是无限的。白子有20种开局方式,黑子也有20种接招方式,第一回合完整攻守算下来就有4000种可能的对阵方式。第二回合结束后共有71852种可能的对阵方式;第三回合结束后共有9132484种对阵方式。一局完整的国际象棋比赛中可能出现的选手对阵方式的总数极其庞大,估量起来都成问题,但是有些数学家将这个数字定为10的1050。这简直就是一个天文数字:正如迭戈·拉斯金·古德曼所写,“国际象棋比赛对阵方式的可能性比宇宙中的原子数还多。”
1704438621
1704438622 比赛开局时,所有棋子都在棋盘上,可能性是最不可限量的,此时计算机看似力量最为强大。正如 IBM 网站在(计算机对阵卡斯帕罗夫的)比赛前吹嘘的那样,“深蓝”每秒能计算出2亿个位置。该网站还恶毒地说:“顺便提一下,加里·卡斯帕罗夫的估算速度大概是每秒3个位置。”如此看来,卡斯帕罗夫哪里还有机会赢呢?
1704438623
1704438624 实际上,长久以来国际象棋计算机在开局阶段的表现都相当差劲。尽管此时的可能性最为无限,但目标也同样最不明确。当一棵树上有10的1050根枝条时,每秒计算出3个位移和每秒算出2亿个位移一样,都是徒劳无功的,除非是有导向地利用这种计算能力。
1704438625
1704438626 无论是电脑棋手还是人类棋手,都需要把一局比赛分解成若干个中期目标,例如,吃掉对方一个兵,或是将对方一军。在比赛中局,一旦棋子在攻守中受限,或是双方相互威胁,就会有很多策略目标浮现。那么,棋手需要作的就是想出策略来实现这些目标,并预测出哪一种方法对剩下的棋子最有利。然而,国际象棋比赛开局走法的目标要抽象得多。于是,计算机就要与这些抽象的开放式问题进行周旋,而人类却了解启发法,比如“占领棋盘中部”或是“让兵有序进攻”,并且能设计出许多有创意的手段来运用这些方法。
1704438627
1704438628 另外,对棋手而言,开局的走法通常是常规走法,人类可以凭借数百年来的宝贵经验选择最佳走子方案。尽管从理论上讲,白棋有20种开局走法,但最佳的开局走法只有4种,竞争激烈的国际象棋比赛中约有98%的比赛都以其中一种方法开局。
1704438629
1704438630 人类棋手面临的问题是,计算机程序通过研究统计数据,能将上述知识系统化。国际象棋数据库包含了将近上万场比赛,并且和其他数据库一样,能为预测所用。IBM 的程序员所研究的事物包括,过去出现的每一种开局方式的使用频率,使用这些方式的棋手比赛时的表现到底有多强势,每一套开局走法最终带来的胜局、败局和平局数各为多少。计算机分析这些数据时采用的启发法,即使没有远远超越人类的直觉和经验,也很有可能平分秋色。IBM 网站曾评价“深蓝”计算机庞大的数据库:“卡斯帕罗夫不是在和计算机比赛,而是在和从前那些象棋大师的灵魂过招。”
1704438631
1704438632 因此,在1997年对阵“深蓝”的6轮比赛中,卡斯帕罗夫第一轮的目标是要将“深蓝”引出数据库,让它无所适从。卡斯帕罗夫的开局走法相当常见,将他的马走到棋盘上 f3格的位置。“深蓝”则派出棋子象威胁卡斯帕罗夫的棋子马——它必然会走这步棋,因为数据库显示,历史上此种情况下走象能使白棋的胜率从56%降到51%。
1704438633
1704438634 然而,这些数据库依靠的假说,是认为卡斯帕罗夫接下来的反应会和数据库中所有的棋手一样——把棋子马撤回去。结果,卡斯帕罗夫并没有理会棋子马被吃的危险,他认为“深蓝”只是在虚张声势,于是,他派出一个兵开路,这样他自己的棋子象就能控制棋盘中心。
1704438635
1704438636 卡斯帕罗夫的走法颇具战略意义,同时还实现了另一个目标。卡斯帕克斯已经走了3步,而“深蓝”只走了两步,此刻的对阵局面(见图9–2)在“深蓝”程序背后上万场大师级比赛的数据库中仅仅出现过一次。
1704438637
1704438638 尽管采用的都是十分普遍的走法,但由于这棵大树上的枝条太多,走了10~15步棋之后,数据库能发挥的作用就不大了。若是一场“拉锯战”,很可能双方最终得到的棋局是国际象棋史上从未出现的。但是,卡斯帕罗夫只走了3步就跳出了数据库。本书已经提到,数据样本不足时,纯粹的统计学方法对预测的帮助不大。
1704438639
1704438640
1704438641
1704438642
1704438643 图9–2 第一局比赛中卡斯帕罗夫走完第3步棋后的棋局
1704438644
1704438645 “深蓝”需要的是独立思考能力。
1704438646
1704438647 中局阶段:宽度与深度的两难选择
1704438648
1704438649 在国际象棋比赛的中间阶段(简称为中局),计算机的优势可能就会逐渐凸显出来。此时,棋子可以自由移动到棋盘中部,每个回合可能的走法平均为40种,而不仅仅是开局时的20种。乍一看两者之间的差别不大,但随着可能性呈指数型递增,差别会迅速扩大。举例来说,假设你想提前计算出3个完整的回合(即,你和对手各走3步,总共6步)。开局时,需要计算的函数是20的6次方,即需要考虑到6400万种可能性,这已是一个巨大的数字。而到中局时,则需要计算40的6次方,也就是有41亿种可能性。所有这些可能的局面,深蓝可以在20秒内计算出来,但是卡斯帕罗夫就算不吃不睡不洗澡,夜以继日地计算,也需要花上43年的时间才能算完。
1704438650
1704438651 像卡斯帕罗夫这样的伟大棋手从不会自欺欺人地认为自己能够计算出所有的可能性。这正是大师级棋手和业余棋手的差别所在。荷兰心理学家阿德里安·德·格鲁特曾经针对国际象棋选手做过一项非常有名的研究,该研究发现,业余棋手下棋时总想找到完美的一招,寻求未果便会倍感沮丧,往往举棋不定,寸步难行。
1704438652
1704438653 国际象棋大师们则不然,他们并不刻意追求完美招数,而是着眼于一个还不错的棋步——当然,如果某个特定位置有绝妙的一步棋可走,他们也不会放过——他们会花费更多精力考虑如何走好这步棋,而不是绞尽脑汁地列出所有的可能性。美国大师级棋手鲁本·法恩曾写道:若指望国际象棋选手能够提前算出20或30个回合的步数,无异于“天方夜谭”。
1704438654
1704438655 这种情况并不是一句“完美是优秀的敌人”就能概括的。如果你想成为真正的国际象棋大师,则需超越这种简单的启发法。然而,若时间有限,且信息量超出了我们的处理能力范围,我们就无法做出完美的决策。但是,无论是在国际象棋比赛中还是其他涉及预测的活动中,承认这种不完美,也许反倒能让我们自由地做出最优选择。
1704438656
1704438657 这么说并不意味着像卡斯帕罗夫这样的象棋大师就不需要作任何计算了。事实上,为实现一些短期目标,如吃掉对方一个子,卡斯帕罗夫至少需要提前计算出3~5步可能的精确走法,从而形成策略。而每一种走法,他还需要想出对手的反应——比赛时可能会出现的所有招数——考虑对手的招数是否会破坏自己的策略。另外,还需要考虑到对方是否设置了陷阱;一个原本强大的阵形,若稍不留神未能及时保住棋子王,很可能几步棋之后就会被“将军”。
[ 上一页 ]  [ :1.704438608e+09 ]  [ 下一页 ]