终于轮到围棋 人工智能又赢了

世纪对决|终于轮到围棋,人工智能又赢了。。。

摩尔定律是由英特尔(Intel)创始人之一戈登·摩尔(Gordon Moore)提出来的。其内容为:当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。换言之,每一美元所能买到的电脑性能,将每隔18-24个月翻一倍以上。这一定律揭示了信息技术进步的速度。图片来源:Wiki

Samuel那个年代连微型计算机都尚未发明,但在1994年,第四代计算机已经相对普及。更快更多的运算硬件,允许更先进的编程算法。于是,继Chinook称霸跳棋后,其他棋类程序也不甘落后。比如,Michael Buro编写的黑白棋程序Logistello,在1997年以6:0击败了人类世界冠军北野武村上。但最具有标志性的莫过于1997年“深蓝”4:2战胜卡斯帕罗夫。许峰雄博士从卡内基梅隆大学开启该项目,组建Deep Thought团队,1989年毕业后受雇于IBM继续研究。事实上,深蓝与Chinook的情况相似,在它战胜世界冠军之前,都先输了好几次约战,最终的改进版终于略胜了一筹。

世纪对决|终于轮到围棋,人工智能又赢了。。。

深蓝VS卡斯帕罗夫。图片来源:Wiki

尽管有人认为那场人机对战并不公平,比赛中有疲劳和人为干预的因素,但计算机选手的强大已经成了不争的事实。现如今,终于轮到围棋了。

2机器和人的挑战

Chinook诞生的时候,有评论对此不以为然。在不少人眼里,国际跳棋的变化不多,规则也不复杂,以至于较为流行,人类高手在对战时会经常打成平局。但即便如此,这个竞技项目也需要你拥有准确的判断和直觉,10*10的棋盘大小需用超过40步以上的准确落子来获取胜利。而对计算机来说,它的计算量也得到达棋盘上千亿个可能的位置,所以1992年的Chinook只能够运算出每一步之后的17个动作变化。国际象棋的复杂度显然要高出跳棋不少,棋子各自的特点和规则增加了其需要运算的局面。所以97年的“深蓝”拥有30个并行处理器,共同处理数据,同时还存有70万份大师对战的棋局数据。 但无论是哪一种棋类,至今都无法超越围棋的运算量。

也许你要问,运算量和下棋有什么关系?简单来说,程序员给计算机编程下棋并非因为已经理解了人类大脑如何下棋。他们可以纯粹依靠计算机的运算速度演算所有的局面情况。这个方法被称为"博弈树"(Game Tree)。想象你在棋盘上落子,每落下一子,它就代表了下一个决策的分叉点,就像一棵正在生长的树木那样,会派生出许多可能的局面。于是,计算机会去对任何一点的未来变化做出运算。理论上,只要计算机的运算能力足够强,就可以按照规则穷尽所有的局面,排除不合法的局面(被称为“剪枝”程序)。再用同时运行的按规则计分程序评价每个局面分数的高低,并选择最高分的决策。

然而,19*19的围棋棋盘和最简的落子规则却衍生出无穷无尽的变化。理论上,排除不合法的落子位置,如没有“气”的位置,每一步的行动可能局面是3361种,是个171位的数。即便人类有记载的棋谱总数至今不过几千万盘(8位数)。这样的复杂度能够通过机器全部运算得到吗?即使程序可以通过数据库把棋谱全部收录,但它能够应对所有的棋局变化吗?所以,人们普遍认为机器不可能在围棋上胜过人类。

人类竞技的精神就在于挑战,哪怕挑战的是不可能。