阶梯上的思索

为何我写作?------我心中所蕴蓄的必得流露出来,所以我才写作。
个人资料
归档
正文

走近人工智能——写在AlphaGo与李世乭鏖战前夕(七之二)

(2016-02-19 09:16:27) 下一个

二、实力分析

19x19 是 5x5的15.24倍。电脑的计算是以每秒多少亿次来衡量的,为什么棋盘大了十几倍它就无法应对了呢?

前面说了,电脑下棋没有别的招,只有把接下来可能出现的所有落子一步不拉地想清楚,才能决定刚才这个子下得对不对。

人难道不是这样下棋的吗?衡量棋艺的好坏,难道不应该看棋手能往前目算多少步,从而可以提前预知胜负的能力吗?

一点儿都没错。业余棋手在下棋时,一般只能目算十几步;而职业高手则能够目算几十步甚至上百步。目算能力的确可以作为衡量围棋选手水平高低的指标之一。

然而问题在于,人在下棋时,目算的都是有意义的走法。那些显而易见的昏招或平庸的落子,在潜意识中早就被淘汰掉了。人在做目算时,看到的全都是极为关键的落子。

然而,对于电脑来说,昏招和妙招是没有任何区别的。人在下棋时,绝不会轻易把自己的棋子往对方已设好的口袋阵里摆,人的大脑无须做任何演算就知道那是一个极其危险的举动。电脑则不然,在没有看到接下来所有的落子都会被对方杀得片甲不留之前,它不会意识到任何危险。

让我们把国际象棋和围棋做一番量化比较:

  • 棋盘大小:国际象棋8x8=64,围棋19x19=361。
  • 棋子类别:国际象棋每方16种棋子,围棋每方一种。

国际象棋棋子的种类虽然多,但正是由于这个原因导致下棋时可走的招数并不很多:你只能挪动棋盘上自己一方的棋子,因而这个数目一定是小于或等于16的。

换句话说,对于一个只懂规则而不懂棋道的人来说(其实就是电脑),第一步可供选择的国际象棋走法不过16种(考虑到有的棋子可以走不同的步数,这个数字应该在20左右)。而围棋呢,由于你可以在棋盘上任何一个空着的地方摆子,因而总共的可能性是361。

现在该对方下了。由于国际象棋是对称的,因此,第二步也有16种走法。围棋呢,由于一个位置已被占掉,因而只剩下了360种走法。

国际象棋的第一步有16种走法,第二步有16 种,因此,前两步的总走法有16x16种可能性。围棋的前两步下法则有361x360种。

这就是电脑惧怕围棋的原因:仅仅是前两步,围棋的复杂程度已经是国际象棋的500多倍了。然而噩梦并不止于此。对于国际象棋来说,棋盘上每吃掉一个子,复杂程度就会降低一个维度,因为棋手能动用的棋子少了一个。而围棋则要复杂得多:即使你已经占了一大片地盘,这片棋子也有可能被对方吃掉。那样的话,可能性又会大大地增加。电脑在和人下棋时,必须考虑这一因素。然而,要把这也算清楚,恐怕是不可能的。如果棋盘上每个地方的子都可以反复地被吃掉后又摆回去,那么接下去演绎出来的可能性就是无穷大了。

棋盘从5x5变为19x19,面积扩大了不少,但并没有大到邪乎的地步。然而这一来,棋子的下法却扩大了不知多少个数量级。这个数字到底有多大呢?谷歌官方博客里列出了这个数字,1后面跟171个零,比宇宙中存在的原子总数还要大!

说了半天电脑的逻辑,那么人在下棋时就没有这种问题吗?

真就没有,就像前面举过的5x5棋盘的例子,当黑子第一步摆在B-1之后,人会毫不犹豫地选择走C-2。假如你问为什么这么走,人会挠挠头说,这样走当然是有道理的。因为假如接下来黑子走C-1,我就在D-1堵,假如黑子走B-2,我就在B-3堵。

这样的逻辑听上去很严丝合缝,然而对电脑是说不通的!电脑会问,你怎么知道黑子接下去会走C-1或B-2,别的可能性多着呢!比如说黑子可能走A-0呀,也可以走E-4(OMG!),再不行,走对你有点儿威胁的D-3,这些可能性你都考虑过了吗?

从严格的逻辑上讲,电脑也没错,人是在没有严格证明这些走法不正确的情况下选择C-2的,这倒不是人喜欢偷懒,而是因为人的大脑根本转不过来那么多可能性。人在选择C-2的时候,在不知不觉中就选择了一个最佳走法;更有甚者,人在假象对方反击的招数时,也不知不觉地选择了那种情况下的最佳走法C-1或B-2。人的内心好像很清楚:除了这些走法之外,其他全是更昏的昏招。

