1、l主讲教师:胡晶晶主讲教师:胡晶晶 (软件学院)(软件学院)E_mail E_mail:l参考教材:参考教材:游戏编程中的人工智能技术游戏编程中的人工智能技术 作者:作者:Mat buckland Mat buckland (清华大学出版社)(清华大学出版社)游戏人工智能游戏人工智能第二版第二版 作者:作者:John David FugeJohn David Fuge(北京邮电大学大学出版社)(北京邮电大学大学出版社)人工智能原理与方法人工智能原理与方法 作者:王永庆作者:王永庆 (西安交通大学出版社)(西安交通大学出版社)人工智能及其应用人工智能及其应用 作者:蔡自兴作者:蔡自兴 徐光祐徐光
2、祐 (清华大学出版社)(清华大学出版社)1第1章 绪论游戏人工智能(游戏人工智能(Game AI)是人工智能)是人工智能(AI)科学技术领域一个新兴的、活跃的)科学技术领域一个新兴的、活跃的学科分支。学科分支。计算机游戏计算机游戏人工智能技术人工智能技术认知心理学认知心理学 多学科相结合的产物,并正在成为游戏开多学科相结合的产物,并正在成为游戏开发中的核心技术发中的核心技术3研究内容研究内容其研究内容是如何将人工智能的理论、其研究内容是如何将人工智能的理论、方法和技术应用于开发智能游戏、提高方法和技术应用于开发智能游戏、提高游戏角色的智能水平,主要包括智能游游戏角色的智能水平,主要包括智能游戏
3、角色的行动、感知、反应、情绪、记戏角色的行动、感知、反应、情绪、记忆、学习的理论方法和技术。忆、学习的理论方法和技术。4目前的游戏软件过于注重多媒体表目前的游戏软件过于注重多媒体表现技术中的图形渲染处理,却忽略现技术中的图形渲染处理,却忽略了对游戏智能水平的提高,这严重了对游戏智能水平的提高,这严重限制了游戏的娱乐性,削弱产品的限制了游戏的娱乐性,削弱产品的核心竞争力。核心竞争力。背景背景5l原因原因l游戏软件最重要的特征和核心竞争力是其娱乐性,而提高游戏软件最重要的特征和核心竞争力是其娱乐性,而提高其娱乐性的最根本途径是积极研究如何将游戏人工智能技其娱乐性的最根本途径是积极研究如何将游戏人工
4、智能技术效应用于智能游戏的开发,即提高游戏场景中虚拟角色术效应用于智能游戏的开发,即提高游戏场景中虚拟角色的智能水平。的智能水平。l单纯追求实时而逼真的图形表现效果,会消耗大量有限的单纯追求实时而逼真的图形表现效果,会消耗大量有限的计算资源,但生成的游戏角色虽然具有逼真的外形,却经计算资源,但生成的游戏角色虽然具有逼真的外形,却经常表现出不合理的愚蠢行为,严重降低了娱乐性,使用户常表现出不合理的愚蠢行为,严重降低了娱乐性,使用户丧失兴趣。丧失兴趣。l虽然计算机图形学的进展仍是计算机游戏的重要推动力,虽然计算机图形学的进展仍是计算机游戏的重要推动力,但愈趋近于实时而逼真的图形效果时,难度就愈大但
5、愈趋近于实时而逼真的图形效果时,难度就愈大,取得,取得突破性进展的概率也就愈低,而且,效用递减规律已使绝突破性进展的概率也就愈低,而且,效用递减规律已使绝大多数用户无法区分这些技术间的区别。大多数用户无法区分这些技术间的区别。6人工智能方法(可行性)人工智能方法(可行性)u计算机图形学与人工智能的交融和结合为创建智能的、自主的、计算机图形学与人工智能的交融和结合为创建智能的、自主的、逼真的、实时的、可交互的游戏角色提供了新模型和新算法,从逼真的、实时的、可交互的游戏角色提供了新模型和新算法,从而更全面提高游戏的娱乐性。而更全面提高游戏的娱乐性。u计算机硬件性能的不断提高和人工智能软、硬件技术的
6、不断发展计算机硬件性能的不断提高和人工智能软、硬件技术的不断发展和成熟,为在计算机游戏中大量应用复杂的、计算代价大的游戏和成熟,为在计算机游戏中大量应用复杂的、计算代价大的游戏人工智能技术成为可能。人工智能技术成为可能。u随着计算机游戏的不断发展与创新以及用户对其要求和品味的提随着计算机游戏的不断发展与创新以及用户对其要求和品味的提升,需要有新的标准衡量其水平,而游戏的智能性的重要性正在升,需要有新的标准衡量其水平,而游戏的智能性的重要性正在更加凸显,并终将成为其主要评价标准。更加凸显,并终将成为其主要评价标准。u游戏软件的多媒体表现技术实现严重依赖其运行的硬件平台,难游戏软件的多媒体表现技术
7、实现严重依赖其运行的硬件平台,难于移植,而人工智能技术被应用于游戏的逻辑层面上,与平台硬于移植,而人工智能技术被应用于游戏的逻辑层面上,与平台硬件无关,易于移植。件无关,易于移植。71.1 计算机游戏的角色计算机游戏的角色 角色亦作脚色,指在角色亦作脚色,指在表演艺术表演艺术形式中形式中演员演员根据根据脚本脚本演绎演绎虚构人物虚构人物或人格或人格面具面具 的行为,也指被的行为,也指被扮演扮演的虚构人的虚构人物。物。u玩家角色(玩家角色(Player Character,PC):):行为由玩家通过操纵杆等输入设备控行为由玩家通过操纵杆等输入设备控制的游戏角色。制的游戏角色。u非玩家角色非玩家角色
8、(NPC):其他角色:其他角色8角色的行为控制角色的行为控制u每一个角色至少有一个与他关联的控制器,控制器每一个角色至少有一个与他关联的控制器,控制器可以在不同的角色间共享。可以在不同的角色间共享。u控制器如同角色的大脑,输入是游戏世界的状态信控制器如同角色的大脑,输入是游戏世界的状态信息,输出是影响游戏世界并导致非玩家角色相应行息,输出是影响游戏世界并导致非玩家角色相应行为的动作选择。为的动作选择。u玩家角色的控制器:解释玩家操纵杆各种操作的机玩家角色的控制器:解释玩家操纵杆各种操作的机制;玩家的大脑。制;玩家的大脑。u非玩家角色的控制器非玩家角色的控制器(NPC):多种形式,并具有不:多种
9、形式,并具有不同的功能。(重点描述)同的功能。(重点描述)9u大部分玩家并不关心是何种机制产生了非玩家角色大部分玩家并不关心是何种机制产生了非玩家角色的外表、运动以及行为,他们仅关心最终的外表、运动以及行为,他们仅关心最终“结果结果”。u非玩家角色最终目的:为了玩家取得娱乐效果。非玩家角色最终目的:为了玩家取得娱乐效果。NPC大多被设定去执行一些简单的任务。大多被设定去执行一些简单的任务。u目前,期待目前,期待NPC具备人的智能。具备人的智能。u典型问题:典型问题:“路径规划路径规划”怎样使非玩家从一个怎样使非玩家从一个地方移动到另一个地方?地方移动到另一个地方?101.2 游戏系统结构游戏系
10、统结构游戏状态游戏状态仿真器仿真器渲染器渲染器控制器控制器体系结构图体系结构图更新更新信息信息信息信息信息信息行动行动11u游戏状态:描述游戏世界中所有物体及其状态游戏状态:描述游戏世界中所有物体及其状态信息信息u仿真器:仿真器:“游戏物理学游戏物理学”,制定游戏状态如何改,制定游戏状态如何改变的规则变的规则u渲染器:利用游戏中物体的几何关系及纹理提渲染器:利用游戏中物体的几何关系及纹理提供对游戏状态的描绘供对游戏状态的描绘u控制器:负责选择角色的行动控制器:负责选择角色的行动12l非玩家角色具备的能力非玩家角色具备的能力l行动行动l感知感知l感知周围世界,做出行动决策感知周围世界,做出行动决
11、策l反应式控制器能够用来创建很多有效行为反应式控制器能够用来创建很多有效行为l无记忆的反应式控制器无记忆的反应式控制器行动选择仅建立在对当行动选择仅建立在对当前游戏世界状态感知的基础上前游戏世界状态感知的基础上l具有记忆的反应式控制器具有记忆的反应式控制器理论上可实现任何可理论上可实现任何可计算的行为计算的行为13l非玩家角色控制器的设计方法非玩家角色控制器的设计方法直接遵循一组预先编制好的行动规则直接遵循一组预先编制好的行动规则自动搜索自动搜索学习能力学习能力141.3 人工智能人工智能(AI,Artificial Intelligence)通俗地说,通俗地说,智能是一种认识客观智能是一种认
12、识客观事物和运用知识解决问题的综合能力事物和运用知识解决问题的综合能力。至于其确切定义,还有待于对人脑奥至于其确切定义,还有待于对人脑奥秘的彻底揭示。秘的彻底揭示。15智能是一种综合能力。具体地说,它包含的智能是一种综合能力。具体地说,它包含的各种能力如下各种能力如下:智能具有感知能力智能具有感知能力智能具有记忆与思维能力智能具有记忆与思维能力智能具有学习和自适应能力智能具有学习和自适应能力智能具有行为能力智能具有行为能力智能所包含的能力智能所包含的能力16 综合各种不同的人工智能观点,可以从综合各种不同的人工智能观点,可以从“能能力力”和和“学科学科”两个方面对人工智能进行定义。两个方面对人
13、工智能进行定义。u 从从能力能力的角度来看,人工智能是相对于人的角度来看,人工智能是相对于人的自然智能而言的,所谓人工智能是指用人工的自然智能而言的,所谓人工智能是指用人工的方法在机器(计算机)上实现的智能;的方法在机器(计算机)上实现的智能;u 从从学科学科的角度来看,人工智能是作为一个的角度来看,人工智能是作为一个学科名称来使用的,所谓人工智能是一门研究学科名称来使用的,所谓人工智能是一门研究如何构造智能机器或智能系统,使它能模拟、如何构造智能机器或智能系统,使它能模拟、延伸和扩展人类智能的学科。延伸和扩展人类智能的学科。什么是人工智能(什么是人工智能(AIAI)17 图灵测试图灵测试如何
14、衡量机器是否具有智能?如何衡量机器是否具有智能?18人工智能的产生与发展 孕育期孕育期 形成期形成期 知识应用期知识应用期 综合集成期综合集成期u 人工智能的诞生人工智能的诞生1956年年John McCarthyu 发展阶段发展阶段19 机器学习主要研究如何使计算机能够模拟机器学习主要研究如何使计算机能够模拟机器学习主要研究如何使计算机能够模拟机器学习主要研究如何使计算机能够模拟或实现人类的学习功能。或实现人类的学习功能。或实现人类的学习功能。或实现人类的学习功能。人工智能的研究和应用领域1.1.机器学习机器学习 自然语言理解(自然语言理解(Natural Language Natural
15、Language ProcessingProcessing)主要研究如何使计算机能够理解和)主要研究如何使计算机能够理解和生成自然语言。生成自然语言。2.2.自然语言理解自然语言理解20 专家系统(专家系统(专家系统(专家系统(Expert SystemExpert SystemExpert SystemExpert System,简称,简称,简称,简称ESESESES)是一)是一)是一)是一种基于知识的智能系统,它将领域专家的经验种基于知识的智能系统,它将领域专家的经验种基于知识的智能系统,它将领域专家的经验种基于知识的智能系统,它将领域专家的经验用知识表示方法表示出来,并放入知识库中,用知
16、识表示方法表示出来,并放入知识库中,用知识表示方法表示出来,并放入知识库中,用知识表示方法表示出来,并放入知识库中,供推理机使用。供推理机使用。供推理机使用。供推理机使用。3.3.专家系统专家系统 所谓模式识别就是使计算机能够对给定的所谓模式识别就是使计算机能够对给定的事物进行鉴别,并把它归入与其相同或相似的事物进行鉴别,并把它归入与其相同或相似的模式中。模式中。4.4.模式识别模式识别21 计算机视觉(计算机视觉(计算机视觉(计算机视觉(Computer VisionComputer VisionComputer VisionComputer Vision)的主要研)的主要研)的主要研)的主
17、要研究目标是使计算机具有通过二维图像认知三维究目标是使计算机具有通过二维图像认知三维究目标是使计算机具有通过二维图像认知三维究目标是使计算机具有通过二维图像认知三维环境信息的能力。环境信息的能力。环境信息的能力。环境信息的能力。5.5.计算机视觉计算机视觉 机器人机器人(RobotsRobots)是一种可再编程的多功是一种可再编程的多功能操作装置。机器人学是一种综合性技术学科,能操作装置。机器人学是一种综合性技术学科,人工智能的所有技术几乎都可以在这个领域得人工智能的所有技术几乎都可以在这个领域得到应用。到应用。6.6.机器人学机器人学22 博弈(博弈(Game PlayingGame Pla
18、ying)是一个有关对)是一个有关对策和斗智问题的研究领域。策和斗智问题的研究领域。7.7.博弈博弈 自动定理证明(自动定理证明(Automatic Theorem Automatic Theorem ProvingProving)就是让计算机模拟人类证明定理的)就是让计算机模拟人类证明定理的方法,自动实现象人类证明定理那样的非数值方法,自动实现象人类证明定理那样的非数值符号演算过程。符号演算过程。8.8.自动定理证明自动定理证明23 自动程序设计(自动程序设计(自动程序设计(自动程序设计(Automatic Automatic Automatic Automatic ProgrammingP
19、rogrammingProgrammingProgramming)是一种让计算机把用高级形式)是一种让计算机把用高级形式)是一种让计算机把用高级形式)是一种让计算机把用高级形式语言或自然语言描述的程序自动转换成可执语言或自然语言描述的程序自动转换成可执语言或自然语言描述的程序自动转换成可执语言或自然语言描述的程序自动转换成可执行程序的技术。行程序的技术。行程序的技术。行程序的技术。9.9.自动程序设计自动程序设计 智能控制(智能控制(Intelligent ControlIntelligent Control)是指那)是指那种无需(或需要尽可能少的)人的干预就能独种无需(或需要尽可能少的)人的
20、干预就能独立地驱动智能机器实现其目标的自动控制。立地驱动智能机器实现其目标的自动控制。10.10.智能控制智能控制24 智能决策支持系统(智能决策支持系统(Intelligent Intelligent Decision Support SystemDecision Support System)是指那种在传统)是指那种在传统决策支持系统中增加了相应的智能部件的决策决策支持系统中增加了相应的智能部件的决策支持系统。支持系统。11.11.智能决策支持系统智能决策支持系统 人工神经网络(人工神经网络(Artificial Neural Artificial Neural NetworkNetwor
21、k,简称,简称 ANNANN)是一个用大量的简单处是一个用大量的简单处理单元经广泛并行互连所构成的人工网络,用理单元经广泛并行互连所构成的人工网络,用于模拟人脑神经系统的结构和功能。于模拟人脑神经系统的结构和功能。12.12.人工神经网络人工神经网络25知识发现知识发现知识发现知识发现(Knowledge Discovery in Knowledge Discovery in Knowledge Discovery in Knowledge Discovery in DatabaseDatabaseDatabaseDatabase)和)和)和)和数据挖掘数据挖掘数据挖掘数据挖掘(Data Mi
22、ningData MiningData MiningData Mining)是在)是在)是在)是在数据库的基础上实现的一种知识发现系统。数据库的基础上实现的一种知识发现系统。数据库的基础上实现的一种知识发现系统。数据库的基础上实现的一种知识发现系统。13.13.知识发现和数据挖掘知识发现和数据挖掘 分布式人工智能(分布式人工智能(Distributed Artificial Distributed Artificial IntelligenceIntelligence,简称,简称DAIDAI)主要研究在逻辑或物理主要研究在逻辑或物理上分散的智能系统之间如何相互协调各自的智能上分散的智能系统之间
23、如何相互协调各自的智能行为,实现问题的并行求解。行为,实现问题的并行求解。14.14.分布式人工智能分布式人工智能26人工智能研究的基本内容1.1.认知建模认知建模 所谓所谓认知认知可一般地认为是和情感、动机、可一般地认为是和情感、动机、意志相对应的理智或认识过程,或者说是为了意志相对应的理智或认识过程,或者说是为了一定目的,在一定的心理结构中进行的信息加一定目的,在一定的心理结构中进行的信息加工过程。工过程。27 所谓机器感知,就是要让计算机具有类似所谓机器感知,就是要让计算机具有类似所谓机器感知,就是要让计算机具有类似所谓机器感知,就是要让计算机具有类似于人的感知能力,如视觉、听觉、触觉、
24、嗅觉、于人的感知能力,如视觉、听觉、触觉、嗅觉、于人的感知能力,如视觉、听觉、触觉、嗅觉、于人的感知能力,如视觉、听觉、触觉、嗅觉、味觉。味觉。味觉。味觉。2.2.机器感知机器感知3.3.机器思维机器思维 所谓机器思维,就是让计算机能够对感知所谓机器思维,就是让计算机能够对感知到的外界信息和自己产生的内部信息进行思维到的外界信息和自己产生的内部信息进行思维性加工。性加工。28 所谓机器学习就是让计算机能够像人那样所谓机器学习就是让计算机能够像人那样所谓机器学习就是让计算机能够像人那样所谓机器学习就是让计算机能够像人那样自动地获取新知识,并在实践中不断地完善自动地获取新知识,并在实践中不断地完善
25、自动地获取新知识,并在实践中不断地完善自动地获取新知识,并在实践中不断地完善自我和增强能力。自我和增强能力。自我和增强能力。自我和增强能力。4.4.机器学习机器学习5.5.机器行为机器行为 所谓机器行为就是让计算机能够具有像人所谓机器行为就是让计算机能够具有像人那样的行动和表达能力,如走、跑、拿、说、那样的行动和表达能力,如走、跑、拿、说、唱、写、画等唱、写、画等.29 无论是人工智能的近期目标还是远期目标,无论是人工智能的近期目标还是远期目标,无论是人工智能的近期目标还是远期目标,无论是人工智能的近期目标还是远期目标,都需要建立智能系统或构造智能机器,因此需都需要建立智能系统或构造智能机器,
26、因此需都需要建立智能系统或构造智能机器,因此需都需要建立智能系统或构造智能机器,因此需要开展对系统模型、构造技术、构造工具及语要开展对系统模型、构造技术、构造工具及语要开展对系统模型、构造技术、构造工具及语要开展对系统模型、构造技术、构造工具及语言环境等方面的研究。言环境等方面的研究。言环境等方面的研究。言环境等方面的研究。6.6.智能系统与智能计算机智能系统与智能计算机30人工智能研究的特点人工智能研究的特点l知识的重要性知识的重要性l重视推理重视推理l采用启发式搜索采用启发式搜索l采用数学概率处理不确定问题采用数学概率处理不确定问题l利用利用“机器学习机器学习”自动获取知识自动获取知识31
27、l游戏人工智能(游戏人工智能(game,AI)不一定满足通用性不一定满足通用性只要使角色的行为在某些场合合理只要使角色的行为在某些场合合理研究角色高层行为的产生问题研究角色高层行为的产生问题通过建立拥有大量知识的控制器来操纵(典型通过建立拥有大量知识的控制器来操纵(典型方法,符合学术界方法,符合学术界AI)1.4 游戏人工智能游戏人工智能32游戏人工智能的分类游戏人工智能的分类l工程学工程学l搜索搜索l模拟学模拟学l遗传算法遗传算法l神经网络神经网络33实现途径与学习内容实现途径与学习内容l基于知识的(专家)控制器基于知识的(专家)控制器专家系专家系统统l搜索(启发式)搜索(启发式)l计算智能计算智能l机器学习机器学习34谢谢 谢!谢!35