计算能力越来越高 棋后诸宸输给电脑不奇怪 | |||||||||
---|---|---|---|---|---|---|---|---|---|
http://www.sina.com.cn 2004年06月18日 10:07 科技日报 | |||||||||
本报记者 向杰 中国首届“人机大战”刚刚落下战幕,代表人类智慧的顶尖国际象棋特级大师、“美女棋后”诸宸竟以0∶2败给电脑棋手“紫光之星”!这样的结果令人惊讶———难道电脑已经超过人脑?
电脑棋手:核心配置突飞猛进 我们首先回顾一下历史上较有影响的“人机大战”中电脑的核心配置(附表),从表格中,我们看到这样几个特征: 人机大战的机器采用的处理器数量呈现逐渐减少的趋势。过去的几次人机大战,机器都是多处理器参赛,而今天的“紫光之星”已经采用了单处理器参赛,这说明随着计算机科技的不断发展,电脑的计算能力已经有了很大的提升。 从配置上讲,紫光之星和最近两年的“更弗里茨”、“更年少者”、“X3D弗里茨”等机器已经很接近了,只不过它们采用的是多处理器,但内存等方面差别不是很大。实际上,就单个处理器而言,“紫光之星”配备的Athlon643400+处理器性能已经超过了以往的奔腾处理器,毕竟这是一款64位的高端处理器! 从对弈结果看,“紫光之星”战胜了人类顶尖棋手,这说明单处理器的电脑完全能够胜任与国际特级大师的对弈。今后采用单处理器配套最新人工智能软件的国际象棋“人机大战”将会成为一种趋势。 最引人注意的一点就是:单CPU,这与表中那些著名的“人机大战”中使用的计算机系统中使用的多CPU形成了鲜明的对照。以前的人机大赛之所以采用多CPU,原因在于在当时电脑单处理器整体运算上硬件无法同软件匹配,需要通过多处理器来协调运行指令,同时配合相当大容量内存,才能达到满足高速数据运算的需要。本次“紫光之星”核心处理器用64位的处理器,是目前笔记本领域最高水平处理器。 卡斯帕罗夫:想赢越来越难 既然说起国际象棋的“人机大战”,那么有一个人无法不提,他就是“世界棋王”卡斯帕罗夫。从1985年至1996年,卡斯帕罗夫与电脑棋手一共比赛了8次,赢了7次,可以看出,人类棋手胜的比例大。然而,从1997年开始到2003年,他更多的是和电脑打成平手,这充分说明电脑的“智慧”正在随着科技的发展飞速前进。 人工智能:计算能力越来越高 历史上的几次人机大战,1997年和2002年的两次分别体现了两种不同类型的“人工智能”。1996年和1997年这两次“人机大战”中,机器棋手主要采取的是一种深度搜索的方法:把所有的可能性化成树状图,计算每种可能的走法并打分,把分数赋给树形图的每个端点,分数越高局面越好,然后计算机从中选择出对自己最有利的走法。如果树形分支越多,搜索和赋值过程就越复杂,耗时就越长。 而2002年至今的三次“人机大战”的主角“弗里茨”和“年少者”使用的则是1958年由卡耐基-梅隆大学的三位学者发明的算法:Al鄄pha-Beta剪枝算法。这种算法现在经常应用于人工智能的研究领域中,这种算法的好处就在于大大减少了软件需要进行的分支计算,它可以使软件变得更“聪明”。这两种类型的“人工智能”的差别在于“深蓝”所采取的是尽可能多、尽可能深地计算分支,在此基础上选择最好的走法,所以,“深蓝”需要大量的芯片参与分支的计算;而Alpha-Beta剪枝算法则赋予软件更多的选择能力,可以让软件减少很多不必要的计算分支,所以,2002以后的“人机大战”中机器的规模要小得多,即核心处理器数量逐渐减少,虽然每秒计算局面减少,但计算的精确度却比“深蓝”大大提高。 数据库:让电脑近乎完美地精确 电脑棋手如果要挑战人类顶级棋手,仅仅有好的算法是不够的,还需要另外一项重要支持:国际象棋棋谱数据库。其中又有最重要的两样武器:开局库和残局库。“紫光之星”与以前的机器相比,数据库也具备明显的优势。它输入了含有200万盘棋谱的超大数据库,包括:开局库、残局库、历史上所有被记录的著名对局。特别值得一提的是,它同时输入了以往历次“人机大战”的棋谱,以及对手诸宸的所有重要对局,增强了数据库的针对性。 开局库是从顶级棋手的对局库中提炼而成的。一旦配备了开局库,机器棋手可以大大减少在开局上耗费的时间,只需要结合自己引擎的特点从开局库中选择出最适合自己的走法就可以了。对机器棋手来说,开局库最重要的作用就是把棋局引入最适合“自己”特点的中局———机器似乎也能体会到“自我”的存在了! 配备了残局库,电脑在残局阶段的表现就像是上帝在和人类棋手对弈,机器每一步都是最佳走法,一旦进入这种对弈阶段,人类棋手将拿机器棋手毫无办法。但为什么现在“人机大战”双方的战斗仍然那么精彩?主要原因就是现阶段机器棋手不可能配备完整的残局库,所以,机器棋手很多时候仍然需要依靠自己的智慧去计算。拿制作5子残局库来说,除双方的王之外,棋盘上还有其它3个子,完备的5子残局库就是把这5个子在棋盘上所有的分布都计算并保存下来。对弈至残局阶段时,机器棋手计算到一定深度以后,将在残局库中搜索当前计算的局面,一旦发现残局库中包含有当前局面,机器棋手则会直接调用残局库中保存的胜负信息而不再继续深入计算。从上述描述中,大家不难理解为什么机器棋手在配备了残局库的情况下会表现的像上帝行棋一样的精确了吧? 所幸多子残局库极为巨大,完备的5子残局库大小大约是6G,而完备的6子残局库的大小大约是数T,这个数量实在是过于庞大了,所以,对弈时机器棋手不可能配备完备的6子残局库,而往往配备数G的残局库。 时间:电脑爱快人欲慢 不论是人人对弈,还是“人机大战”,比赛都是有时间限制的。作为电脑棋手,CPU的计算能力越强劲、内存越大、硬盘转速越高必然能够大大提高软件的计算速度和搜索速度。本次人机大战与以往的人机大战在时间设计上也不同,采用的是快棋赛的规则:50分钟+10秒,即每方选手起始时间是50分钟,每走一步原则上允许超时,但最多再加10秒。 毫无疑问,电脑平均花费的时间总比人类少,并且比赛总时间越少,计算机的优势就越明显。所以,在快棋赛中,电脑依靠非常快的计算速度,占据着很大的优势。这让它难以被轻易地击败。 实际上,国际上的几次人机大战多数都是慢棋赛,单人用时都允许在2小时以上,这样,人类棋手就占据着很大的优势。比如,2002年“世界冠军”克拉姆尼克与“更弗里茨”的大战中,克拉姆尼克曾为一步棋足足考虑了42分钟,这在快棋赛中是决不可能发生的。如果没有这么充足的时间,克拉姆尼克也许很难轻松战胜“更弗里茨”。 |