加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

人工智能简史|(1)国际象棋与围棋,人工智能最先攻破的堡

(2021-04-04 11:35:06)
分类: 科学与技术

Alpha Go横空出世

2016年,人工智能诞生60周年,按中国人的农历计算,这两年都是丙申年(猴年),正好是一个甲子的轮回。这一年IT行业最轰动的事件,就是Alpha Go围棋软件横扫人类世界围棋冠军。有人还在讨论计算机是否具有智能,在笔者看来,未来的60年,将是人工智能全面超越人类智能的时代,围棋人机大战,仅仅是这一壮丽史诗的序曲。

2016年3月9日至3月15日,AlphaGo围棋软件挑战世界围棋冠军李世石的围棋人机大战五番棋在韩国首尔举行。比赛采用中国围棋规则,奖金是由谷歌(Google)提供的100万美元。最终Alpha Go以4比1的总比分取得了胜利。

2016年12月29日至2017年1月4日,Alpha Go围棋软件在弈城围棋网和野狐围棋网以“大师”(Master)为注册名,依次对战数十位人类顶尖高手,包括柯洁、朴廷桓、陈耀烨、芈昱廷、唐韦星、常昊、周睿羊和古力等世界冠军,以及中国棋圣聂卫平,取得60胜0负的辉煌战绩。2017年5月,AlphaGo以30完胜世界排名第一的棋手柯洁,如图2.1所示。在柯洁两败之后,中国棋坛最强五人组合,分别是时越、芈昱廷、唐韦星、陈耀烨、周睿羊,联手挑战AlphaGo,至254手,AlphaGo执白中盘胜,如图2.2所示。

人工智能简史|(1)国际象棋与围棋,人工智能最先攻破的堡

图2.1 2017年5月,AlphaGo以30完胜世界排名第一的棋手柯洁

图2.2 2017年5月26日,时越、芈昱廷、唐韦星、陈耀烨、周睿羊五位围棋世界冠军,联手挑战AlphaGo,至254手,AlphaGo执白中盘胜

世界围棋冠军常昊评论Alpha Go的围棋水平:“它现在的水平,可以说是大大地超出了我们人类的想象。”笔者个人的预测,随着硬件速度的提升和软件的升级优化,以及AlphaGo左右互搏、不断自我对弈几亿盘棋的积累,未来版本AlphaGo的围棋水平,可以轻松击败任何人类棋手,就像金庸小说《天龙八部》之中,超凡入圣的少林寺扫地僧,可以轻轻松松秒杀萧远山、慕容博这些天下一流高手一样。

人工智能简史|(1)国际象棋与围棋,人工智能最先攻破的堡

图2.2 2017年5月26日,时越、芈昱廷、唐韦星、陈耀烨、周睿羊五位围棋世界冠军,联手挑战AlphaGo,至254手,AlphaGo执白中盘胜

世界围棋冠军常昊评论Alpha Go的围棋水平:“它现在的水平,可以说是大大地超出了我们人类的想象。”笔者个人的预测,随着硬件速度的提升和软件的升级优化,以及AlphaGo左右互搏、不断自我对弈几亿盘棋的积累,未来版本AlphaGo的围棋水平,可以轻松击败任何人类棋手,就像金庸小说《天龙八部》之中,超凡入圣的少林寺扫地僧,可以轻轻松松秒杀萧远山、慕容博这些天下一流高手一样。

国际象棋程序的逐步演进

回顾人工智能的发展史,棋类一直就是一个热门领域,原因很简单,因为下棋被称为智力竞技运动,所以通过棋类的胜负和等级分,可以很好地来对比和测量人工智能系统的智能水平。

伟大的香农,最早提出了利用计算机编写国际象棋程序的设想,并于1950年发表了论文《为计算机编程下国际象棋》(Programming a computer for playing chess),其内容奠定了现代弈棋机的基础。1956年,他在洛斯阿拉莫斯的MANIAC计算机上实现了一个国际象棋的下棋程序。在一篇关于计算机象棋的早期论文中,纽厄尔、西蒙和约翰·肖(John Cliff Shaw)提出:“如果一个人能够设计出一台成功的弈棋机,他似乎就渗入了人类智力活动的核心。”受这些大师们的激励,无数的计算机专业人士、国际象棋棋手和各行业的业余爱好者开始研究和开发一代又一代的下棋系统,有些人追求胜负和奖金,有些人把下棋系统作为实验工具,研究人类智能的工作原理。图2.3是电脑象棋界的一次聚会,左四为香农,左三为肯·汤普森(Ken Thompson)。

