阶梯上的思索

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

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

(2016-02-16 09:31:21) 下一个

前言

二〇一六年一月二十八日,一条石破天惊的消息在人工智能及围棋界爆出:谷歌公司研制的智能围棋软件AlphaGo于去年十月以5:0完胜欧洲围棋冠军樊麾二段。接下来,AlphaGo将乘胜追击,挑战世界围棋顶尖人物李世乭九段,双方将于三月九日至十五日期间在韩国首尔举行五场对抗赛。

人类经过多年不懈的努力,终于开发出了能在不被让子的情况下击败职业围棋选手的电脑软件。这意味着什么?人工智能的这项标志性进展是不是意味着我们距离“机器统治人类”的时代不远了?机器真的像我们想象的那么聪明吗?

本文试图从围棋的人机对弈问题入手,以最浅显的实例来阐述人工智能的基本机理,让大家对这一貌似高深而神秘的领域有所了解,对人类社会近期的发展走向做到心中有数。

本文属于科普文章,对象是对人工智能及围棋一窍不通但又对这方面的知识怀有很强好奇心的读者。文中没有任何数学演算和专业术语,全部用人们熟悉的普通实例去阐述人工智能的基本概念。全文将分为七次连载。

一、从国际象棋说到围棋

1996年2月,由IBM研制的名为“深蓝”的巨型电脑首次挑战国际象棋世界冠军卡斯帕罗夫(Garry Kasparov),在总共六局的比赛中,有两局下成平局,其余均是卡斯帕罗夫获胜。后来IBM的研究人员将算法加以改良,于1997年5月再度挑战卡斯帕罗夫。这一回“深蓝”表现不凡,以二胜、三平、一负的总成绩取得了胜利。电脑首次在国际象棋这项赛事中击败了人类最为聪明的大脑。

消息传出,世界为之震惊。人们纷纷猜测离机器统治世界的时间还有多远。然而围棋界的朋友们在得知这一结果后却不屑一顾地说:不用担心,电脑国际象棋的能力虽已超出人类,不过我们还有围棋可以自豪,围棋才是代表人类智慧最高水准的游戏。

围棋起源于中国,表面上看它是一种非常简单的游戏:黑白两色的棋子摆在361个方格点之上,谁围的地盘大谁就获胜。然而在真正对弈时围棋棋盘上却能够风云突变、杀机四起,方寸之间产生让人叹为观止、无穷无尽的变化。人们经常把围棋和诗歌、绘画、音乐、醇酒、哲学、信仰甚至人生相联系,将棋盘上的对弈视为一种既高雅又极富挑战性的艺术。

围棋的这种复杂性让很多人工智能专家感到不知所措。他们撰写了大量的论文,发明了一条又一条理论,试验了一个又一个算法,将精心写成的软件搭载在每秒能处理亿万条指令的电脑上。然而这些努力在人类发明的游戏面前均显得微不足道。棋圣聂卫平就曾预言:围棋博大精深,变化无穷,恐怕再过3000年,电脑也胜不了人脑。韩国九段棋手刘昌赫则认为,至少要到五十年后计算机围棋程序才能战胜世界顶级高手。

围棋于黑白之间所展现出来的魅力让很多高智商的人为之着迷。上世纪五十年代,身居普林斯顿大学的爱因斯坦从一位日本同事那里学会了下围棋,后来他还得到了日本棋院颁发的荣誉段位证书。电脑祖师爷阿兰•图灵更是一个围棋迷。二战期间,阿兰•图灵在破译德军密码系统的同时不但自己热衷于下围棋,还将这种游戏推荐给同事。

相对于国际象棋来说,围棋的人机对弈在过去五十年里进展缓慢。最早的国际象棋人机对弈软件出现于五十年代,阿兰•图灵自己就曾亲手写过这样的软件。到了七十年代,电脑的国际象棋水平已经相当高了。而在围棋领域,到1962年为止,公开发表过的围棋软件只有两则,并且它们都没有真正和人对弈过。