人是怎样在无意中看到这些好棋的呢?这正是令人工智能专家困惑多年的一个难题。假如人能够说出来自己潜意识的全过程,电脑工程师则可以根据其逻辑仿造一个程序,那样的话,电脑战胜人类就不成问题了。

然而,让人工智能专家感到沮丧的是,任何一个围棋手,不管他是专业的还是业余的,给出的回答都一模一样:这步棋我看到了,然而看到了就是看到了,我也不知道自己是怎么看到的。棋手就是这样炼成的。

人脑的这种神奇功能是从哪里来的?以下的解释纯属笔者个人的推断,没有任何理论依据。

人从一生下来就开始接触这个世界里的所有事物,积累各种不同的经验。这些完全不相关的经验在人脑中是相互作用的。举个通俗的例子,你小时候被狗咬了一口的经验对你长大后碰到歹徒抢劫时所产生的反应是有影响的。你小时候被同桌女生欺负的经验对你长大后害怕谈女朋友的行为也是有关联的。人工智能发展到现在,虽然也开始向人一样学习过去的经验,但还没能做到让完全不相干的事物一起进入决策机制。

再回到前面5x5围棋盘上来。一个人虽然可以没下过围棋,但他很可能有过下述经验:看见猫在墙角围堵一只老鼠;被学校里那个欺负人的大个子赶到墙角;看见警察把一个坏人逼到墙角……即使你在现实生活中没有经历过,你在电影、画报、小人书上也肯定见过类似的场面。

当你看到这个5x5的围棋盘,脑子中的潜意识会把这些场景调出来加以比较:那黑子不就是老鼠,被欺负的同学,或警察追捕的猎物吗?在这种情况下,猎手处在哪个位置会最容易捕获到猎物?

于是人凭借这毫不相干的生活经验,在从未学习过围棋的情况下也能找到最佳下法。这样的能力,电脑运算速度再快,也没法做到。因为,它毕竟没有上过幼儿园,没有上过小学,弄不清抓蛐蛐逮蚂蚱下河摸鱼是咋回事。而这些存储在人的大脑中的潜意识,是人类能够产生直觉判断的主要因素。

笔者以为,即使是那些不食人间烟火的围棋精英们,也必须依靠各种生活经验来提高围棋技能。在对弈时,棋盘上的任何一个微小的变动都会激起围棋选手潜意识中的无穷联想:试探虚实、高枕无忧、全力进攻、退避三舍、危险临近、舍生取义、两败俱伤……,而围棋选手就是通过这些潜意识中的联想来决定下一步该如何落子。

棋手在看一盘棋时,看到的绝不只有黑白两种棋子。在棋手的脑海中,棋盘上的棋子是和现实世界中各种栩栩如生的概念息息关联的。比如说,把一块棋看成是根据地,把根据地边上的几个子看成是哨兵,把将要打入对方腹地的子看成是先锋……有了这样的对应,在对方落子的一刹那,自己立刻就会做出反应:对方想要偷袭根据地后方,想要切断左军和右军的联系,想要声东击西或是沾点儿小便宜?

棋手棋艺提高的过程,便是这种潜意识思维逐渐成熟的过程。棋手见过的棋局越多,对自己当前处境的判断也就越精准,于是便能够立即通过直觉判断出哪里出了危险,哪里需要加强,自己的通盘部署在哪里遇到了阻碍……如此这般,下一招该在哪里落子也就显而易见了。

人工智能专家把这一切一五一十地向电脑和盘托出,告诉它人脑的运行机理。专家还解释说由于电脑的内存里没有存储任何来自现实生活的经验,因而想靠模仿人类的潜意识思维来编写下棋软件是不可能的事。

电脑听完后极为沮丧,它想,既然自己缺乏从咿呀啼哭到长大成人的人生阅历,那么今生今世想要在围棋盘上战胜人类恐怕是不可能的了。

人工智能专家对电脑说,其实你还是得发挥自己的特长,依靠蛮力去下棋,只是要想办法把这蛮力用得不那么野蛮……你且附耳过来,我看你可以如此这般、这般如此、这么这么这么办。

电脑闻之,如同打了吗啡一般跳将起来,道:言之有理,这下我有取胜的希望了!它当即顶盔贯甲、罩袍束带、系甲缆裙,手提一杆明晃晃的丈八蛇矛枪,哇呀呀一声怪叫冲出大帐。一边走一边想,来来来,人类的直觉,俺要与你大战三百回合!

待续

阶梯讲师原创作品•谢谢阅读

[ 打印 ]
阅读 ()评论 (2)
评论
阶梯讲师 回复 悄悄话 回复 'shamrock100' 的评论 : 感谢您这么多的鼓励,其实写文章的主要目的就是把自己的思路理清楚,如能与大家分享则更是锦上添花。
shamrock100 回复 悄悄话 把复杂的问题深入浅出讲明白, 真功夫也, 阶梯讲师不虚也!
登录后才可评论.