游戏人工智能读书笔记 (1)
作者: fled @ Tencent Game AI Research Center (TGAIRC)
本文内容包含以下章节:
Chapter 1.1 This Book
Chapter 1.5 Structure of This Book
本书英文版: Artificial Intelligence and Games - A Springer Textbook
自人工智能诞生之始,就和游戏紧密的相结合在一起。因为人们通常认为,人类玩游戏的过程是蕴含着人类的智能的。因此,当人们创造出一个能够完成人类的某种游戏的程序,我们认为这个程序拥有了某种类人的“智能”。所以很多游戏如棋牌,星际会成为人工智能测试的很好的环境。而游戏本身的发展又带来了很多对于人工智能的需求,例如游戏中的NPC(non player character)。人们开发了很多算法去让游戏内的一个角色可以表现得更像是由人类操控的。
虽然游戏是人工智能研究上一个广受欢迎的场景,但在传统上,人工智能研究者更关注于棋类游戏,因为棋类游戏有着高度形式化和受限的规则,同时又是很复杂的决策问题。而现在更多样性的视频游戏(video games)也吸引了人工智能研究者的目光。在这些游戏中怎么用AI来控制NPC,生成游戏内容和适应玩家行为也是游戏开发者想要解决的问题。
这也和人工智能研究的发展有关。早期的人工智能研究更关注形式化的智能,希望让机器可以达到人类水平的解题和决策能力。因此主要的工作是由人类去把问题拆解成形式化的符号(Symbol),然后让AI去解这些形式化的问题。而近些年,研究者的兴趣转移到如何让AI去学会那些对于人类来说很简单但又很难去描述的能力,例如记住人脸,识别朋友的声音,判断出情感等等。
视频游戏是历史上最重要的艺术种类之一
或者进一步来说,人工智能最终要去触碰的问题是人类的创造性和抽象能力。而游戏,作为第九艺术,也是一个少有的科学(problem solving)和创造性(Creativity) 相交叉的场景,也是非常适合人工智能研究的。一方面,人工智能技术需要解决怎么样让AI像人一样玩游戏,甚至玩的比人类更好;另一方面,游戏也提供了一个画布来让人工智能像玩家一样展示其创造力和表现力。而反过来说,人工智能技术的发展也从以下几个方面为视频游戏提供了新的可能性:
- In the way we play them 玩游戏
- In the way we understand their inner functionalities 游戏内部机制
- In the way we design them 游戏设计
- In the way we understand play, interaction and creativity 理解游戏,交互和创造性
游戏的抽象模型,来自:https://www.zhihu.com/question/266017889/answer/303079545
在这里,知乎上的一个问题 游戏的进步有多缓慢?中的一些回答可以给予一定的佐证。通过人工智能的发展,我们可以为游戏设计出新的以前做不到的核心玩法;我们可以利用人工智能更好的设计游戏的外衣(美术,音乐,角色乃至剧情);我们也可以通过人工智能技术更好的理解玩家,从而为玩家提供更好的个性化的游戏表现,从而增强玩家的沉浸感。
游戏就像是一个桃子,它有一个果核和包裹着它的果肉。核就是整个游戏的系统与交互部分,这部分包括了你玩游戏时的目标,规则和策略,这通常就是我们说的【核心玩法】,也是我们常常爱说的“游戏性”的来源。而包裹在这个核心玩法之上的,是一套让游戏变得直观、生动、沉浸、甚至感人的外衣,这一部分通常由各种视听资源,如美术、音乐、镜头、气氛,以及叙事资源,如剧情、角色、世界观等构成。
因此,提供一本兼顾了机器学习和游戏两方面的技术的参考书籍,为学术界和游戏业界提供更完备的游戏人工智能的视角,将会帮助到有兴趣游戏人工智能的学生,学术界的研究者和游戏的从业者们。而现在很多的人工智能或者游戏AI的书籍都主要侧重其中一个方面:或偏向于人工智能,或偏向于某种技术在游戏场景中的应用(如行为树)。
而在2017年底的时候,我们发现了一本刚刚出版的书籍:Artificial Intelligence and Games, 这本书则兼顾了人工智能学术界和游戏业界两个方面的需求,既讲述了人工智能相关的技术,又从游戏设计层面上介绍了人工智能在游戏上面的可能的应用。同时这也是一本很新的书,2018年刚刚出版没多久,因此也介绍了业界的最新的进展,如深度学习在游戏AI上应用。这本书也从人工智能和游戏的起源讲起,站在游戏的发展史上介绍了人工智能的发展以及和游戏的相互影响。
本书的两位作者Prof. Yannakakis 和Prof. Togelius 都是大学里面的教授,也有多年的游戏AI的研究和教学经验,他们在今年还搞了第一届的 AI and Game Summer School, 请了不少学术界和业界的大佬过来。整体的来看,本书的章节组织和完成度都是不错的,也很适合作为入门的参考书。
书里面对于游戏和人工智能的结合划分了几个不同的场景:
- Game-playing, 这也是我们最常见的,使用人工智能技术来创造一个bot来可以像人一样玩游戏,并且可以超过人类的最高水平。这一点,我们在棋类游戏中(不管是象棋还是围棋)都已经做到了。当然在很多更复杂的视频游戏中,人工智能还有很长的路要走。
- Content generation, 游戏内容自动生成。这里有一些简单的问题,如地图贴图的一些自动生成;还有一些更复杂的问题,比如关卡的生成,甚至是游戏的故事线自动生成。
- Player Modeling, 对玩家游戏内行为建模。这个场景更偏重于数据挖掘层面,但是与传统的数据挖掘相比,这里更进一步,试图去理解游戏内玩家的行为,情感等信息,从而更好的对玩家进行用户画像,而这些信息也能够进一步的改善游戏的沉浸感。
该书也分为3个部分,一共7章:
第一部分:背景介绍
- 全书的简介
- 介绍书中用到的人工智能技术和算法
第二部分:人工智能技术在游戏中的应用
- AI玩游戏
- AI生成游戏内容
- AI对玩家建模
第三部分:未来的方向
- 展望游戏AI的全景
- 游戏AI研究的前沿
全书各章节之间的联系
最后,在本书中,人工智能其实包含了两个含义:
- Computational Intelligence(CI)
- Artificial Intelligence (AI)
CI 和 AI 没有明确的分界线,只是历史上,AI通常和推理,专家系统,规划这些联系在一起,这些在这几年已经不再是显学了。而我们今天说的人工智能,更多的是CI, 使用统计学习模型或者神经网络,进化算法,蚁群算法这些。但本质上来说,两者都是希望让计算机可以完成一些需要“智能”的任务。
另一方面,并不是所有游戏中用到的和AI相关的技术都在本书的讨论范围中,考虑很多技术和游戏结合不是很紧密,同时在其他领域上有更大的应用。以下的一些技术只是被简单的提到或者忽略掉:
- 寻路算法(pathfinding):使用AI生成从A点到B点的路径
- 计算叙事(Computational Narrative):使用AI生成故事情节
- 博弈论(Game Theory)
- 多智能体的系统(Multiagent System)
因此,我们认为这本书不管是对于游戏人工智能的从业者还是游戏人工智能的研究者和学生都是一本很好的参考书,通过本书,我们可以大致的知道在游戏人工智能上面我们正处在什么样的位置,前人做过哪些努力,我们手上有哪些工具,我们可以往哪些方向上去探索。
我们作为游戏人工智能的研究者,也愿意把我们阅读本书的一些心得体会分享出来。我们会按照该书的章节结构,在接下来的一到两个月时间,以每周更新3-4篇的频率,写作一系列的读书笔记文章。同时也欢迎大家在讨论区来提问,勘误和发表意见。