计算机怎样和象棋大师比赛

科普中国网 2018-09-23

  

  1997年9月23日,超级并行计算机“深蓝”告别棋坛。说到深蓝,你可知道,计算机上如何和象棋大师比赛的呢?

  1997年5月,一场别开生面的国际象棋比赛在纽约举行,世界冠军卡斯帕罗夫面对的不是哪位特级大师,而是IBM公司的“深蓝”超级并行计算机。当全世界都看到卡斯帕罗夫最终输给“深蓝”时,许多人感到人类受到了前所未有的挑战。

  那么,计算机究竟是怎样下棋的呢?

  要让计算机能够下棋,首先要想办法用计算机语言把走子的规则,如“马只能走日字,象只能走斜线”等,告诉计算机。此外,还要将下棋的一般规律告诉计算机,这种一般规律称为启发式规则,它能启发计算机找出最佳落子方案。

  人类在下棋时,每下一步棋都要根据当时的棋局考虑好多步以后可能的结果,即“走一步看几步”。计算机能下棋,是因为人事先为它编制了程序。这种下棋程序包含了全部走子规则、棋谱等,这样,在下棋的时候,计算机就能够知道在某一个棋势中,能够移动的棋子有几个,每一个棋子有哪几步可走,然后计算机以极快的速度,算出每一步棋双方的得失,选择出最佳的落子方案,作出下一步棋该怎么走的决策。计算机主要是以快取胜。它能在很短的时间内计算出许多种可能的走法及其后果,再从中选出一种最有希望取胜的走法。计算机的下棋程序包含的启发式规则越多,记忆的棋谱越多,计算机下棋的本领就越高;它向前看的步数越多,则越有希望取胜。

  不过,这是一种比较死板的方法,当你能找到一种下法赢了计算机,下一次,如果你仍然使用同一种下法,计算机大多不会随机应变,同样会再次输给你。这主要是因为人类下棋时虽然“走一步看几步”,但棋手的高明之处在于他能审时度势,随机应变。他决不是死板地思考每一种可能性,而是根据长期积累的经验,在审视当前棋局后,直觉地把注意力集中到比较有希望取胜的几着棋上,从而有效地收缩多看几步的思考范围。

  要让计算机懂得随机应变,必须研制一种具有自学习功能的下棋程序,在下棋过程中,计算机会从自己的失败中吸取教训,从对手那里吸取长处、积累经验,不断提高棋艺。这样一来,计算机如果照某一种下法下输了,它就会吸取教训。再按老办法来,计算机就不会再上当了。

  关于计算机的下棋程序有一个很重要的问题,即“信息组合爆炸”问题。在计算机下棋时,如果每一步有m种选择,那么向前看n步就有m•n种可能选择。可以看出,“向前看”步数越多,虽然越有把握,但要搜索的空间和花在搜索上的时间将随之急剧膨胀。这也是下棋程序的水平受到限制的根本原因。

  “深蓝”与卡斯帕罗夫抗衡,主要靠的是超高速的计算和推测。而人下棋除了计算和推测之外,更多的是依靠丰富的经验和归纳、类比乃至直觉的思维方式。在这方面,计算机还无法与人匹敌。

  关键词:计算机下棋 信息组合爆炸

  版权所有少年儿童出版社,鼓励任何不用于商业性质的传播

责任编辑:王超

科普中国APP 科普中国微信 科普中国微博
科普中国网
是中国科协为深入推进科普信息化建设而塑造的全新品牌,旨在以科普内容建设为重点,充分依托现有的传播渠道和平台,使科普信息化建设与传统科普深度融合,以公众关注度作为项目精准评估的标准,提升国家科普公共服务水平。

猜你喜欢