1968年,美国威斯康辛•麦迪逊大学(University of Wisconsin-Madison)数学系出了一位天才,此人名叫阿尔弗雷德•佐布里斯特(Alfred Zobrist),他后来对游戏理论有很大的贡献。当时他正在攻读博士学位,专门研究模式识别方面的课题。作为博士论文的副产品,他写出了一则围棋软件,能正式和人面对面地进行围棋博弈。从今天的眼光来看,这则软件实在太小儿科了,因为它唯一能打败的只有那些刚学了三天半围棋的新手。不过这仍然是一个非常令人振奋的飞跃。从那以后,各路英豪便将大量的时间、金钱及智慧贡献到围棋人机对弈这个极富挑战性的课题当中。然而,令人沮丧的是,此后的四十来年间,电脑的围棋水平始终没有取得令人瞩目的进展。

为什么围棋软件这么难写呢?要理解这个问题,我们得先说说电脑是如何思考的。

如今电脑已走进千家万户,每日做着让我们惊叹不已的事情。然而,假如我们仔细看看电脑最底层的工作原理,恐怕每个人都会觉得电脑实在是个超级低能儿。

下面我们来看真正的围棋问题。在这里先说一句,您完全用不着懂围棋,而且越不懂围棋越容易比较出人脑与电脑的差别。

且看棋盘:黑子摆在了B-1的位置,现在轮到白子走,请问白子若想围住黑子,应该往那里下子?

这是个用脚都能想清楚的问题,白子当然应该下在C-2的位置了。请注意,这和围棋能力无关,即便是一个正在上小学从未接触过围棋的孩子,也会给出正确的回答。

如果你问人为什么会这么想,得到的答案恐怕只有一个:不知道,就是觉得应该这么下,直觉。

然而这个人类闭着眼睛就想得出答案的问题,却会让电脑抓瞎的。你要是问电脑这个子该下在哪里,它首先会去查围棋规则:由于围棋规定你的棋子只能摆在空着的格点上,因此棋盘山共有24个可以下子的地方:A0到A4,B0,B2到B4,C0到C4,最后一直到E4。对,除了已被黑子占领的B1,电脑都觉得可以下子。

哪有这么弱智的下法?对,电脑就是这么弱智。很多我们人类觉得轻而易举的事情,对电脑来说简直比微积分、数论、群论、场论这些艰深的理论还要难上千万倍。

虽然电脑很弱智,但它也有自己的强项,那就是每秒可以进行亿万次的高速运算。因而电脑在和人类对弈时,绝对不会去比谁更聪明,而是比谁的蛮力更大。

还以这个5x5的棋盘为例,让我们以电脑的思维来下这盘棋。就从的最傻的一招开始吧:首先电脑会想,假如我先走E-4,那么接下来对手有23种下法,让我假定黑子走E-3吧,再假定我接下来走E-0,再假定黑子接下来走D-4,噢,我被吃了一个子,这种下法不大灵。

电脑又回到原点:还是假定我先走E-4,但接下来黑子不走E-3,而是走D-4,我走E-0,黑子走E-3,噢,我被吃了一个子,这种下法还是不大灵。

电脑继续试下去,还是自己先走E-4,一直到把所有的可能性都琢磨一遍后,才会怏怏地思忖,嗯,看来E-4不是一步好棋,现在让我来试E-3。

别发笑,电脑就是这么下棋的。

对于5x5的棋盘,电脑才不把它当回事呢。即使把所有的可能性都列出来,不就是若干亿亿种可能性吗?我只需把这些可能性全部罗列出来,看看哪种下法最后我能赢,就会知道这一步该往哪里走了。要是一台电脑不够,就多弄它几台:一台列举我先走E-4的可能性,一台列举我先走E-3的可能性,反正你人类的大脑比不过我硅片上的CPU。

人类不动声色地说,莫急莫急,真正围棋盘的大小并非5x5,而是19x19,比这个用来举例的棋盘大14倍还多。

电脑听到这个数字后,立刻晕了菜。

待续

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

[ 打印 ]
阅读 ()评论 (1)
评论
shamrock100 回复 悄悄话 好, 有意思。
登录后才可评论.