在智慧为人们一生所带来的所有事物中,到现在来说重要的就是友谊了。
伊壁鸠鲁,《学说要点》,27节
人类被视为行为系统,并且非常简单。随着时间的推移,我们的行为在很大程度上是对我们找到自身所在的环境的映射。
Herbert A.Simon
将人工智能(AI)说是一个在当前广受关注的话题是比较保守的说法,并且它在将来也不太可能会被看轻。比以往更多的研究者以某种形式在AI上开展工作,而比以往更多的非研究者对这个领域产生了兴趣。将游戏说是AI研究中一个十分普及的应用领域也是比较保守的说法。尽管自这个领域诞生以来,棋盘游戏一直是AI研究的中心点,但在过去的十年中,视频游戏也越来越多地成为测试与展现新算法的领域。与此同时,视频游戏本身变得更为多样化与复杂化,并且其中一些游戏也吸取了AI的进步,用于控制非玩家角色、生成内容或是根据玩家进行调节。游戏开发者越来越多地意识到AI方法能够分析大量的玩家数据并对游戏设计产生优化。一个小但不断蓬勃发展的研究者与设计者组成的社区正在尝试使用AI通过完全自主或是与人类进行对话的形式设计或创造完整的游戏。在AI与游戏上开展工作确实是令人激动的时光!
《人工智能与游戏》是有关AI与游戏的。据我们所知,这也是本覆盖了这个领域的综合性教科书。综合性,我们的意思也就是它覆盖了游戏中的AI方法的所有主要应用领域:玩游戏、内容生成以及玩家建模。我们的意思也是它讨论了许多不同类型的游戏中的各种AI问题,包括多种类型的棋盘游戏与视频游戏。《人工智能与游戏》的综合性也出于它使用多种视角来看待AI与游戏:游戏如何被用于AI的测试与开发,AI如何被用于让游戏变得更好,让游戏变得更易于开发,或是让游戏理解玩家与设计。尽管这是一本主要针对学生与研究者的学术书籍,但我们将经常需要解决一些与游戏设计者与游戏开发者相关的问题及方法。
我们基于自身在AI能为游戏所做的事情上的长期经验编写《人工智能与游戏》,我们将独立或相互协助引领与塑造研究社区。在2004年,我们都独立地开始对游戏中的AI方法进行研究,并且我们自2009年开始就一起合作。我们共同扮演了向研究社区介绍程序化内容生成与玩家建模等研究主题的角色,并创建了几个广泛使用的基于游戏的AI基准测试。从某种意义上来说,《人工智能与游戏》也是我们在三所大学中所讲授的有关AI与游戏的课程的产物,以及我们过去几年中在这个领域内发表有关各个独立话题的一些综述论文的自然产物。但《人工智能与游戏》也是为了应对当前缺乏一本出色的研究本领域入门教材这个问题而编写的。在这之前有关编写这样的一本书的讨论可以追溯到十年前了,但到目前为止还没人真正写出这样一本书。
明确指出《人工智能与游戏》没有扮演怎样的角色可能是非常有用的。这不是一本指导你在你的游戏中实际动手一步步地建立AI的教材。它并不会指明任何特定的游戏引擎或软件框架,并且它也根本不会讨论软件工程方面或许多实现上的事情。它并非一本入门书,并且它也不会对基本的AI或游戏设计概念进行简单的介绍。对于这些方面,有很多更好的书籍可以阅读。
《人工智能与游戏》主要针对那些已经理解了AI方法与概念,并且已经达到入门AI课程水平的读者,并且已经完成了这类课程所需要的入门计算机科学或工程课程。《人工智能与游戏》假设读者能够轻松地阅读一个算法的伪代码并实现它。第2章是对本书中所使用的AI方法的一个总结,但更多是以概论的形式作为一个引用与回顾。本书也假设读者对游戏有着基本的熟悉,不一定要能够设计它们但至少应该玩过。
我们在编写《人工智能与游戏》时内心所想的用例是一个学期或两个学期的研究生课程或本科生课程。这可能会有几种不同的方案以支持不同的教学实践。教授这样一门课程的一种方法是像传统课程一样,使用依次涵盖书中各个章节的讲义、一次期末的笔试以及一个需要动手的编程练习。为了方便起见,本书中的每个章节都含有对这类练习的建议。另一种围绕本书组织课程的方法会更符合我们对讲授这类课程的喜好,就是在学期的前半部分放在讲解课程材料上,而将后半部分放在小组项目上。
《人工智能与游戏》提供的材料能够以各种方式使用,因此能够支持许多不同的方法。根据我们的经验,一个传统的时长两个学期的游戏AI课程通常需要在学期中包含第2章与第3章,然后在第二学期中主要关注AI在游戏中的不同用法(第4章与第5章)。而在讲解压缩过的材料(一个学期)时,建议跳过第2章(在需要时将其用作参考),并将大部分讲课时间集中在第3章、第4章与第5章。第6章与第7章可以被用作是对这个领域中的研究生水平的计划产生启发的材料。除了游戏AI这个限制之外,第4章(或是它的各个小节)可以填充主要关注游戏设计或计算创意的课程,而第5章可以填充主要关注情感计算、用户体验和数据挖掘的课程。当然也可以将本书用作是以前从未参加过AI课程的学生的入门研究生课程,但在这种情况下,我们建议教师只关注一部分主题,并通过一些有关特定方法(例如佳优先搜索、进化计算)的在线课程来更好地对本书进行补充。
Georgios N.Yannakakis
Julian Togelius
很荣幸能够为这本并且恰逢其时的图书撰写序。游戏一直以来都被视为各种人工智能(AI)方法的完美试金石,并且也在成为一个重要性不断提升的应用领域。游戏AI是一个宽广的领域,包含了各种各样的挑战,例如为如围棋和星际争霸之类的困难游戏创造越人类的AI,或是新奇游戏的自动生成这样的创意性应用。
游戏AI与AI本身一样久远,但在过去的十年中,随着将视频游戏纳入其中,这个领域获得了长足的发展并变得丰富,而视频游戏上也包含了这个领域中所有发表的工作过50%的内容,令我们拓宽了这些含有巨大的商业、社会、经济以及科学利益的挑战的范围。一次在研究输出上的泉涌发生在2005年,与首届IEEE计算智能与游戏(CIG)会议——由我与Graham Kendall共同组织——以及首届AAAI人工智能和互动数字娱乐(AIIDE)会议一并发生。从那时开始,这个丰富的研究领域不断得到拓展并获到了更多的理解。游戏AI社区首先探索了许多现在已经变得更主流的研究,例如蒙特卡罗树搜索、程序化内容生成、基于屏幕捕获来玩游戏,以及自动的游戏设计。
在过去的十年中,在深度学习上的发展为许多难题都带来了巨大并且变革性的影响,包括语音识别、机器翻译、自然语言理解和计算机视觉。结果就是,现在计算机已经能够在许多感知与认知任务上达到与人类匹敌的表现了。这类系统中的很大一部分现在已经可以通过称为认知服务的范围来为程序员们所用。更为近期的是,深度强化学习在许多困难的挑战中已经取得了突破性的成功,包括围棋以及从屏幕捕获中直接学习如何玩游戏(从像素开始玩)。思考这些对于游戏来说意味着什么是非常有趣的,因为我们正在不断地在越来越多的领域中达到人类级别的智能。而这对于游戏内角色的智能、对于我们与游戏进行交互的途径、对于游戏如何设计与测试所带来的冲击都是十分醒目的。
《人工智能与游戏》为这个迷人、充满活力的研究领域做出了巨大的贡献:一个随着AI能够完成更为广泛的任务(并通过执行这些任务来不断提高水平)而在广度与深度上有着迅速发展的领域。《人工智能与游戏》将在未来许多年中为社区不断做出贡献:它为新入门者提供了一个比以往更容易、更全面的切入点,同时也为当前希望学习出自身领域的话题的AI与游戏研究者提供了一份不易获取的引用材料。
Georgios Yannakakis与Julian Togelius从这个领域拓展到视频游戏起始阶段就有所涉足,并且都曾在2005年的CIG会议上发表过研究论文。多年来,他们为这个领域做出了巨大的贡献,在大量的高引用论文中提出了许多新颖的研究与易于理解的综述。就我看来,这二位作者适合来写下这样一本书,并且他们也不会让人失望。本书将在许多年中为社区做出巨大的贡献。
Simon Lucas
伦敦
游戏有着漫长的历史,自几千年前起棋盘游戏就已经成为人们生活中的一部分。一直以来,人们都认为游戏是一件需要智慧才能够完成的事情。人工智能(AI)的研究目的就是为机器赋予智能,因此游戏非常自然地成为AI证明自身智慧能力的佳途径之一。自AI诞生的那开始,人们便开始尝试在各种游戏上提高AI的水平,并也为所取得的每次成功而庆祝。从Deep Blue到Alpha Go,AI在游戏上取得的每一次重大突破也被看成是AI史上的一座丰碑。
早期的计算机游戏大多都是传统的棋盘游戏,自20世纪80年代以来,随着计算机硬件水平的不断上升,游戏的形式也逐渐发生了变化。视频游戏逐渐流行,并成为计算机游戏的主要形式。与此同时,AI也逐渐地在传统的棋盘游戏上越了人类水平。围棋一直以来被人们认为是为复杂、难以被AI攻克的棋盘游戏,但在2016年,AI也在这个游戏上取得了里程碑式的进展,成功战胜了当时为的人类围棋选手。人们开始为AI寻找新的目标,而视频游戏很自然地就成为AI的新挑战之一。
但游戏与AI之间的关联并非只局限在游戏能够作为AI的试金石。在计算机游戏的不断发展中,人们也开始探索AI对于游戏能够发挥的作用。人们开始使用AI在游戏中扮演非玩家角色(NPC)与玩家共同进行游戏,令玩家在游戏中更有沉浸感。同时人们也开始使用AI为游戏生成内容,包括游戏地图、游戏关卡、游戏角色等。人们还期望AI能够更为拟人,能够像真实人类一样去玩游戏,让玩家无法分辨身边的角色到底是由真实玩家扮演还是由AI扮演。人们开始探索AI在游戏中能够扮演的角色,也开始探索AI能够对游戏发挥的其他作用。
在这种情况下,《人工智能与游戏》的诞生是一件恰逢其时的事情。在很长一段时间以来,人们都缺少一本能够系统地、综合地对游戏与AI之间的各种关联进行描述的书籍。尤其是,人们缺乏一本能够交织罗列出游戏与AI的各种不同联系的书籍。本书是本能够站在这个宏观角度来对游戏与AI的各种关联进行讲解的书籍,并且还对不同的分支方向做出了细致的讲解与引用。从这个角度来说,《人工智能与游戏》也是一本具有里程碑意义的书籍。
在《人工智能与游戏》之前,大部分的游戏AI书籍都旨在从工业界的角度进行切入,其主要关注点也大都集中在如何在商业标准游戏中实现一些传统的非玩家角色AI方法。但在游戏工业界发展的同时,游戏AI的学术研究也在不断发展。可以说,我们在这之前能够找到许多教我们怎样在商业游戏中实现AI的书籍,教我们“怎么做”的书籍,却一直没能拥有一本告诉我们怎样去研究拓展游戏中的AI的书籍,教我们“如何发展”的书籍。而这正是本书的巨大意义所在。
选择翻译《人工智能与游戏》,也正是因为发现它对于国内游戏AI领域的发展具有巨大意义与重要启发。我国游戏产业的起步与欧美发达国家相比较晚,发展方向也略有不同,因此在许多方向上的经验仍是一片空白。例如本书中所涉及的许多研究方向,在国内依然处于有待起步的阶段。因此,希望本书的翻译出版能够为国内所有对这个领域拥有兴趣并希望付诸实践的人产生一定的帮助。
几年之前,当译者开始学习游戏AI相关知识时,所遇到的个问题就是相关中文信息资料的不足。即便是一些相对基础的信息,也难以寻获相关的中文资料。这毫无疑问地提高了国人进入这个领域的门槛与难度。而翻译《人工智能与游戏》,也是希望能够借此补充在这个方向上的中文资料的缺乏,为国内相关领域的发展做出些许贡献,令更多的人能够在不需要大量外语基础的前提下接触到这个领域。
但译者认为,若读者希望深入地对这个领域进行了解,仍然需要尽可能地拥有一定的英文基础。首先是可以通过外文文献获取这个领域的新进展,其次是能够更为便利地理解本书中的一些概念。在翻译《人工智能与游戏》时,虽然译者在尽力进行翻译,但仍然需要保留某些不便翻译的英文名词。而许多英文术语虽然存在对应的中文翻译,但大多数情况下人们可能会更习惯于使用英文原名或缩写。因此,拥有一定的英文基础有助于更好地深入与理解这个领域。
在翻译《人工智能与游戏》时,译者对部分其认为不便翻译的英文名词或术语进行了保留,而对做出翻译的英文名词或术语,译者在次进行翻译时通过后面的括号注明了英文原名。读者也可以通过阅读本书附录部分的中英文术语对照表进行参考。由于精力有限,译者无法一一列出所有可能具有相关意义的术语,有需求的读者可以参考英文原文。
对于原书中所包含的所有游戏名称,本书也尽力进行了翻译。《人工智能与游戏》的翻译名称遵循游戏官方发布的翻译名称,但对于部分不存在官方翻译名称的游戏,本书将使用译者确定的非官方的中文名称,因此对于不同的读者可能会存在一定的偏差。读者可以参阅本书附录部分的游戏名称中英文对照表来确定游戏的英文原名。对于某些无法准确翻译其中文名称的游戏,本书保留了对英文原名的使用。
在《人工智能与游戏》的翻译工作中,译者首先希望感谢作者Georgios N Yannakakis与Julian Togelius的巨大支持,也正是他们的支持与鼓励让这份始于私人兴趣的工作终走向正式出版。感谢南方科技大学的刘佳琳老师对第2章进行了详细的审阅,也感谢新加坡国立大学的苏博览博士对第5章做出的细致审阅。感谢本书的编辑刘星宁老师,他的耐心工作使得本书能够顺利完成。感谢Springer出版社北京办公室为本书翻译的授权提供支持。后,特别致谢所有阅读了本书完整或部分翻译并做出反馈的朋友,你们的意见为本书定稿做出了巨大的贡献。
此次翻译及排版工作历时一年有余,相较预期更为长久,也因工作与家庭缘故造成延误,译者也希望得到各方的原谅。同时由于译者时间与水平有限,本书在翻译上仍然可能存在许多不足或错漏。若有发现,也请读者谅解。欢迎读者通过电子邮件(junkai-lu@outlookcom)等渠道为译者指出本书中的错漏之处,也恳请读者对本书的翻译多做批评或建议。
译者