【作者简介】朱利安·图吉利斯纽约大学计算机科学与工程教授,纽约大学游戏与创新实验室共同创立者。主要研究AI技术的应用,尤其是 AI 在游戏中的应用、计算机智能和游戏、过程内容生成、进化增强学习、蒙特卡洛树搜索。
我妈对猫过敏,于是我不得不把我养的几只猫送人,当时我11岁。对于这场分别,我当然十分伤心,但是也没有那么伤心,要不然我也不会接受Commodore 64作为补偿,好让我对这场分别不去过于抵触。Commodore 64在1990年就已经是过时的电脑了,如今只有博物馆或嬉皮士才会拥有一台仍然可以使用的Commodore 64了。我很快就沉迷于Commodore 64,把猫抛在脑后,显然电脑比猫更能与我互动,也更容易理解。或者说我总能找到暗示,去理解它。收到电脑时,我还收到了十几盒磁带,那上面有各种游戏。盒式磁带加载游戏的时候要花好几分钟,还常常加载失败,实在考验一个11岁小孩的耐心,但这些游戏包含的可能性却令人惊叹。虽然我当时还不懂编程,但我知道电脑遵循一套严格的规则,它不是魔法变的,这一点令我神往。我也因此明白了这些游戏的局限性。比如,游戏中的某些行动总会激发特定的回应,某些情节也总是以相同的顺序发生,观察到这一点就能很轻易地在游戏中获胜。《吉娜姐妹》(Giana Sisters)第一关的最后时刻会遇到一只凶猛的巨型蚂蚁,受限于那个时代的硬件,这只蚂蚁的行动模式极其简单,但是这没有打击到我,我仍然迫切地想要打倒它通关。
你可能会认为这些游戏所呈现的丰富复杂的世界只存在于我的想象中,在电脑的内存中它们并不如此。我当然知道,不管我怎样行动,《吉娜姐妹》中的巨型蚂蚁都只会往前两步再后退一步;也不管我在屏幕的哪里,《防卫者》(Defender)里的敌方宇宙飞船只会走直线攻击我。但我希望这些游戏中有更多的东西,我希望在这些游戏中探索无尽的秘密世界,找到拥有自己生命的角色,以及有一个永无止境的宝库等着我去发现。最重要的是,我希望游戏中有我无法预料的事情,同时这些事情对游戏中的所有人都具有意义。
相比之下,那几只猫是变幻莫测的,种种迹象都表明它们有自己的生活,那种生活我知之甚少。但有时候他们又非常好懂,拉一拉绳子,它们就会扑过去,打开一个猫罐头,它们就会蜂拥而至。在我花了一段时间了解这些建立在某些规则之上的电脑游戏之后,我开始好奇猫的行为是不是也可以用相同方法去解释。猫的思维也是建立在某些计算规则之上的吗?如果是这样,人类的思维是不是也有规则?
我想自己做游戏,于是自学了编程。我用暑假打工的收入买了一台性能更好的电脑,并在这台电脑的硬盘上找到了一种如今已经过时的程序语言Turbo Pascal,那时我13岁。最开始我只是改动别人写好的代码,看会发生什么结果,慢慢地,我学会了自己写游戏代码。很快我就发现,要做好游戏很难。设计游戏很难,要在游戏中创造一个具有一定程度的智能行为的代理(agent)更是难上加难。
读完高中后我就完全不想再接触数学了,因为我的数学一塌糊涂,我讨厌数学。我只想了解心智思维,于是我去隆德大学学了哲学和心理学。我逐渐意识到,要理解心智思维,我就得自己建一个,于是我转到计算机科学专业,开始学习人工智能(AI)。我的博士专业又回到了研究动物。我们可以在“简单”动物(没有多少脑细胞的动物)身上观察到一些行为机制并用来控制机器人,也可以模拟自然演化,学习这些机制,这都是我感兴趣的点。问题来了,这类实验需要千万次的重复,耗费的时间太多。而且,机器人时常会崩溃,需要维修,因此实验时我需要随时待命,做一名机械师;但我对维修机器人不感兴趣,这种物理机器无聊又烦人,令人兴奋的是这些机器人背后的理念。
我突然想到,我可以用游戏替代机器人。用游戏来做实验比机器人更省钱更简单,实验进展也会更快。而且,玩游戏会遇到很多挑战,都是人类非常关心的挑战,这绝对值得关注。于是,当我的朋友都在实验室里用笨拙的机器人做实验,时不时地要给机器人维修,更换电池时,我却在玩赛车游戏、《星际争霸》(StarCraft)和《超级马里奥兄弟》(Super Mario Bros.)。我当然玩得很开心,在游戏过程中,我逐渐意识到我们不仅可以用游戏来测试改进人工智能,也可以用人工智能来改进游戏。AI可以用于游戏,游戏也可以用于 AI。举个例子,我们可以用人工智能方法(AI methods)自动生成游戏关卡吗?我认识到用现代AI方法改进游戏的可能性很大,于是开始思考游戏设计,以及怎样用这些现代AI方法设计游戏,也开始思考人类大脑中的思维。
绕了一大圈,我又开始通过游戏思考智能和人工智能,通过智能和人工智能思考游戏,就像我11岁时所做的那样。可以说,我生命的大部分时间都在用某种方式思考这些相互关联的主题,我想我至少学到了一些东西。我希望自己能够在这本书中清晰地传达我的热情以及这个研究领域的实质。
我们来玩个游戏怎么样?你来选玩什么,国际象棋、《超级马里奥兄弟》或《愤怒的小鸟》(Angry Birds)都可以。我让你选择,是因为我不知道你对这三类游戏是否熟悉。在上一章中我谈到国际象棋,它是西方世界最著名的棋盘游戏,玩法是在黑白棋盘上走动棋子(国王、皇后、兵卒等)。通过移动棋子,威胁并占领对手棋子,最终通过包围国王来击败对手。国际象棋从几千年前被发明以来,几乎没有改变过。
《超级马里奥兄弟》是一款平台游戏(platform game),是1985年任天堂在欧洲和美国推出的8位任天堂红白机(NES)游戏。如图1所示。按一下塑料游戏手柄,你可以控制快活的水管工马里奥避开邪恶的海龟,脚踏吓人的蘑菇人,跳过间隙,收集硬币,并拯救被巨型蜥蜴绑架的公主。任天堂开发了一系列适合其硬件的《超级马里奥兄弟》游戏,销售数量达上亿套,除了合法销售,其他硬件平台还有数十种未经授权的不同版本的游戏。
《愤怒的小鸟》是芬兰Rovio公司于2009年推出的手机游戏。如图2所示。你用手指在手机屏幕上滑动,操纵各种鸟类弹向各种塔,要让小鸟砸到这些塔,让它们倒塌下来压到那些偷走了鸟蛋的邪恶的绿猪身上。《愤怒的小鸟》最初的版本和后来的无数续作都可以在iPhone、iPad和Android设备上玩,并且成为这些平台最畅销的游戏。
我猜这三款游戏你都玩过,或者至少看别人玩过。即使没有全部玩过,你也可能已经玩了其中两款,或至少玩了其中一款。万一你真的完全不了解国际象棋、《超级马里奥兄弟》或《愤怒的小鸟》,那我真的要怀疑你是谁、活在哪个世界了。你是未来穿越回来的吗?不管这些,反正我假设你会玩某一款游戏。
接下来我想问:你为什么玩游戏?是为了放松一下,让自己开心一下,释放一下自己吗? 还是因为玩游戏是与朋友社交的一种方式?玩游戏肯定不是某种形式的大脑锻炼,对吧?不过,我们可以看看你玩游戏的时候实际在做什么。
做计划。玩国际象棋,你要设想一下怎样走子才能取得胜利或吃掉对手的棋子。如果你玩这个很在行,你还会考虑对手的行动以及如果对手没有落入你精心设计的陷阱该如何补救。玩《超级马里奥兄弟》,你要考虑是走上方的路线—这条路线回报多风险也大,还是走更安全的下方路线。如图3所示。你还需要考虑要不要冒险进入管道,那里可能会有隐藏的宝藏,这取决于你还剩下多少时间以及你有多想通关。你也可以在获得威力提升后穿过障碍墙,释放通天藤蔓,顺着藤蔓爬上云端。玩《愤怒的小鸟》,你要计划将每只鸟弹到哪里,用最少的鸟实现最大的破坏。你可以用蓝色小鸟砸碎冰壁,用黑色炸弹鸟击中破洞,使塔倒塌,最后用红色小鸟终结那头躲藏起来的胆小肥猪。
“当你做一项有挑战又不使你厌烦,并且难度随着你的表现提升而提高的任务时,就会体验到心流。
空间思考。国际象棋的棋盘是一个二维网格,没有被白棋或黑棋占据的单元格就是空地。熟练的棋手只要扫一眼棋盘就能立即看出机会和威胁。比如后受到威胁,就像一个X 出现在一排O中一样突出,而马可以移动的位置也显而易见。玩《超级马里奥兄弟》,你需要估算跳跃的轨迹,这样才能跳过间隙,弹开敌人,这意味着跳跃之前要先想清楚。你还需要估计是否要改变马里奥的大小(马里奥可以变大变小)以便通过小孔,还要预测所选的路线通向什么地方。玩《愤怒的小鸟》,你需要估算小鸟的飞行轨迹,有时候这些轨迹非常复杂,涉及弹跳和奇怪的重力,还可能需要确定小鸟能不能通过像素岩石与虚拟硬地之间的狭窄通道。
预测比赛和对手。玩国际象棋的时候,预测对手的行动对赢得棋局至关重要。如果你知道对手会如何应对你的走子,那么你就能完全确定自己的策略会赢。《超级马里奥兄弟》和《愤怒的小鸟》虽然不是对抗性游戏(你不是在与人类对手对抗),但这两款游戏的挑战在于预测环境引发的行为和反应。比如,大炮什么时候开火;如果我跳跃到乌龟的左边,乌龟会朝向哪一面;如果我不跳上平台,怪物蜥蜴会一直前进吗;如果我砸到底部的支撑架,塔会如何倒塌,塔的各部分构件将落在哪里,会砸到那盒TNT吗,会顺利产生连锁反应吗?尽管随机性在《愤怒的小鸟》中发挥着重要作用(《超级马里奥兄弟》是完全确定的),但难度主要源于游戏中各个对象之间的复杂交互。
评估自己。“认识自己。”苏格拉底这样说过。他当然不是在谈论国际象棋,也不是在谈论《愤怒的小鸟》,但是玩游戏可以带给你这种宝贵的经历——认识自己。高估自己的技能会使你因鲁莽而招致失败;低估自己的技能则意味着错失机会,因为你会放弃那些能够赢得比赛的冒险策略。另外,你还需要考虑你的情绪影响——你是否由于计划受阻而慌乱;由于成功而飘浮,或是因为对手刚刚吃了你的后而急躁地想要报复?那你真的需要好好管理你的情绪了。如果只是一厢情愿,而没有进行仔细的评估,那你最好不要尝试往前探索10步的策略。《超级马里奥兄弟》和《愤怒的小鸟》也是如此,如果你不了解自己的技能水平,将无法在游戏中取得进步,因为你尝试的策略对自己来说太难了。你也可能比其他人更好地执行某些战术,例如跳跃或用马设置陷阱,精确射击或迅速行动围住王。
行动。国际象棋中没有太多的运动技能,除非它退化为斗殴,但其他两款游戏中包含了部分运动技能。玩《超级马里奥兄弟》,你要非常频繁地按下两个键和方向键(D-Pad),方向键有8个方向(通常每秒按几次)。玩《愤怒的小鸟》则需要非常精细地控制手指在屏幕上的移动,以便用正确的力量向正确的方向弹出小鸟,并在正确的时间点激活小鸟的特殊能力。在这两款游戏中,这些动作都必须与屏幕画面协调,并且在时间点上恰到好处。这些游戏的感觉运动因素就连5岁的孩子也能很快吸收,但他们的父母往往会受挫。
当然,其他游戏有其他挑战。第一人称射击游戏,如《光晕》(Halo)或《使命召唤》(Call of Duty),在三维空间里挑战你的空间思维,在多人游戏模式下,你将直接面对团队战略的复杂性。《上古卷轴5:天际》(Skyrim)和《质量效应》(Mass Effect)等角色扮演类游戏需要你去了解复杂角色行为背后的动机,解决道德困境,驾驭危险的政治(至少遵守游戏规则的情况下你会面临这些挑战,虽然你乱射一通也可能取得较好的成绩)。诸如《模拟城市》(SimCity)和《运输大亨》(Transport Tycoon)这类模拟经营类游戏要求你了解并影响复杂的经济系统。
我们可以用心理学或更准确地说用心理计量学中的一些认知能力的列表,来描述每一种游戏包含了哪些认知挑战。然后,我们可以尝试弄清楚不同类型的游戏需要(或不需要)哪些认知能力。卡特尔-霍恩-卡罗尔(CHC)智力理论将智力(智能)分为11种不同的“广义认知能力”,并进一步将其细分为许多更专门的认知能力。[1]这种分类法基于对数百种不同认知测验的统计分析,并在心理计量学领域被广泛接受(尽管随着新的经验证据的出现,研究人员对分类进行了修改和完善)。
表1列出了CHC智力理论的11种广义认知能力,并给出了包含相应认知挑战的游戏。请注意,这不是完整的列表,我只是列举了第一个出现在我脑中的例子,尽可能地列举不同类型的游戏。我认为几乎所有游戏都至少利用了5 种不同的认知能力(《超级马里奥兄弟》、《愤怒的小鸟》和国际象棋当然也是如此),但这只是我的想法,我不知道是否有人在研究它。这确实值得研究。
总之,我们在玩游戏时或多或少都要使用不同形式的智能。这听起来很艰苦,但有意思的是,玩游戏实际上会让你放松,事实就是如此。(写作本书的时候,我时不时地要玩一会儿游戏放松一下。)
玩游戏时你在学什么
我们已经讨论了玩游戏的时候能锻炼哪些个人技能。但不是说只要玩游戏就能锻炼这些技能,毕竟玩游戏不是正襟危坐地上课(如果有这样的游戏,那肯定也不是好玩的游戏),不过你始终在学习。证据就是玩了一段时间后,你玩游戏的水平提升了。这时候你可以试试再回过头去玩《超级马里奥兄弟》或《愤怒的小鸟》最开始的关卡,或玩新手难度的国际象棋程序,你第一次玩的时候曾被它击败,但现在对你来说简直小菜一碟。
著名游戏设计师拉夫 ·科斯特(Raph Koster)认为,游戏之所以有趣,主要是因为学习。[2]设计精良的游戏会教你怎样去玩,越是擅长教你玩的游戏,越是经过了精良的设计。让玩家乐在其中的正是学习玩游戏的过程,当你停止了学习,也就停止了玩乐。如果游戏中再也没有什么可学的,你也就厌烦了这款游戏。因此,尝试一次就能赢的普通游戏没什么意思,无论如何都无法取得进步的游戏也没有乐趣。相反,精心设计的游戏会提供长期而平稳的难度等级,可以让玩家在游戏中不断学习。这样的游戏易于入手且令人着迷。
例如,玩《超级马里奥兄弟》的时候,你首先必须学习按钮的功能——按下按钮A,马里奥会跳起来,按不同的方向键,马里奥会向左或向右行走,接着你必须学习如何应对游戏中的各种挑战。“这有个蘑菇来回移动。我要怎么做?啊哈!我可以跳起来踩它!”当你玩到更高级别的关卡,你会发现挑战越来越棘手,但你做了充足的准备来迎接这些挑战。
《超级马里奥兄弟》的关卡设计经常被模仿,它基本上是这样的:先来一点基础性的挑战,比如跳起来越过间隙或遇到在两条管道之间来回移动的敌人;接着加入更高级的挑战,但挑战类型还是相同的,比如跳起来越过更长距离的间隙以及遇到更多不同类型的敌人,或将挑战组合起来,比如长距离跳跃后落在敌人中间。玩家每通过一次挑战,都是在学习应对新的更高级的挑战。但是当你认为已经没有新的有意思的挑战的时候,它又加入了新的元素,于是又形成了更多变和更深层次的挑战。《超级马里奥兄弟》加入的这些新的元素包括一个难应付的敌人,出现在后面的关卡中,玩家不能通过跳跃来击败他,也不能跳过他。在现有挑战中增加难应付的敌人会迫使你制定新的策略来应对看起来熟悉但又新鲜的挑战。最后,即使你已经成功通关(在最后一个关卡击败了大反派并营救出了公主),游戏中仍然有许多东西值得你去发觉,包括隐藏的区域和宝藏,以及如何在10分钟内通关(如果你能做到的话)。《超级马里奥兄弟》是游戏设计的杰作,这是受到广泛认可的;它也是教育学的杰作,因为它就像一门深远而有益的课程,你始终可以不断进步。
《愤怒的小鸟》也是这样。你首先要学习用手指弹出小鸟的基本技能,然后学习不同小鸟砸到塔时,会与塔的构件发生怎样的相互作用,以及砸到塔的哪一部分最有效。游戏会不时地增加新的元素、新的小鸟和新的工具,也就增加了新的挑战。即使在国际象棋中,游戏的进展也是类似的,唯一例外的是国际象棋不需要运动技能,并且通过不同的棋局来学习,而不是在同一盘棋的不同阶段来学习。首先,你得学习国际象棋的基本规则,包括如何走子如何吃子,接着学习更高级的规则,但此时你必须精通那些简单的基本规则,包括王车易位和何时算平局。然后,你可以开始学习启发法,[3] 先简单再高级。接下来再学习如何开局(有许多精彩的开局模式可以学),了解特定玩家的偏好和棋路,等等。
玩(游戏或其他东西)与学习齐头并进的想法并非游戏设计所独有。发展心理学家列夫·维果茨基(Lev Vygotsky)谈到儿童在玩的过程中的“近侧发展区间”时表示,儿童通常会做一些略微超出他们能力的东西和任务,因为这样获得的收益最大。[4]同样,创造力理论家米哈里·契克森米哈赖(Mihaly Csikszentmihalyi)的“心流”概念指出,当你做一项有挑战又不使你厌烦,并且难度随着你的表现提升而提高的任务时,就会体验到心流。契克森米哈赖结合艺术和科学创造力发展了这个概念,它同样也适用于游戏。[5]机器学习研究员于尔根·施米德休伯(Jürgen Schmidhuber)从看似完全不同的角度介绍了好奇心的数学形式化。在他的模型中,一个好奇的代理(人或人造物)会去寻找任务,改进任务模型,从而改善其执行任务的能力。[6]换句话说,根据施米德休伯的理论,数学上最具好奇心的代理在行为上与小孩子通过玩游戏来了解世界是一样的,或者说它会像一位有远见的玩家那样选择玩自己喜欢的游戏或选择游戏中有趣的挑战。
综上所述,游戏似乎以多种方式挑战人类的大脑,不仅是以某一种方式。精良的游戏旨在通过加大挑战难度或增加挑战来使玩家不断挑战,就像一种教学方式。学校应该注意这一点(想必有些学校已经注意到了)。精良的游戏(我们选择玩并且会不断重新玩的那些游戏)之所以出色,部分是因为它们成功地以多种方式不断挑战我们的大脑。
因此,玩游戏肯定需要具备智能。我们在上一章已经看到,国际象棋和围棋软件都不具备智能,却能胜过任何人。那么,为什么人类在玩游戏时需要具备智能,而机器玩游戏却不需要具备智能呢?这其中到底是怎么一回事?现在是时候确定我们所谓的人工智能以及我们所说的智能的含义了。
(本文经授权节选自《人工智能如何玩游戏》)