打字猴:1.704438699e+09
1704438699
1704438700 残局对于计算机来说,是好坏参半的事。此时,几乎不需要短期战术目标,除非它能迅速结束残局,否则就容易因小失大。然而,计算机不仅有开局的数据库,也有残局的数据库。剩6个或更少棋子的棋局,理论上都能被破解。而7个棋子的残局则会复杂很多——有的解法复杂到需要走517步——但是,计算机数据库里已经存储了怎样走会赢、会输或和局的步法。
1704438701
1704438702
1704438703
1704438704
1704438705 图9–3C 棋局的整体评估
1704438706
1704438707 于是,这一阶段的比赛会出现某种类似黑洞的东西:当所有该和的局都和了,所有该赢的局都赢了,在“对策之树”(即所有策略的集合)的重力之外就不可避免地会出现一个点,这个点就类似于黑洞。国际象棋比赛中局的抽象目标被一些具体目标取代,比如,把自己后翼的兵派到这里你就赢了,引诱黑棋的棋子车移向其他地方就会和局。
1704438708
1704438709 在对阵卡斯帕罗夫的第一场比赛中,“深蓝”的系统显示当时的输局已定,但它还想继续与卡斯帕罗夫对弈,因为即使是卡斯帕罗夫这样的大师,每走75步也会犯一次严重的错误。而仅这样一步错棋就可能触动“深蓝”的传感器,进而让它找到取得平局的招数。“深蓝”计算机的处境不佳,但绝不是毫无希望。
1704438710
1704438711  “深蓝”非但没有退却,反而做出了一些非常奇怪的举动,至少在卡斯帕罗夫看来是这样的。在第44步棋的时候,“深蓝”把它的一个棋子车走到白方的第一行,而不是选择常规套路,将对方的军。计算机似乎是毫无目的地乱走棋。在四面楚歌的时候,看起来“深蓝”大势已去,还放卡斯帕罗夫的兵进入己方第二行,随时威胁己方的棋子后。更为奇怪的是,此后只走了一步棋,“深蓝”就认输了。
1704438712
1704438713 卡斯帕罗夫好奇计算机到底是怎么想的,他看惯了“深蓝”犯战略性错误——比如,愿意用棋子象和棋子车作交换——在复杂的棋局中,“深蓝”根本不能深刻地认识到每步棋带来的影响。但是,在相对简单的棋局,计算机绝对不会犯战术错误。
1704438714
1704438715
1704438716
1704438717
1704438718 图9–5 深蓝使人困惑的一步棋
1704438719
1704438720 当晚回到广场大酒店回顾比赛的时候,卡斯帕罗夫问他的朋友、一位来自德国的象棋记者兼计算机专家弗雷德里克·弗里德尔:“计算机怎么会以这种方式自杀呢?”有些解释看上去似乎很合理,却没有一条能让卡斯帕罗夫觉得很满意。也许“深蓝”的确是“自杀”了,因为它发现无论怎么布阵走棋,这局都赢不了,索性认输,让卡斯帕罗夫摸不透自己的棋路。卡斯帕罗夫推测,难道这是一种煞费苦心的布局?也许程序员故意让“深蓝”输一局,从而使傲慢的卡斯帕罗夫过于自信进而导致失败?
1704438721
1704438722 卡斯帕罗夫的反应再自然不过了,他变得焦虑不安,开始研究起比赛数据来。在弗里德尔和计算机国际象棋弗里茨的帮助下,卡斯帕罗夫发现,对计算机“深蓝”而言,传统的走法——黑方的棋子车走到第六列后将白方一军——根本不是好棋,这步棋最终会给卡斯帕罗夫一次将军的机会,尽管仍需20多步棋才能实现这一目标。
1704438723
1704438724 但这其中的深意是相当令人震惊的。按照弗里德尔的推断来看,唯一让计算机继续某种走法的原因就是它发现了另一种走法,这种走法会让卡斯帕罗夫走更多的棋步才能将“深蓝”一军,而原来的走法他只需要走20步就能“将军”。据弗里德尔回忆:
1704438725
1704438726 计算机“深蓝”其实已经算出了比赛的结局,它只是选择了损失最小的走法。卡斯帕罗夫说:“这台计算机已经算出来我再走至少20步就要将军了。”他为自己对多数计算保持正确判断而倍感欣慰。
1704438727
1704438728 人们曾经认为,让人类和计算机在象棋这种复杂比赛中提前算出20步棋是不可能的。卡斯帕罗夫称,他最引以为傲的时刻是1999年在荷兰参加的一场比赛,他提前算出了15步赢棋的步数。此前,人们普遍认为“深蓝”最多只能算出6~8步。而此刻,卡斯帕罗夫和弗里德尔不确定到底发生了什么事情,但是对那些漫不经心的观察家而言貌似很偶然、很莫名其妙的失误,对这两位来说则好像展现了伟大的智慧一般。
1704438729
1704438730 卡斯帕罗夫可能再也无法战胜“深蓝”了。
1704438731
1704438732 计算机战胜了人类
1704438733
1704438734 在第二局比赛中,“深蓝”更加咄咄逼人,丝毫不让卡斯帕罗夫有喘息的机会。第35个回合是关键环节。当时双方势均力敌:各有一个棋子后、一个棋子象、两个棋子车和7个棋子兵。但“深蓝”操纵着白子,略占优势:下一步是它先走,而且它的棋子后有足够大的回旋余地。目前的局面(图9–6)对卡斯帕罗夫并没有太大威胁,但他的劣势是:接下来的几步棋将打开局面,决定“深蓝”是否有机会赢棋或者转向平局。
1704438735
1704438736
1704438737
1704438738
1704438739 图9–6 第二局比赛第36步棋后“深蓝”的选择
1704438740
1704438741 “深蓝”可以走的棋路很多,它可以让棋子后走到更具敌意的位置,这是比较有谋略的走法。或者可以以兵抵兵,打开左路棋局,这会使棋局更简洁开阔,是富有战略意义的走法。
1704438742
1704438743 现场比赛的评论员一致认为“深蓝”会采取第一种走法,推进棋子后。这是比较明显的走法,也更符合“深蓝”的特征:计算机更喜欢计算复杂的走法。但是,经过反常的长时间“思考”后,“深蓝”选择了以兵抵兵。
1704438744
1704438745 顷刻间,卡斯帕罗夫释然了,因为以兵换兵能缓解他当前的压力。但是,随着对棋局评估的深入,卡斯帕罗夫越来越不安,他把头埋进臂弯,并且咬手指关节部位——一位观众说看到卡斯帕罗夫在哭泣。为什么“深蓝”没有把棋子后推向前线?的确,“深蓝”的这步棋没有明显的劣势——卡斯帕罗夫甚至可以想象换作人类对手在这种情况下也会走这步棋,比如卡斯帕罗夫长期的对手阿纳托里·卡尔波夫就会这样做。但是,计算机这么做需要有较好的战术理由——卡斯帕罗夫找不出这个理由到底是什么。除非卡斯帕罗夫的推测是正确的——“深蓝”能够提前算出至少20步棋。
1704438746
1704438747 卡斯帕罗夫和“深蓝”的对弈已经打了8个回合。对于观赛的记者和专家来说,胜负已见分晓,打防守的卡斯帕罗夫一开始就注定没有赢的机会,但他仍有机会打成平局。出乎观众意料的是,卡斯帕罗夫走了45步之后就认输了。卡斯帕罗夫知道计算机不会算错,若能提前算出20步的棋,计算机是不会犯错的。卡斯帕罗夫知道,“深蓝”即将赢得比赛,所以何不养精蓄锐迎战接下来的4局比赛呢?
1704438748
[ 上一页 ]  [ :1.704438699e+09 ]  [ 下一页 ]