人工智能简史|(1)国际象棋与围棋,人工智能最先攻破的堡

图2.3 电脑象棋界的一次聚会

人类思考棋类问题的核心智慧就是找到妙招,而找到妙招的关键就是推算出若干步之内无论对方如何应对,本方都处于局面变好的态势。转换到国际象棋程序编程,核心都必须有两部分:博弈搜索和局面评估。

博弈搜索是一个招法(下一步棋)向着后续招法分叉,形成了一棵树形结构,称为博弈树。最简单的搜索法称为暴力搜索法(Brute force)或者A(Alpha、阿尔法)方法,这种方法全面生成所有可能的招法,并选择最优的一个,也就是尽可能对博弈树穷尽搜索。另一种策略称为B(Beta、贝塔)方法,基本思想是剔除某些树枝。

暴力搜索法程序遇到的主要难题是博弈树所包含的局面数量实在太多太多了。国际象棋每个局面平均有40步符合规则的着法。如果你对每步着法都考虑应着就会遇到40×40=1600个局面。而4步之后是250万个,6步之后是41亿个。平均一局棋大约走40回合80步,于是所有可能局面就有10的128次方个,这个数字远远多于已知宇宙世界的原子总数目(大约10的80次方)!

纽厄尔、西蒙和约翰·肖发展的Alpha-Beta算法可以从搜索树中剔除相当大的部分而不影响最后结果。它的基本思想是,如果有些着法将自己引入了很差的局面,这个着法的所有后续着法就都不用继续分析了。也就是说,如果有一个完美的局面评估方法,只要把最好的一个着法留下来就可以了。当然这种完美的评估方法不存在,不过只要有一个足够好的评估方法,那么也可以在每一层分析时只保留几个比较好的着法,这就大大减少了搜索法的负担。Alpha-Beta算法和优秀人类棋手下棋时的思考过程已经非常接近了。

20世纪70年代,曾经创造UNIX系统的计算机行业大腕肯·汤普森开始进入电脑国际象棋领域,他和贝尔实验室的同事乔·康登(Joe Condon)一起决定建造一台专门用于下国际象棋的机器,他们把这台机器叫作Belle,使用了价值大约2万美元的几百个芯片。Belle能够每秒搜索大约18万个局面,而当时的百万美元级超级电脑只能搜索5000个。Belle在比赛中可以搜索八至九层那么深,是第一台达到国际象棋大师级水平的计算机。从1980年到1983年它战胜了所有其他电脑,赢得了世界电脑国际象棋竞赛冠军,直到被价钱贵上千倍的克雷巨型机(Cray X-MPs)取代。Belle的成功,开创了通过研发国际象棋专用芯片来提高搜索速度的道路。

汤普森的另一大贡献是他整理的残局库,他在20世纪80年代就开始生成和储存棋盘上剩四至五子的所有符合规则的残局。一个典型的五子残局,比如王双象对王单马,包含总数121万个局面。电脑使用这些残局数据库,可以把每个残局走得绝对完美,就像上帝一样。

汤普森在20世纪80年代对搜索深度和棋力提高之间的关系做了非常有意义的试验。他让Belle象棋机自己跟自己下,但只有一方的搜索深度不断增加,结果是,根据胜负比率,平均每增加一个搜索深度可大约换算成200个国际象棋等级分。由此推论,可以计算出搜索深度达到14层时,就达到了当时世界冠军卡斯帕罗夫的水平,即2800分的等级分。当时计算机行业专家的推测是:要与人类世界冠军争夺冠军,必须做一台每秒运算10亿次的电脑(对应于搜索到14层的深度)。

在评估局面方面,早期使用的是凭借经验制定的简单规则,后来这些规则逐渐增加,并逐渐加入人类优秀棋手评估棋局的思路。比如,卡内基梅隆大学的汉斯·伯利纳(Hans Berliner)教授,他曾经是世界国际象棋通讯赛冠军,他领导开发了20世纪80年代很强的“Hitech”下棋机,在他的局面评估方法中,局面好坏由50多个因素决定(例如子力、位置、王的安全等),每个因素则是一个变量,为每个变量赋予了一个加权系数,最后加权求和的大小就清晰地表明了当前局面的优劣。

