购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.11 隐藏在自动弈棋机中的秘密

棋盘上棋子之间不同组合的数目几乎无以数计,但即便如此,历史上也曾出现过自动弈棋机。听到这个你一定感到非常惊讶,过去的人是如何做出这样一种能自动下棋的机器的?

过去,人们相信一定会有这样一种机器,能真正自动地下棋。在这种情况下,自动弈棋机应运而生。有一架自动弈棋机非常有名,甚至连拿破仑都忍不住要跟它一决高下。它的发明者匈牙利机械师沃里弗兰克·冯·坎别林曾经带它四处展览,足迹到达过维也纳、莫斯科、巴黎、伦敦等地方。不幸的是,19世纪中期,这台久负盛名的自动弈棋机在美国费城的一场大火中被烧毁。

其实那时根本没有什么自动弈棋机,大家以为能自动进行运算的弈棋机都是骗人的。但人们始终对自动进行有效运算的机器的发明抱有十足的信心。而且在以后的岁月里,这种信心丝毫不减。下面我们就以沃里弗兰克·冯·坎别林所发明的弈棋机为例,谈一谈当时的自动弈棋机的构造问题。

这台自动弈棋机其实是一个装满了复杂机械装置的大箱子。棋局开始之前,为了让观众相信里面除了机器零件之外别无他物,自动弈棋机一般会被打开,人们会看到里面全套的棋盘、棋子以及那些复杂的机械装置。看到箱子内部的陈列之后,人们就开始期待精彩的表演了。但是谁也没有想到,箱子里其实藏着一个棋手。展示箱子的时候,他悄悄移动,躲在那些用来掩饰棋手的机械装置的后面,所以很难被发现。著名的棋手约翰·阿尔盖勒和威廉·刘易斯都曾藏在箱子里面跟人下过棋。

可能出现的棋局太多太多了,能够自动进行运算的弈棋机并不真正存在,它们只是一些机械师想出的骗人的把戏罢了。所以,我们完全不用担心自己的棋艺会受到这种机器的威胁。面对我们复杂多样的走法,能够自动应对,并做出完美选择的机器只存在于人们的幻想之中。

不过,随着科技的迅速发展,近年来很多人的棋艺确实开始受到机器的威胁。现在确实有了自动弈棋机。这种会“下棋”的机器其实就是我们前面所提到的运算能力非常强的计算机。

计算机只会根据事先编好的程序,按照一定的步骤进行数据的运算,别的什么都不会做。所以要想让计算机“下棋”,首先必须根据下棋的战术写出程序。下棋的战术可以理解为下棋过程中走棋的规则。这套规则必须能够为每个棋子的每个位置选择出最好的走棋路线。这一部分一般由数学家完成。

下面就是一个给每个棋子规定了特定分值的战术:

国王………………+200分

皇后………………+9分

车…………………+5分

象…………………+3分

马…………………+3分

卒…………………+1分

落后卒……………-0.5分

被困卒……………-0.5分

并卒………………-0.5分

除了给棋子规定分值之外,诸如棋子是否位于中心位置,棋子的灵活性,等等,也可以用来判断棋子所在位置的优劣。不过,位置的优势占不到一分。用白子的总分减去黑子的总分,所得的差值如果是正的,那么就代表持白子的一方暂时占有优势,如果是负的,则代表持黑子的一方暂时占有优势。从这种差值就能看出双方在阵容上的优劣。

由于计算机的运算速度非常快,所以它走一步棋所用的时间很短,在下棋过程中,我们不必担心会出现“时间不足”的现象。计算机在下棋的过程中,会通过计算来判断在三步之内怎样使这种差值的改变最大。然后从这三步可能的走法中选择一个最佳方案,在专门的卡片上将它打印出来。这样,“一步棋” 就算走完了。

提前想出三步棋走法的机器只能算是一个初级的玩家。但是我们也不要灰心,因为计算机的“棋艺”势必会随着计算机技术的发展而发展,所以,可能用不了多久,这个初级的玩家就会发展成高水平的“棋手” 了。

因为下棋时可能出现的棋局非常多,所以关于“下棋”的编程问题非常复杂。为了让大家更好地了解计算机“下棋”的秘密,在下一章里我们会向大家介绍一些比较简单的计算机程序。 HbHLyM9OjygJN9zQhAbwLzsKCLQamLJu96ctn145GhtRDFryLOpNsCKOzQ0v4OkL

点击中间区域
呼出菜单
上一章
目录
下一章
×