那些在公园、学校里玩西洋跳棋的人们注意啦:你可以收拾起棋子回家了,在西洋跳棋流行5000年之后,它最终被彻底击败了。计算机程序在西洋跳棋赛上所向无敌——
97年来,跳棋大师们认为在这种形势下白色棋肯定会赢。但是计算机程序"奇努克"在短短的一瞬间就证明他们全都错了
以乔纳森·谢弗(Jonathan Schaeffer)为首的艾伯特大学的研究者已经开发出了一种无敌的跳棋程序,它的名字叫”奇努克”(chinook)。“当今世界上没有人能够战胜这个程序,”谢弗说——虽然他忽略了一种很小的可能性,那就是一个人在发挥非常出色的情况下可能战成平手。”奇努克”不仅是无敌的,它还会考虑棋盘上所有可能的移动以及所有可能的布局,所以对手的任何棋路都不会让它感到惊讶。
放弃吧,弱小的人类
1989年,谢弗在一台电脑上开始了这个项目。它的发展速度非常快,研究力量迅速壮大,最终有200多台电脑加入了这项研究。比如SETI@home,该计划使用大规模的电脑网络来进行地外生命的搜索,这些计算机都是在它们闲置的时候参与到这个计划中来的,比如晚上、周末甚至整个夏天。“因为我们是计算机科学系,所以拥有大量电脑,”谢弗说。“它们中的大多数平时都在闲置着。”
为了使”奇努克”成为一名优秀的西洋跳棋棋手,谢弗不得不分析棋局上的每一种可能性,从而使”奇努克”能够在每一步都做出最佳判断。这大概包括了5万亿亿种组合。谢弗,一个自认为“很糟糕的”西洋跳棋棋手,计划让西洋跳棋社团来帮助培训”奇努克”,因为这个程序的棋步时而才华横溢时而乱七八糟。不久之后,每个西洋跳棋的爱好者都认识了谢弗,而且知道他正在努力地改进”奇努克”。
早在1994年时,谢弗的程序就能击败人类的西洋跳棋大师,但他的目标是一个最终能够“解决”西洋跳棋的完美程序。1997年开始投入使用的32位处理器无法处理谢弗所需要的计算量,所以他中断了该项目4年,从而使得摩尔定律能够赶上他的步伐。2001年,他使用64位的处理器再次启动了该项目。
“我回想起他刚刚启动这个项目时,他觉得这件事情并不难,”美国西洋跳棋联合会的棋手代表理查德·贝克威茨(Richard Beckwith)说。“他没想到西洋跳棋有那么复杂,现在已经过去20年了。”
尽管花费的时间比预期要长,但是谢弗最终解决了这个令人惊讶的复杂问题。”奇努克”的成功标志了机器朝着统治每一个技能类游戏的漫长征程又成功地迈出了一步。这种趋势也许可以追溯到玩tic-tac-toe游戏(井字棋)的小鸡。如果受过一点训练而且在游戏中抢得先手,那么即使是一只小鸡也能获胜。
2007年7月23日~24日,由乔纳森·谢弗率领的扑克游戏超级计算机“北极星”(Polaris)与全球两大职业扑克高手菲尔·拉克(Phil Laak)和阿里·伊斯拉米(Ali Eslami)进行对决,结果“北极星”以1比2输给了两位扑克选手。“北极星”扑克电脑程序由加拿大艾伯塔大学教授达尔斯·比林斯负责设计。图为谢弗与“北极星”超级计算机
此后科学家接二连三地开发出了擅长各种不同游戏的程序,包括西洋双陆棋、拼字游戏,当然还有国际象棋;IBM的“深蓝”在1997年击败了人类的国际象棋大师。谢弗的研究团队也将他们的研究范围拓展到了像桥牌和纸牌游戏上。
训练电脑玩游戏,并使它们和人类进行比赛,这并不仅仅是一种娱乐。像”奇努克”这样的程序可以进行更有难度的计算,从而帮助科学家解决更多“严肃的”问题,比如蛋白质结构分析或者是探寻基因的工作原理。训练计算机玩游戏还可以向研究者展示如何更加有效率地构建人类思维的模型。“我是人工智能方面的研究者,”谢弗说。“我的兴趣在于使计算机能够模仿人类的行为。之所以选择游戏作为切入点,是因为我觉得游戏的规则相对简单,而且也很有意思。”
“奇努克”的一个意想不到的贡献就是帮助西洋跳棋玩家解决了他们的困惑与争论。比如,“奇努克”成功解决了一场持续了近两个世纪的争论。
1800年,在某个西洋跳棋杂志上的一篇文章介绍了一盘特殊的棋局,并且声称如果不犯错误的话,白棋一定能赢。另外一些棋手则表示反对,从而引发了一场激烈的争论:在这种棋局下,如果双方棋手都不犯错误,到底白棋能不能赢?在一个世纪里,有数不清的文章在探讨这个问题,这些文章经常会摆数百步棋来证明自己的观点。到了1900年,有一篇论文最终使大家确信白棋肯定会赢。这个假设也被称之为“百年立场”。在1997年,西洋跳棋大师唐·拉弗蒂(DonLafferty)向谢弗求证这个假设。就在一瞬间,谢弗说,“奇努克”证明了白棋会输,而不是赢。拉弗蒂看到这个答案之后,叹息着说:这个被广泛接受的假定在第三步时犯了错误,但是那么多的西洋跳棋高手都没有看出来。随后这个立场被改名为“1997年立场”。
现在关于国际象棋和西洋跳棋方面的研究都已经是老新闻了,谢弗团队中的其他科学家,包括马丁·穆勒(Martin Muller)和岸本章浩,正在将他们的视野转向被许多人当作是人工智能的终极挑战:东亚传统的棋类项目——围棋。尽管研究者很乐观,还有那么多不断取得进展的论文,但是像美国围棋协会主席罗伊·莱尔德(RoyLaird)却对计算机能够在围棋上打败人类始终抱怀疑态度。
“围棋是唯一不能靠计算量的大小来取胜的棋类,”莱尔德说。“它太难了。我认为它是人类智慧的终极体现。”
你可以和”奇努克”下西洋跳棋。为了不使人们灰心丧气,这是一个“新手”版本的游戏:它有时会输。