“深蓝”挑战世界冠军卡斯帕罗夫

最终实现战胜人类国际象棋世界冠军之梦、取得人机大战胜利的是IBM的“深蓝”(Deep Blue)团队,核心是来自中国台湾地区的许峰雄、莫里·坎贝尔(Murray Cambell)和乔·赫内(Joe Hoane)。1985年,许峰雄和莫里在卡内基梅隆大学读研究生时,就是电脑下棋机“Chip Test”和“Deep Thought”团队的核心成员,这两台下棋机在当时都处于电脑象棋行业的顶尖水平。许峰雄的导师孔祥重教授也是华人,是孔子的后代。许峰雄很有个性,有时会和权威发生冲突,高中开始就有个绰号叫“疯鸟”(Crazy Bird),孔教授继承了他的祖先孔子“因材施教”的风范,宽容了“疯鸟”造成的一些麻烦,大力支持了许峰雄的追梦之旅。

1989年,许峰雄和莫里加入IBM,得到了他们非常需要的高速计算机的资源和生产几百个象棋芯片的财力。IBM雄厚财力的另一大用途,是“深蓝”团队可以请到马克西姆·德卢基(Maxim Dlugy)、乔尔·本杰明(Joel Benjamin)、米格尔·伊列斯卡斯(Miguel Illescas)等多位国际象棋特级大师来负责与“深蓝”对弈和训练,这些训练的成果,多数都沉淀在“深蓝”不断优化的局面评估程序和开局库之中。

又经过了近十年的艰苦努力,IBM“深蓝”下棋机最终在1997年5月3日至5月11日的系列比赛中,以3.52.5(2胜1负3平)战胜了当时的国际象棋世界冠军卡斯帕罗夫,震惊了整个世界。图2.4是“深蓝”与世界冠军卡斯帕罗夫对局中。当时用于比赛的IBM“深蓝”下棋机,使用了30台IBM RS/6000工作站,每台工作站有一个主频120MHz的Power2 CPU加上16个VLSI国际象棋专用芯片,所以“深蓝”的计算能力是30个CPU加480个象棋芯片,理论搜索速度每秒10亿个棋局,实际最大速度大约是每秒搜索2亿个棋局,很接近20世纪80年代时计算机专家的预测。

人工智能简史|(1)国际象棋与围棋,人工智能最先攻破的堡

图2.4 “深蓝”与世界冠军卡斯帕罗夫对局中

许峰雄后来写了本书,叫《“深蓝”揭秘——追寻人工智能圣杯之旅》,回忆了他12年磨一剑,坚持打造可以战胜所有人类选手的下棋机,最终取得成功的不凡经历,这本书很值得所有愿意长期追求远大梦想的人学习。

书中透露的两个细节可以看到人类棋手在下棋能力以外的弱点。第一局卡斯帕罗夫取胜后,却一直疑惑为什么“深蓝”在第44步没有下看似更好的一招棋,他的助手们深入分析后得出结论,“深蓝”没下那招棋的原因是“它大概看到了20步之后的杀招”,如此高估“深蓝”的实力也许对卡斯帕罗夫后来的战斗增加了不少压力。整个系列比赛结束后,许峰雄才在书中透露“深蓝”是因为程序的隐错(Bug)才走出的那一招,当听到卡斯帕罗夫团队的分析时,他不禁笑出声来。另一个细节,此次比赛的总奖金是110万美元,胜方得70万美元,负方得40万美元,卡斯帕罗夫又对外另下了30万美元的赌注,因此,他承受了除名誉以外来自金钱的巨大压力。最后一局,下了不到1小时,卡斯帕罗夫在19步后认输。

有趣的是,作为“深蓝”的总设计师和芯片设计师,许峰雄更倾向于从工程角度来看待“深蓝”的成功,他在书中的序言中说:“本书与科学发现无关,而是一项工程探索。从本质上讲,工程探索涉及生活中更丰富的层面。工程探索背后的技术思想首先要被发现出来,然后才能达到逻辑上的完善。这个发现可能来自运气或灵感,而探索的其他部分则需要付出辛勤的汗水和锲而不舍的努力。……本书描述的是努力超越(尽管也许只是暂时的超越)世界上最佳人类棋手的弈棋水平的探索过程。”

…………

选自:人工智能简史

作者:刘韩

出版社:人民邮电出版社

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有