游戏中的人工智能技术

游戏中的人工智能技术
游戏中的人工智能技术

课程论文

学年学期2016 —2017 学年第二学期课程名称游戏中人工智能的进展

题目人工智能与游戏

姓名贾晓宇

学号 2014041716 学院计算机科学与信息工程学院

任课教师张明宇

目录

第一章人工智能以及游戏中的人工智能 (3)

1.1人工智能 (3)

1.1.1 研究AI时经常用到的方法 (3)

1.1.2对应与人工智能的搜索 (4)

1.1.3 人工智能的操作 (4)

1.1.4 人工智能的应用 (4)

1.2游戏中的人工智能 (5)

1.2.1 射击类游戏中的人工智能 (6)

1.2.2 角色扮演类游戏中的人工智能 (6)

1.2.3 即时战略类游戏中的人工智能 (7)

1.3 游戏AI的作用 (9)

1.3.1 增加游戏得挑战性 (9)

1.3.1 增加游戏得可玩性 (9)

1.3.1 帮助展开游戏情节 (9)

1.4 游戏AI的设计目的 (9)

第二章常见的人工智能在游戏开发中的技术手段 (9)

2.1寻径 (10)

2.2 有限状态机 (10)

2.3 模糊逻辑 (10)

2.4 贝叶斯技术 (10)

2.5 遗传算法 (11)

2.6 人工神经网络 (11)

2.7 人工生命 (11)

2.8 脚本语言 (11)

第三章人工智能技术在游戏发展中的展望 (11)

3.1 学产界的加速融合 (11)

3.2 AI引擎的独立发展 (11)

3.3 云计算带来新格局 (11)

3.4 机器学习创造有生命力的AI (12)

3.5 可扩展性 (12)

3.6 游戏角色学习能力的模拟日益完善 (12)

游戏中人工智能的进展

贾晓宇

摘要:当下各种游戏类型丰富在我们的生活中,不论你处于什么样的年龄段,总会有适合的游戏可以填充你的空闲时间,游戏已经在最大化的包围生活。游戏化,可以重塑人类积极的未来。三维渲染和图形视效已发展到一个顶峰,游戏开发的重心逐步从“图形”转向“人工智能”。“人工智能技术”更好的应用于游戏开发中,使得游戏表现出与人类智能行为、思维活动或情感等相符合的特性。通过人工智能,玩家在游戏中得到更好的体验,玩家在游戏中更愉悦、更充实,也能使人际交往更真实、更深入、更多元,“游戏人工智能”是游戏生命力得以延续的一种强大技术,在国内外学术界和产业界引起了广泛的关注与重视。

关键字:人工智能游戏应用游戏开发用户体验

第一章人工智能以及游戏中的人工智能

1.1人工智能

普通公众对人工智能快速发展的认知,始于2016年初AlphaGo(阿尔法狗)的惊世对局。在欣赏围棋对局的同时,人们总是不惜发挥丰富的想象,将AlphaGa或类似的人工智能程序与科幻电影中出现过的,拥有人类智慧,可以和人平等交流,甚至外貌与你我相似的人形关联起来。

(图一)

图一:柯洁谈AlphaGO。

随着互联网应用的普及和人们对互联网的依赖,互联网的安全问题也日益凸显。恶意程序、各类钓鱼和欺诈继续保持高速增长,同时黑客攻击和大规模的个人信息泄露事件频发,与各种网络攻击大幅增长相伴的,是大量网民个人信息的泄露与财产损失的不断增加。根据公开信息,2011年至今,已有11.27亿用户隐私信息被泄露。包括基本信息、设备信息、账户信息、隐私信息、社会关系信息和网络行为信息等。

1.1.1 研究AI时经常用到的方法

(1)心理模拟,符号推演。模拟人脑的逻辑思维,利用显式的知识和推理来解决问题,擅长实现人脑的高级认知能力。

(2)生理模拟,神经计算。具有高度的并行分布性,很强的鲁棒性和容错性,擅长人脑的形象思维,便于实现人脑的低级感知功能。

(3)行为模拟,控制计划。具有自学习、自适应、自组织特性的智能控制系统和智能机器人。

(4)群体模拟,仿生计算。成果可以直接付诸于应用,解决工程问题和实际问题。

(5)博采广鉴,自然计算。模仿和借鉴和自然界的某种机理而设计技术模型。

(6)原理分析,数学建模。纯粹用人的智能去实现机器智能。

1.1.2对应与人工智能的搜索

(1)盲目搜索:无向导的搜索,树式盲目搜索就是穷举搜索,不回溯的线式搜索是随机的碰撞搜索,回溯的线式搜索也是穷举式搜索。

(2)启发式搜索:利用“启发式信息”引导的搜索策略,“启发式信息”就是与问题有关的有利于尽快找到问题解的信息和知识,启发式搜索分为不同的策略,如:全局择优、局部择优、最佳图搜索。按扩展顺序不同可分为广度优先和深度优先。

1.1.3 人工智能的操作

虽然人工智能所用到的知识量很丰富,但它所运用到的基本操作技术于目前只基于三种:

(1)表示:符号智能的表示是知识表示,计算智能的表示一般是对象表示。

(2)运算:符号智能的运算是基于知识表示的推理或符号操作,计算智能的运算是基于对象表示的操作或计算。

(3)搜索:符号智能在问题空间内搜索进行问题求解,计算智能在解空间搜索进行求解。

1.1.4 人工智能的应用

目前人工智能应用的范围十分广泛,例如,难题求解、自动规划、调度与配置、机器定理证明、自动程序设计、智能控制、智能决策、智能管理、智能通信、智能仿真、智能CAD、智能制造、智能CAI、智能人机接口、模式识别、数据挖掘与数据库中的知识发现、计算机辅助创新、计算机文艺创作、机器博弈、智能机器人等……

在人工智能进入到我们的视野的时候,许多人对它都充满了好奇,就以我们现在离不开的手机为例来说。在智能机里都会安装很多的应用,而人工智能就是手机上许多应用程序的核心驱动力。如苹果手机里的Siri、百度度秘、微软小冰以及现在很多安卓应用里的一些智能助理和智能聊天应用,这些方式正在试图逐步颠覆我们和手机交流的根本方式。并且在人工智能的驱动下,谷歌、百度等搜索引擎早已提升了智能问答、智能助理、智能搜索的新层次。很多人都使用过谷歌翻译,因为只要输入你要翻译的段落或者只需要一句话,它都可以找出全文,这些就是人工智能的深度学习并且都在迅速发展。现代的人都很爱自拍,说道自拍就必须想到一些美图应用,而最先兴起的应用就是美图秀秀,那么美图秀秀究竟是如何识别人脸并做出相应的改变和调整呢?这一切也是人工智能的功劳,美图秀秀应用利用人工智能技术自动对照片进行美化。现在的出行也变得特别方便,使用滴滴或者Uber,随时随地,人工智能的作用就是帮助死机选择路线并且规划车辆调度方案。风靡全球的剁手APP——淘宝,这个电子商务网站使用人工智能技术为你推荐最适合你的商品,而且先进的仓储机器人、物流机器人和物流无人机正帮助电子商务企业高效、安全地分发货物。许多外卖软件的出现及时迎合了当代人生活的节奏,通过人工智能能够快速的为你定位附近的餐饮,在无需与店家联络的情况下,就能够实现自主下单,非常方便。

(图二)(图三)

图二:安卓界面的手机APP。

图三:图一中各种APP的人工智能方面。

1.2游戏中的人工智能

在很多的不爱玩游戏的人的眼中,游戏世界仿佛是洪水猛兽。而事实上,眺望互联网的远方,有两个脉络隐隐呈现:1、协作的机制从强制变成自由;2、劳动的动机从自利变成游戏。所以“游戏”二字正在发生历史性的蜕变。其实游戏也是一种是美丽的事物,它努力在虚拟世界里为所有玩家提供一种平衡感。随着人工智能的到来,游戏在我们身边的存在感更加强烈,几乎无处不在,而且似乎我们也在与智能机器和平相处。每当前沿科技取得了重大的突破,人工智能的应用会更加丰富,而且带来的体验也会变得更加恢宏。游戏并不是只是游戏,它是人类对未来生活的美好图景的向往。

游戏AI是属于弱AI的范畴,是人工智能科学技术领域的一个新兴的、活跃的学科分支,是计算机游戏和人工智能相结合的产物。游戏AI的定义是非常广泛的和灵活的,凡是能够产生适当水平的智能从而让游戏更加逼真,有挑战性,最重要的是是游戏变得更加有趣的东西都可以被当作为游戏的AI。一般说来就是指游戏中,计算机控制的非玩家角色能够模拟人类思维或者现实中的其他生物,表现出一定的智能行为,好的AI使游戏变得更加逼真,更加接近现实。

游戏中的人工智能,其实还是算是游戏开发中有点挑战性的模块,说简单点呢,是状态机,说复杂点呢,是可以帮你打开新世界大门的一把钥匙。现在的大部分玩家已经不会惊讶于界面上行人自然的动作和与玩家之间如同人类交流的交互方式了。战略游戏里的虚拟主公们也会对玩家的精妙操作做出及时的反应。甚至多人对战游戏的电脑教练也能有板有眼地训练菜鸟玩家,让他们快速达到登堂入室的水平,和其他玩家对战。这一切的背后,都有游戏人工智能的身影。少了AI的电脑游戏,玩家已经很难想象是一种怎样的死气沉沉的界面了。游戏AI有了如此突飞猛进的发展,不得不说是骨灰玩家们的一大福音。过去的20年里,游戏中的人工智能已经有了显著的进步。对于当今的游戏开发者们来说,创造一套高效的AI系统与创造良好的游戏性和美妙的图像同样重要。各个工作室在游戏开发的初始阶段

就开始指派专有的编程团队负责游戏的A.I.设计。他们花费更多的资源和时间打造多样的、有能力且表现良好的非玩家角色(NPC)。更多的开发商利用高质量的A.I.设计使自己的游戏在竞争日趋白热化的市场中脱颖而出。

1.2.1 射击类游戏中的人工智能

在游戏界首创、用很低的技术难度让玩家体会到真实感的游戏是具有划时代意义的《德军总部3D》。这款

1992年发行的游戏被认为是第一人称射击游戏FPS的真正鼻祖,它的贡献不仅仅是为后来的射击类游戏划出一个

基本的模板。在游戏里,主角B.J会被附近的德军发现并追击,敏锐的狼狗也会循味而来攻击玩家。NPC对玩家

行为的即时反馈即使在前作《德军总部》和《超越德军总部》里也是玩家体会不到的。制作人员甚至做了NPC人

物的正反面(BOSS没有背面),当士兵背朝主角时就不会发现玩家的行踪。这种响应判定在以前的游戏里也是从

来没有出现过的。这个机制的开创性重在创意而不是技术本身。

(图四)(图五)(图六)

图四:游戏的第一人称视角。

图五:出现在视线里的射击对象。

图六:射击对象被击杀。

1.2.2 角色扮演类游戏中的人工智能

射击类游戏的AI好做,角色扮演类的AI就难了。FPS里的NPC只需要面对玩家一个人,而且看到玩家就开

枪,根本没有讨价还价的余地。程序员需要设置的就只是要不要开枪的触发器和开枪能否命中的概率。RPG游戏

本该也是如此,但为了增加游戏的丰富性,玩家往往还会有队友。敌人NPC优先攻击谁并不难设计,难的是怎么

让队友配合主角攻击?有时候玩家想要的是队友狂风暴雨般的猛攻,有时候则希望队友休养生息。这种战术上的

波动很难由AI设计师用规划器和行为树两种方法预先设定,就只能交给玩家自行处理了。《勇者斗恶龙》里常

有的一个桥段就是盗贼、战士和魔法师三个配角和主角英雄合体,然后由英雄一人负责移动,遇到怪物时则分开

攻击。这种典型的日式RPG战斗模式就是早期人工智能,虽然是有明显的不足,但是在早期的AI中已经是相当

大的突破。

(图七)

图七:《勇者斗恶龙》的游戏界面,图中即为主角英雄,旁边的三个血条即为游戏配角。在遇到怪物以后,系统设定会自动分开攻击。

1.2.3 即时战略类游戏中的人工智能

角色扮演类游戏可以用玩家的多重操作弥补游戏AI中不足的地方,即时战略类游戏又该怎么办呢?总不见得让玩家自己左右互搏吧。确实,即时战略类游戏曾经是最不受待见的游戏品类,因为对手实在是太弱了。打过《魔兽争霸3》的玩家基本上都会记得,当时的电脑AI还没有完全成熟,电脑端的操作就很容易被玩家破解这种情况下,当玩家基本在摸清套路后,就对游戏失去兴趣,很难使玩家全情投入在游戏中。

(图八)

图八:图中是《魔兽争霸3》中,玩家自己利用游戏中出现的BUG设置的密密麻麻箭塔,电脑根本无法攻击,玩家极易取胜,所以在后期玩家对游戏会失去图形。

后来声名鹊起的《命令与征服》系列第一部就不算一份太令人满意的游戏。尽管作为RTS类游戏的开拓者,它定义了一系列RTS的样板模式,比如资源采集、建设基地、军团作战和战争迷雾等元素,当时的玩家仍然很快就厌恶了这款祖爷爷级的游戏。AI的建造次序、出兵顺序都有一定的规律,掌握了这种规律的玩家就能在电脑组织攻势前反客为主。一直到了《红色警戒》第一部横空出世,才解决了AI中不足的问题,但也很有限。想挑战自己的玩家只能和电脑进行不公平的竞赛,可能你还在造兵营,而电脑已经二本了,这样的游戏也很难说让玩家满意。迄今为止即时战略游戏还是有这个弊病,电脑通过“作弊”弥补自己的不足。

不过玩家和人工智能的交互性一直是缠绕在程序员心头问题。在VR和家用动态捕捉普及之前,玩家只能通过键盘和鼠标跟NPC交流。这种低信息强度的交流用传统的行为树算法就够了(想想你在《上古卷轴5》里和雪

漫城卫兵的对话),没有必要引入人工智能。没有人难道想通过打字的方法和一个无所不知的NPC聊天。但在游

戏世界的下一个时代,玩家和程序更密切的交互一定会对人工智能的介入产生需求,最终倒逼高级的人工智能扮

演游戏AI的角色。

目前人工智能在游戏领域的应用还处在非常浅层次的阶段,我们以为NPC有智能,其实归根到底还是设计师

自身思维的体现罢了。但是随着这几年机器学习、遗传算法的飞速进展,或许我们很快就能在游戏里见到活灵活

现的虚拟人物了,这将是游戏生产追求的前景,也是玩家期待的场景,在游戏场景中得到更逼真的体验。

(图九)

图九:具有代表性的游戏AI发展表

在一年一度的游戏开发者大会上,越来越多的开发者开始讨论游戏AI设计的发展。游戏界越来越多地认识到AI 设计对于整个游戏开发过程的重要性。游戏的AI设计发生了翻天覆地的变化。越来越多的设计师抛弃了低水平的脚本设计,转而投入了更先进的“NPC行为系统”的开发。

游戏的AI设计已经从过去的“不出大错就算成功”进化到现在的“大多数游戏大作AI表现优秀,其中少数游戏还有创新”,越来越多的开发团队由“状态机器”过渡到了“行为树”和“计划器”。这些在10年前都是闻所未闻的,在当时的硬件条件下也不可能实现。

对于许多AI程序员来说,尽力让NPC的行为与真人接近仍是首要任务,而未来将改变游戏内的互动方式。理想的目标是让玩家始终沉浸在游戏中。NPC应该让人觉得是活生生会呼吸的人,而且这种方式在游戏中不会以任何方式被打破。人类的行为很有趣,像对话这种微妙的互动行为,在未来AI可能会实现。如果能在诸如此类的互动上有所突破,那么游戏中更多的部分将有更强的互动性。说不定会产生全新类型的游戏。

2011年E3游戏展微软专题,我们可以惊喜的从游戏展中看出展出的游戏中的令人激动的游戏AI与玩家精密配

合、动作丰富的队友、直接语音和队友对话指示其行为,施展魔法可以不是按键或点击,而是直接使用咒语或暗号还有手势来进行控制。

1.3 游戏AI的作用

1.3.1 增加游戏得挑战性

给玩家提供一种合理的挑战,是任何一种游戏AI得终极目标,如果游戏没有任何挑战性,那么这个游戏就没有趣味,不能称之为游戏,而变成了一种互动性电影。AI必须给玩家提供一种有趣得挑战,如果没有AI,那么游戏就会变得很没有意思,而游戏AI就是要为玩家提供有趣的挑战。而基本上现在所有的游戏都会包含不同的难度,如简单、一般、困难,可以适应不同玩家的需求。

1.3.2 增加游戏得可玩性

玩家希望游戏AI能给自己带来惊喜,希望游戏AI就像真人一样带来不确定性操作,用不可预测得方式击败玩家或者被玩家击败。目前游戏AI还是不能像真人一样和玩家交流,因此还无法代替现在的网络游戏的社会模拟和趣味

如果AI能使游戏里的一切事物变得不可预测,那么这个游戏就可以获得比其他游戏更高得耐玩性,玩家会因为新鲜感而一直玩它。游戏AI始终要给玩家各种各样得惊喜,从而吸引玩家得兴趣。

1.3.3 帮助展开游戏情节

如果游戏里只有单纯得字幕叙事,将会使游戏过程单调乏味。利用AI可以让玩家自己体验情节变化,情况得转变,事态得紧急等。比如NPC忧郁的神情,奇怪的行为或言语可以激发玩家去寻找答案的动力,带着更大得兴趣去进一步探索答案。虽然情节在游戏设定中是固定的,但无疑AI在原来得基础上极高的提升了去趣味性。

1.4 游戏AI的设计目的

游戏中需要智能角色,这一点是可以理解的,因为它们可以增强游戏的体验,并且改善游戏的可玩性。非玩家角色不必依赖于一个真实存在得人群,丰富了单人游戏的趣味性,并且对于多人游戏也提升了真实感。游戏中需要能够帮助自己得队友、足以致命的武器、特定方式的移动、需要战胜的敌人和背景环境来增强真实感和复杂性,因此智能NPC是必不可少的。

在不同的游戏中,玩家期待的AI目标也不相同,对于街机游戏或者俄罗斯方块就不需要有太高的AI,这种游戏的问题已经固定。而在另外一些游戏中,情况大不相同。对于策略游戏,玩家希望敌人能够非常聪明,不要太愚笨。在角色扮演游戏中,玩家希望进入类似现实世界的虚拟世界,角色的行动也要模仿真人。对于模拟人生得这一类游戏来说,就不再是NPC的AI了,而是游戏本身的AI,如果AI太低,要么游戏就会很简单,要么和真实世界差距太大,这个游戏也就没有什么可玩性。

第二章常见的人工智能在游戏开发中的技术手段

相对于学术理论,商业游戏更多的关注于用户体验和市场利润,从项目开发角度来看,技术人员主要关心的

是游戏的质量,以及这些新的人工智能技术是否行之有效。以下就简单介绍一些游戏开发中主流的人工智能技

术,这些技术大都在商业游戏中可以找到案例。在这里,AI技术是一种比较广泛的概念,更偏向于“弱人工智

能”,但无论如何,它们对游戏的发展起到了非常大的作用。

也许使用最广泛的游戏AI就是欺骗了。比如在一个战争策略型游戏中,电脑控制的军队不用放出侦察兵等东西就能够知道其对手也就是玩家操纵的军队的位置、数量、兵种等一系列的信息。这种形式的欺骗是非常常见的,这样有助于电脑智能的与玩家进行对抗,使得玩家感觉AI是很聪明的,拥有较强的战术性。

此外,不遵守平衡原则的欺骗将使得电脑过于强大,以至于玩家无法战胜电脑。虽然最终目的是要提高游戏难度,但并不是让玩家觉得他的所有努力都是徒劳,这必将让玩家失去对游戏的兴趣。因此欺骗必须要是平衡的,以保持游戏的趣味性。

当然,欺骗不是唯一行之有效的人工智能技术。优先状态机也是一种无处不在的游戏AI技术,但其基本的思想是枚举一系列可控制游戏角色的动作或状态,然后使用if-then 条件语句来对这些状态进行转变。

开发者通常使用模糊状态机以减小结果动作的可预见性,并减少枚举大量if-then规则的负担。你不用去定义一个精确的规则,比如在距离=10,健康度=100的情况时然后才进行攻击,模糊状态机将允许你制定一个具有不精确的条件的规则,例如你只需规定在接近并且健康的情况下然后进行攻击,而到底多接近,健康度是多少这些可以不用精确地定义。

在各种各样的游戏中,高效寻路是NPC要完成的一个基础的任务。在一个战争策略游戏中,一个NPC单位需要完成越过地形和躲避障碍物去接近敌人的行为。在一个第一人称射击类游戏中,被射击的生物,需要穿越地牢或建筑以完成接近或逃离玩家控制的人物行为。这种脚本情节是非常大量的,这难怪AI开发者对寻路算法给予了极大的关注。

这仅仅是游戏AI技术的一小部分,其他技术还包括脚本插入,规则系统还有一些只能生命技术。以下具体介绍几种在AI游戏中常用的技术方法。

2.1寻径

游戏角色最物理、最底层的活动即位移,而移动并不是漫无目的,它需要考虑障碍的存在、敌方的火力点、路径的耗费等诸多因素。甚至有很多专业人士说,寻径是游戏中最核心的问题,启发式寻径的A*算法是目前应用最广泛的优秀算法之一,A*算法是一种完备的可采纳的最好优先算法,近年来,出现了很多对A*算法的改进算法,如D*,IDA*,FSA*……

2.2 有限状态机

有限状态机在游戏开发中运用十分广泛,它是一种表示若干有限状态及状态之间跳转的模型。它将复杂的游戏抽象成一种简单的核心状态,这些状态在一定的触发条件下跳转,构成游戏的主线。随着游戏的复杂化,FSM 出现了诸多变种,常见的一个为模糊状态机,它是“被扩展原来的处理部分真值概念的传统逻辑的超集”,从而可同时具有多个状态,增加了游戏的不可预测形。另一个常见的变形即为层次状态机,它能推动有限状态机达到最佳状态,减少了设计的复杂性,并可扩展到大规模的游戏中。

2.3 模糊逻辑

“它是让计算机接近人类的形式去思考问题的一种技术,采用实数而不是布尔值来描述对象隶属于集合的程度,本质上是一个近似的度量”。主要用来威胁评估、战术分析、角色情绪建模等,能让游戏表现的更加细腻、多样。

2.4 贝叶斯技术

它主要解决非确定性情况下决策和推理问题,其数学基础是概率论,它能根据已知的结果推理可能导致事情发生的原因,描述不同对象之间的内在联系。在游戏中,多用来威胁评估和战术预测等。

2.5 遗传算法

它是根据自然优胜劣汰、适者生存的概念提出的仿真算法,多用来搜索问题的最优解,可解决很多非线性的问题,《遗传算法进化出完美的洞穴巨人》,《遗传算法的自适应防御策略》是较为经典的成功应用。

2.6 人工神经网络

生物体大脑能基于神经网络协同、并行的处理海量信息并做出决策,人工神经网络算法的数学模型正基于此。它具有机器学习的诸多优点,一个简单的问题的三层神经网络就能模拟任何逼近任何非线性的函数,解决诸多非确定性问题,属于高级别的人工智能应用。众多类型的神经网络中的BP神经网络是应用的突破点,BPNN经过多年的理论改进表现出了良好特性。如动量因子、学习因子、徒然因子的引入很好的解决诸如陷入局部极小值、学习速率慢等问题。

2.7 人工生命

用计算机手段虚拟创建生物,给玩家以颠覆性的体验。玩家可以教自己的电子宠物学习,来塑造属于他们自己的游戏角色,这是前所未有的体验。此外还有机器学习、仿真群聚、规则式脚本、专家系统、图搜索算法、多Agent等。

2.8 脚本语言

脚本语言是一种解释性语言,通常用于控制游戏中的AI模式。它在游戏中可以驱动事件,为非玩家角色的

智能行为建模,实现某些任务的自动化功能。

第三章人工智能技术在游戏发展中的展望

3.1 学产界的加速融合

游戏产业一直都是AI理论研究和效果检验的“沃土”,AI学术界与游戏开发有着不可分割的联系。虽然由于知识产权、商业利润等因素,导致Game AI与学术界存在鸿沟,但许多智能游戏的成功入市、强烈的市场反响以及政府的科研经费的大力支持,使得人们越来越意识到人工智能的价值之所在。诸多研究机构、著名大学和公司达成了战略联盟。以德克萨斯大学为例,他们的数字媒体实验室创新的将AI研究与视频游戏的开发结合成了一个实践项目,取得了非常好的科研和教学效果,这种模式已在美国其他高校推广,学产界的融合已是一种流行的趋势。

3.2 AI引擎的独立发展

未来的游戏引擎已经不是单一的建立在传统图像之上的概念,游戏引擎已经进化出AI的雏形,并在商业中逐步应用开来,从Game AI的技术难度、敏捷软件开发以及软件复用的角度来看,势必会出现独立的AI引擎、中间件、智能卡等产品。由一系列知名开发者组织的“人工智能接口标准委员会(The Aritificial Intelligence Interface Standards Committe,AIISC)”就是来标准化和统一这些接口。他们同时也指出“现在的开发者也很少用到高层次的AI,如可信的、妙趣横生的NPC角色,它们能学习且有自己的情感、复杂的推理和交流技术,甚至能自发的叙述故事来动态的满足玩家,这些中间件的出现是必然的”。

3.3 云计算带来新格局

云计算的到来让游戏开发者最直接的收益就是AI能进一步的从时空的桎梏中解脱出来。“云计算游戏”与云计算的模式基本一致,游戏完全运行在云端,客户端只负责接收游戏的输入和显示图像。云端庞大的服务器集群,完全有能力独立出专门的Game AI服务器来,届时在更大的内存与CPU计算时间的允许下,诸如遗传算法、超大规模神经网络、海量知识学习等更多革命性的技术将淋漓尽致的发挥优势。由于客户端与服务器端的分离,开发人员也不用担心代码跨平台的问题,能将更多的精力集中在AI的设计而非移植上。Gaikai、On Live等公司已经在相关方面做了卓越的,成效的尝试,并与数家游戏出版商签署了相关协议[28,29],云计算游戏已初见端倪。由于客户端与服务器端的分离,开发人员也不用担心代码跨平台的问题,能将更多的精力集中在AI的设计而非移植上。Gaikai、On Live等公司已经在相关方面做了卓有,成效的尝试,并与数家游戏出版商签署了相关协议[28,29],云计算游戏已初见端倪

3.4 机器学习创造有生命力的AI

真正的3D已成游戏入市较低门槛时,游戏的生命力和市场占有率很大程度上依赖于游戏的AI,而AI的生命力则建立在学习之上。人类的发展离不开学习与创造,一个能学习进化的AI才是真正有生命力的AI,在许多书籍中,都有作者系统的阐明了游戏中使用机器学习的优势、方法等。机器学习能够通过经验来改善游戏的AI、动态调整战术、让玩家训练属于自己个性化角色的游戏,还有部分书籍与报告介绍了强化学习(Reinforcement Learning)在RoboCup比赛中的应用,取得了非常好的成效。学习是AI延续生命的主流手段,是未来AI发展不可逆转的趋势。

3.5 可扩展性

在游戏中,目前流行和普及的游戏AI基本是基于规则的,而对玩家来说,最激动人心的莫过于依照自己的口味和爱好,对游戏AI进行一番全面的修改和整理。由此可解决因游戏AI的智商太低而导致游戏角色的机械思维问题。因此,可扩展的AI技术将会成为主流的发展趋势之一。目前,市场上已经有很多款游戏成功的使用了可扩展的AI技术,证明了它在多种游戏类型中的可行性。随着这种技术的发展,玩家们可以完全按照自己的喜好自由的去改编游戏AI。

3.6 游戏角色学习能力的模拟日益完善

学习能力是指在游戏中,游戏角色应随着各种经历和经验在成长。这种AI智能可以通过机器学习技术实现。目前,大部分游戏在模拟学习功能的方法上是通过将当前的形势与已经经历过的形势进行类比,来获得更高智能水平的决策行为。随着游戏产业的日益发展和壮大和新型AI技术不断的尝试和改进,更多更复杂的机器学习技术将会被应用到游戏中,并将极大提高游戏AI的学习能力。

随着网络技术和AI学科的发展,必将会对游戏(Game AI)产生深远的影响。目前,游戏作为一个产业在我国已经初步形成,它也会带动人工智能的研究和发展。不过,人工智能还有很多方面等着我们发掘和开发,它的复杂性还需要我们长期坚持和突破。

MMORPG游戏的人工智能(AI)和行为树设计

MMORPG游戏的人工智能(AI)和行为树设计 什么是MMORPG的AI? 玩MMORPG的地球人都知道,MMORPG的AI实在是弱智的要死。即使是在WOW这样顶级的游戏中,AI也是有限得掉渣,绝大部分NPC都像一个木桩一样,哪怕是精心设计的BOSS也就只有一些战斗AI。尽管有很多人把动画,或者自动寻路之类的功能也叫做AI,但是我们并不讨论这种基本功能。我们讨论的AI是指,可以使得NPC好像一个真人一样活动的AI。拥有这样AI的NPC 看起来就不再是那个只有血条和攻击力的模型,而给玩家的感受会是一个有信念、欲望和意图的生命。从更广泛的意义上说,如果整个游戏世界是“高AI”的,那么这个游戏世界会充满着自由度。这意味着玩家可以在游戏中“创造”出前所未有的武器、科技甚至会有能力改变整个游戏世界外貌和文明。如果真正出现这样一款MMORPG,那么赢得粉丝们的惊声尖叫应该并不意外。品管中心孕育中的项目“失落的大陆”目前就正在向这个方向努力中,希望能够取得一定水准的突破。 AI系统 一个典型的AI系统包括,感知,导航和决策三个字系统。对于游戏来说,感知系统是可以“作弊”的,不需要NPC去“感知”世界,系统可以直接告诉NPC 世界是怎样的。而导航系统,不属于今天的讨论范围。而决策系统才是让NPC 看起来可以有自己的意图和信念,所以我们接下来主要讨论一下决策系统。

AI决策系统的常见模型 最早,游戏AI决策系统往往是这样写的:1.switch(自己){ 2. 3.case"血量充足": 4. 5.打怪(); 6. 7.break;

8. 9.case"快死了": 10. 11.补血(); 12. 13.break; 14. 15.case"死了": 16. 17.游戏全局->Gameover(); 18. 19.break; 20. 21.} 复制代码 随着硬件的提高,可以分给AI执行的CPU时间越来越长,老板们对AI的要求自然也提高了,比如说老板可能会想出这样的策略:血量80的时候用魔法补一补就行了,血量60的时候吃个小血瓶,血量40的时候吃大血瓶,血量20的时候赶快逃跑。 于是AI程序员就需要找到上面这个switch,然后修改里头的case。想象一下,万一碰到了一个Dota高手当老板,心中有着各种很NB的杀敌策略,需要随时根据环境状态判断利用哪种策略。当策略越来越多,很快,一个带有上万行代码的函数就横空出世了!如果这个时候遇到bug了,甭说修复了,仅仅是阅读这个函数就恐怕就得呕吐了。。。 毫无疑问,上面的方法在遇到大量的状态的时候会让代码崩溃,不过经过无数前辈前仆后继用各种切身努力,帮我们提出了一种又一种精简代码的手段。目

游戏人工智能的发展与展望

XXXX大学 人工智能专题研究 游戏人工智能的发展与展望 学院计算机科学与技术学院 学生姓名 学号 指导教师姓名 2011年12月26日

目录 课题研究背景及问题的提出 (3) 一、人工智能及游戏人工智能简介 (4) 1、人工智能简介 (4) 2、游戏人工智能简介 (4) 二、游戏AI设计目的 (4) 1、增加游戏的挑战性 (5) 2、增加游戏可玩性 (5) 3、帮助展开游戏情节 (5) 三、定性与非定性AI (5) 1、定性的游戏AI (5) 2、非定性的游戏AI (6) 四、现有的一些游戏AI技术 (6) 五、从一些具体的游戏实例中看游戏AI (7) 1、魔兽世界的一些小AI (7) 2、即时战略强大的AI (7) 3、战棋类AI和即时战略AI的比较 (7) 六、游戏AI的展望 (8) 1、我所希望的游戏AI的改观 (8) 2、未来的游戏AI发展 (8) 七、总结 (9) 参考资料 (9)

课题研究背景及问题的提出 1、游戏产业的飞速发展 游戏是一项新兴事物,但游戏的发展十分迅速。在国外,游戏开发经历了20余年的风雨,现在已成为一个高技术,高利润和高速发展的行业。在中国,游戏特别是网络游戏,构成了IT 行业中新型的利润增长点,中国游戏产业也开始蓬勃发展。由于中国拥有最大数量的游戏玩家和用户,使得中国游戏市场已经成为全球最关注的市场。 2、游戏离不开人工智能 我们从小就接触了电子游戏,可以说是见证了游戏业的不断发展与进步。我们玩的游戏越来越高级,越来越精彩。从最早的俄罗斯方块,到小霸王,到魔兽,到现在的纷繁的令人眼花缭乱的各种单机游戏以及网络游戏。我们不禁要问:这些游戏吸引我们的是什么,为什么有的游戏经久不衰,令人乐此不疲,一遍又一遍的玩;有的却索然无味,最多玩两遍就不去再碰?毫无疑问,游戏人工智能是极其重要的一个方面。 我们最早开始知道游戏人工智能存在应该是在即时战略类游戏中,与电脑操纵的部队进行战斗。在魔兽争霸出现之前,国外玩家就很热衷于与电脑进行即时战略对战,那类的游戏也是各种各样层出不穷。但当魔兽争霸出现后立即占领了市场,因为它允许玩家进行局域网联机对战,也就是说,玩家更倾向于“与人斗其乐无穷”,而不是那些死板的,摸透了的,低级的“电脑”----它们需要进化。可以看出,正是玩家的需求促使了游戏人工智能的前进。 3、问题的提出 在游戏业长久的发展中,游戏人工智能在不断进步,带给我们一个又一个惊喜。作为一个电脑游戏爱好者以及计算机专业的学生,使得我对游戏人工智能在游戏中的作用,玩家需要什么样的游戏人工智能及未来的人工智能将会是什么样的产生了极大的兴趣。因此我对这方面进行了一些简单的研究。 关键字:人工智能游戏AI 发展非定性

新兴人工智能应用(练习一:人工智能游戏)

新兴人工智能应用(练习一:人工智能游戏) 1、(单选,10分) 井字棋游戏,是一种在()格子上进行的连珠游戏? A、2*2 B、3*3 C、4*4 D、5*5 答案:B 2、(单选,10分) 美国科学家经过18年的努力,构建了一个无法被击败的西洋跳棋人工智能程序是(),就是最顶尖的跳棋选手也只能和它打成平手。 A、Tic-Tac-Toe B、TD-Gammon C、Chinook D、深蓝 答案:C 3、(单选,10分) 人工智能游戏用到的主要技术错误的是() A、决策树 B、有限状态机 C、神经网络 D、区块链 答案:D

决策树通常有()个步骤 A、二 B、三 C、四 D、五 答案:B 5、(单选,10分) 有限状态机有()个要素 A、二 B、三 C、四 D、五 答案:C 6、(单选,10分) 神经网络的组成层次中错误的是() A、输入层 B、隐藏层 C、中间层 D、输出层 答案:C

OpenAI 使用一种称为()的方法来训练AI,这种技术看似简单,却能让AI 学习复杂的行为。 A、决策树 B、有限状态机 C、神经网络 D、强化学习 答案:D 8、(单选,10分) AlphaStar之所以能战胜人类,错误的原因是() A、使用深度增强学习来实现训练模型,包含了强化学习和深度学习 B、高度可伸缩的分布式训练系统 C、AI的反应较快,视野较好,不会墨守成规 D、AlphaStar运气好 答案:D 9、(单选,10分) AlphaStar与两位《星际争霸2》人类职业选手进行了11场比赛对决演示,人类取得了0场胜利。 A、正确 B、错误 答案:B 10、(单选,10分) 人工智能游戏可以应用到兵棋推演、战术推演、模拟驾驶和军事训练中。

人工智能技术在游戏中的应用解读

人工智能技术在游戏中的应用 学院 专业 研究方向 学生姓名 学号 任课教师姓名 任课教师职称 2012年6月22 日

人工智能技术在游戏中的应用 前言:人工智能(Artificial Intelligence) ,英文缩写为AI。它是研究、开发用于模拟、延伸 和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机 科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出 反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系 统等,研究成果已经广泛地用于了各行各业,当然也包括游戏。 我们玩电脑游戏,主要是为了得到一种放松、一种享受、以及在现实生活中无法得到的一种快感。这需要电脑游戏能制作得符合玩家的口味,游戏的主题能够吸引玩家深入,游戏的规则和结果能够使得玩家满意。而在这一切中,人工智能技术扮演了相当重要的角色。摘要:本文探讨了当前人工智能游戏中的应用状况,阐述了游戏AI的应用技术,并列举。 关键词:游戏;人工智能;有限状态自动机;模糊逻辑;产生式系统;决策树;人工生命; 专家系统;神经网络;遗传算法 1. 电脑游戏与人工智能的关系 电脑游戏从诞生以来,由于其强大的模拟现实作用,越来越受到人们的喜爱。随着现代计算机、网络、虚拟现实、人工智能等技术的发展,游戏的拟人化越来越逼真。高度的拟人化使得现代电脑游戏能够模仿人类社会中的各种情形,并把这些情形通过视觉、听觉、甚至触觉等多种感官反映到人的大脑,从而对人们的现实生活产生巨大冲击。 无论是什么游戏,游戏玩家都希望在游戏中能够体验到现实中无法体验到的刺激,得到现实中无法得到的满足。这些刺激和满足主要表现在特定的挑战、社会化、幻想、情感等方面。 人们在玩电脑游戏的时候,也希望游戏中的其他角色能够拥有某些程度上的智能。这些智能可以使得人们能够在游戏的同时得到满足,它可以使人在进行游戏中不觉得孤单。然而,这种智能必须得到控制。如果游戏中的机器角色的智能明显高于玩家的能力,玩家会有很强烈的挫败感,之后便会放弃这样的游戏。所以,人工愚蠢(Artificial Stupidity)技术也是必不可少的。在游戏中,太强或太弱的人工智能都是不合适的。 那何种程度的人工智能才是合适的呢?回答这个问题首先要考虑怎样的机器可以算作智能机器。这里就不能不提人工智能之父图灵。图灵在1950年提出了“图灵实验”的概念,他认为能够通过图灵实验的机器是具有智能的。其实,在游戏中也是一样的。“图灵实验”在游戏中可以这样描述:当玩家和其他玩家同诸多机器在同时游戏时,如果这个玩家通过游戏规则中的任何方式都无法分辨游戏中的其他角色哪个是其他玩家,哪个是机器的线程,那么我们可以说这个游戏通过了“游戏中的图灵测试”。一般来说,通过了“游戏中的图灵测试”的游戏是最适合玩家娱乐的。 最近网络游戏大量流行,我觉得,网络游戏也许是人工智能最佳的实验场合。因为网游是现实社会的一个简化版本,这在里,大量需要各种处理问题的知识与技巧,需要各种类

游戏AI介绍

期末作品报告 课程名称:专业英语 学号: 姓名: 班别:

填写须知 一、个人独立完成作品和报告,不得抄袭。 二、报告字体用小四号宋体,单倍行距,要求统一用A4纸双面打印。

1.全文翻译 游戏AI介绍 在广义上说,大多数游戏都包含一些人工智能(AI)的运用。例如,开发人员多年来都使用AI来给游戏中无数的人物以生命力,从经典的街机游戏Pac Man的鬼魂到第一人称射击游戏中的机器人,还有很多其他游戏。各种各样的游戏类型和游戏人物对什么是游戏AI给出了一个相当广泛的解释。事实上,AI也在其他传统的科学领域得到广泛的运用。 一些开发商认为路径搜索是游戏AI的一部分,有些则认为碰撞检测是游戏AI 的一部分。显然,广义上来说游戏AI是无处不在的。我们要继续解释什么是游戏AI,包括从简单的追逐和逃避在内的一切运动模式,以及神经网络和遗传算法。游戏AI 属于弱AI的范畴是最适合的,但是,在某个意义上,你可以想象游戏AI应用领域的广泛程度。 在游戏中,我们不一定对给参与游戏的机器方以人水平的智能感兴趣。也许我们可通过写代码来控制非人类的生物,比如龙、机器人,甚至老鼠。另外,谁说我们必须赋予机器方智慧呢?不赋予机器方智慧以增加游戏内容的多样性和丰富性。虽然游戏AI经常被呼吁解决相当复杂的问题,但我们可以利用AI去尝试给机器方以个性模样、不同的性格,或塑造情感和各种性情,如,害怕,焦虑,等等。 游戏AI的定义是相当广泛和灵活的。凡是能够产生适当水平的智能从而让游戏更加逼真,有挑战性,最重要的是使游戏变得更加有趣的东西,都可以被当做为游戏AI。正像在游戏中使用真实的物理现象那样,优良的AI增加了游戏的沉浸性,吸引游戏者,使他们一度置身于虚拟世界中。 定性与非定性的AI 游戏AI技术一般有两种形式:定性和非定性。 定性 定性的行为表现是具有指定和可预见性。不含有任何的不确定性。一个简单的追逐算法就是定性行为的一个例子。您可以在代码中设定机器方角色朝某一目标点沿x 和y坐标轴推进,直到角色的X和Y坐标与目标位置一致。 非定性 非定性行为和定性行为正好相反。这些行为具有一定程度的不确定性并且是不可预测性(不确定性的程度取决于AI方法的应用以及这些方法的执行情况)。机器方学习并适应玩家的战斗策略就是一个非定性行为的例子。这种学习方法可以使用神经网络算法、贝叶斯算法,或遗传算法完成。

2020年新兴人工智能应用试题及答案

2020年新兴人工智能应用试题及答案 练习一:人工智能游戏 1、(单选,10分) 井字棋游戏,是一种在()格子上进行的连珠游戏? A、2*2 B、3*3 C、4*4 D、5*5 答案:B 2、(单选,10分) 美国科学家经过18年的努力,构建了一个无法被击败的西洋跳棋人工智能程序是(),就是最顶尖的跳棋选手也只能和它打成平手。 A、Tic-Tac-Toe B、TD-Gammon C、Chinook D、深蓝 答案:C 3、(单选,10分) 人工智能游戏用到的主要技术错误的是() A、决策树 B、有限状态机 C、神经网络 D、区块链 答案:D

4、(单选,10分) 决策树通常有()个步骤 A、二 B、三 C、四 D、五 答案:B 5、(单选,10分) 有限状态机有()个要素 A、二 B、三 C、四 D、五 答案:C 6、(单选,10分) 神经网络的组成层次中错误的是() A、输入层 B、隐藏层 C、中间层 D、输出层 答案:C 7、(单选,10分) OpenAI 使用一种称为()的方法来训练 AI,这种技术看似简单,却能让 AI 学习复杂的行为。 A、决策树

B、有限状态机 C、神经网络 D、强化学习 答案:D 8、(单选,10分) AlphaStar之所以能战胜人类,错误的原因是() A、使用深度增强学习来实现训练模型,包含了强化学习和深度学习 B、高度可伸缩的分布式训练系统 C、AI的反应较快,视野较好,不会墨守成规 D、AlphaStar运气好 答案:D 9、(单选,10分) AlphaStar与两位《星际争霸2》人类职业选手进行了11场比赛对决演示,人类取得了0场胜利。 A、正确 B、错误 答案:B 10、(单选,10分) 人工智能游戏可以应用到兵棋推演、战术推演、模拟驾驶和军事训练中。 A、正确 B、错误 答案:A 练习二:人工智能安全 1、(单选,10分)

人工智能与棋类

从“算”到“学”,人工智能的进化 1997年,IBM的“深蓝”战胜了卡斯帕罗夫(全名加里·基莫维奇·卡 斯帕罗夫(ГарриКимовичКаспаров),俄罗斯国际象棋棋手,6岁开始下棋,13岁获得全苏青年赛冠军,15岁成为国际大师,16岁获世界青年赛第一名,17岁晋升国际特级大师,在22岁时成为世界上最年轻的国际 象棋冠军,是第十三位国际象棋世界冠军)。在“深蓝”设计者许峰雄看来,“深蓝”主要依靠强大的计算能力穷举所有路数来选择最佳策略:“深蓝”靠硬算可以预判12步,卡斯帕罗夫可以预判10步。

2006年,超级计算机浪潮天梭与中国象棋特级大师许银川的较量最终以平局收场,然而许银川在赛后感慨道:“整个比赛感觉很吃力,因为电脑一步可以算16个变化,而我只能凭借经验和理解与它对抗。而跟我下棋的对手不是真人,这让我感觉很寂寞,我想我还是习惯和有表情交流的真人对弈。” 凭借超越特级大师对后续变化的计算能力,人工智能在此前的多场棋类人机大战中占据上风。但在围棋,人工智能始终无法战胜人类高手。为什么? 要想在围棋上战胜人类顶尖棋手,必须先要让电脑学会像人一样

思考。为此,谷歌为AlphaGo设计了两个神经网络:“决策网络”(policy network)负责选择下一步走法,“值网络”(value network)则预测比赛胜利方,用人类围棋高手的三千万步围棋走法训练神经网络。与此同时,AlphaGo也自行研究新战略,在它的神经网络之间运行了数千局围棋,利用反复试验调整连接点,完成了大量研究工作。 而这种超强的学习能力,正是AlphaGo在战胜职业二段樊麾5个月之后,就可以挑战人类顶尖棋手并“战而胜之”的关键所在。 如果说20年前的超级计算机还在依靠穷举这种有些粗暴的手段 才能战胜人类,那么今天AlphaGo在与职业棋手的两场对弈中,所表现出来智慧和超强学习能力则更加让人惊叹。 深度学习,人工智能的未来

精编(人工智能)游戏编程中的(人工智能)技术

(人工智能)游戏编程中的(人工智能)技术

游戏编程中的人工智能技术 <神经网络入门> (连载之一) 用平常语言介绍神经网络 (NeuralNetworksinPlainEnglish) 因为我们没有很好了解大脑,我们经常试图用最新的技术作为一种模型来解释它。在我童年的时候,我们都坚信大脑是一部电话交换机。(否则它仍;之上;且;当下;和;可是;能够;俩;见;某公司;运营;能是什么呢?)我当时仍;之上;且;当下;和;可是;能够;俩;见;某公司;运营;看到英国著名神经学家谢林顿把大脑的工作挺有趣地比作一部电报机。更早些时候,弗罗伊德经常把大脑比作一部水力发电机,而莱布尼茨则把它比作了一台磨粉机。我仍;之上;且;当下;和;可是;能够;俩;见;某公司;运营;听人说,古希腊人把大脑功能想象为一付弹弓。显然,目前要来比喻大脑的话,那只可能是一台数字电子计算机了。-JohnR.Searle[注 1] 神经网络介绍(IntroductiontoNeuralNetworks) 曾有很长一个时期,人工神经网络对我来说是完全神秘的东西。当然,有关它们我在文献中已经读过了,我也能描述它们的结构和工作机理,但我始终没有能“啊哈!”一声,如同你头脑中一个难于理解的概念有幸突然得到理解时的感觉那样。我的头上好象一直有个榔头在敲着,或者像

电影AnimalHouse(中文片名为“动物屋”)中那个在痛苦地尖叫“先生,谢谢您,再给我一个啊!”的可怜家伙那样。我无法把数学概念转换成实际的应用。有时我甚至想把我读过的所有神经网络的书的作者都抓起来,把他们缚到一棵树上,大声地向他们吼叫:“不要再给我数学了,快给我一点实际东西吧!”。但无需说,这是永远不可能发生的事情。我不得不自己来填补这个空隙...由此我做了在那种条件下唯一可以做的事情。我开始干起来了。<一笑> 这样几个星期后,在一个美丽的日子里,当时我在苏格兰海边度假,当我越过一层薄雾凝视着狭长的海湾时,我的头脑突然受到一个冲击。一下子悟到了人工神经网络是怎样工作的。我得到“啊哈!”的感觉了!但我此时身边只有一个帐篷和一个睡袋,仍;之上;且;当下;和;可是;能够;俩;见;某公司;运营;有半盒子的脆玉米片,没有电脑可以让我迅速写出一些代码来证实我的直觉。Arghhhhh!这时我才想到我应该买一台手提电脑。不管怎样,几天后我回到家了,我立刻让我的手指在键盘上飞舞起来。几个小时后我的第一人工神经网络程序终于编成和运行了,仍;之上;且;当下;和;可是;能够;俩;见;某公司;运营;且工作得挺好!自然,代码写的有点乱,需要进行整理,但它确实已能工作了,仍;之上;且;当下;和;可是;能够;俩;见;某公司;运营;且,更重要的是,我仍;之上;且;当下;和;可是;能够;俩;见;某公司;运营;知道它为什么能工作!我可以告诉你,那天我是一位非常得意的人。 我希望本书传递给你的就是这种“啊哈!”感觉。当我们学完遗传算法时,你可能已尝到了一点感觉,但你希望这种感觉是美妙的话,那就要等把神经网络部分整个学完。 生物学的神经网络-大脑 (ABiologicalNeuralNetwork–TheBrain)

游戏人工智能 有限状态机的实验报告

实验三:有限状态机 姓名:廖远东班级:数媒2 学号:E10700217 一、实验目的 掌握有限状态机的原理,并会使用有限状态机,要求能编程序实现一个案例如书上蚁群世界。. 二、实验仪器 linux 下的codeblock 三、主要代码 ant.h: #ifndef ANT_H_INCLUDED #define ANT_H_INCLUDED #define kGround 1 #define kWater 2 #define kBlackHome 3 #define kRedHome 4 #define kPoison 5 #define kFood 6 #define kMaxWater 15 #define kMaxPoison 8 #define kMaxFood 20 #define kRedHomeRow 5 #define kRedHomeCol 5 #define kBlackHomeRow 5 #define kBlackHomeCol 36 // entities #define kMaxEntities 30 #define kRedAnt 1 #define kBlackAnt 2 #define kTree 3

#define kPlayerSpeed 4 // entity states #define kForage 1 #define kGoHome 2 #define kGuard 3 #define kThirsty 4 #define kDead 5 //#define kChaseDistance 7 //#define kMaxPathLength 200 // world constants #define kMaxRows 30 #define kMaxCols 10 //#define kMaxTiles 10 // world constants //#define kUpKey 1 //#define kDownKey 2 //#define kLeftKey 3 //#define kRightKey 4 class a i_Entity { public: int type; int state; int row; int col; //unsigned long timeToMove; ai_Entity(); ~ai_Entity(); void Forage(void); void GoHome(void); void Thirsty(void); void Dead(void); void New(int theType, int theState, int theRow, int theCol); int DistanceFrom(int t); }; class a i_World {

“人工智能与游戏编程”课程设计

“人工智能与游戏编程”课程设计 摘要:结合人工智能技术与游戏设计的相关特点,讨论课程的教学目标与任务;介绍课堂教学及其课时分配以及实验设计与考核方式。对其他与人工智能与游戏编程课程相关的教学有很好的参考与借鉴作用。 关键词:教学改革;人工智能;游戏设计;游戏编程 人工智能(Artificial Intelligence,AI)是计算机科学的一个分支,是研究、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学[1]。人工智能技术研究领域包括机器人、模式识别、自然语言处理、机器学习、数据挖掘、人工神经网络和专家系统等[2],其最为广泛的应用之一就是游戏设计[3]。游戏设计虽然涉及多门学科,但其作为应用并没有形成一门单独的理论[4-5]。由于游戏存在较大的市场以及其作为人工智能的一个重要应用,国外已有多所大学开设了游戏设计课程。如卡内基梅隆大学(Carnegie Mellon University)于1999年设立了娱乐科技硕士学位,并开设了相关课程;南加州大学(The University of Southern California)设立了为期3年的互动媒体艺术(fine arts in interactive media)硕士学位课程,并于大学部设立电子游戏设计(video-game design)副修课程。该校也为美国军队创作训练士兵的电子游戏,透过战斗情境模拟来进行沙盘演练。麻省理工学院(Massachusetts Institute of Technology)提供多种电子游戏设计相关课程,并研发将电玩游戏纳入教室教学的方法。斯坦福大学(Stanford University)提供电子游戏设计史及包含最佳电子游戏竞赛奖的计算机绘图课程。华盛顿艺术学院(The Art Institute of Washington)为亚特兰大艺术学院的分校,提供授予学士学位的视觉及游戏程序设计课程。在初期的艺术与设计重点培训后,学生将学习立体动画相关技术。国内也有多所高校开设了游戏设计的相关课程,如北京邮电大学,首都师范大学等,为了适应市场许多培训机构也开设了游戏设计课程,但培训机构将课程的重点放在了实际的编辑代码中而过少的关注理论。中南大学开设人工智能课程已有20多年的历史,在教学实践中,中南大学智能系统与智能软件研究所的教师们在教学科研方面取得了许多令人振奋的成果。在良好的环境中,人工智能与游戏编程课程应运而生[6-7]。 1教学目标与要求 中南大学人工智能与游戏设计课程主要面向智能方向4年级学生,在4年级第一学期开设。学习该门课程之前需要具备人工智能以及计算机编程方面的课程知识,并且需要一定的计算机图形学的相关知识基础。 此门课程的学习使学生了解游戏设计与虚拟现实的基本概念和术语及其基本设计方法,理解人工智能在游戏中的相关应用,熟悉游戏设计中编程以及建模技术,为学生将来利用人工智能技术以及游戏设计技术奠定必要的知识基础。除此之外向学生介绍计算机游戏的基本原理和最新进展,包括计算机游戏动画的最新概况、游戏程序设计概览、2D游戏的基本编程技术、3D游戏动画的基本编程技术、3D游戏场景的组织与绘制、游戏中的高级图形技术、游戏中的音频编程、

人工智能八数码游戏

实验一:八数码游戏问题 一、八数码游戏问题简介 九宫排字问题(又称八数码问题)是人工智能当中有名的难题之一。问题是在3×3方格盘上,放有八个数码,剩下第九个为空,每一空格其上下左右的数码可移至空格。 问题给定初始位置和目标位置,要求通过一系列的数码移动,将初始位置转化为目标位置。 (a)初始状态(b)目标状态 图八数码游戏 二、实验目的 1.熟悉人工智能系统中的问题求解过程; 2.熟悉状态空间的盲目搜索和启发式搜索算法的应用; 3.熟悉对八数码问题的建模、求解及编程语言的应用。 三、实验的思路 八数码问题:在3×3的方格棋盘上,摆放着1到8这八个数码,有1个方格是空的,其初始状态如图1所示,要求对空格执行空格左移、空格右移、空格上移和空格下移这四个操作使得棋盘从初始状态到目标状态。 例如:

图1 八数码问题示意图 1.启发函数设定 由八数码问题的部分状态图可以看出,从初始节点开始,在通向目标节点的路径上,各节点的数码格局同目标节点相比较,其数码不同的位置个数在逐渐减少,最后为零,因此可以把数码不同的位置个数作为标志一个节点到目标节点距离远近的一个启发性信息,利用这个信息来扩展节点的选择,减少搜索范围,提高搜索速度。 2.搜索过程:(搜索采用广度搜索方式,利用待处理队列辅助,逐层搜索(跳过劣质节点)) a、把初始数码组压入队列; b、从队列中取出一个数码组节点; c、扩展子节点,即从上下左右四个方向移动空格,生成相应子节点: d、对子节点数码组作评估,是否为优越节点,即其评估值是否小于等于其父节点加一,是则将其压入队,否则抛弃。 e、判断压入队的子节点数码组(优越点)的评估值,为零则表示搜索完成,

游戏人工智能期末复习资料

游戏人工智能期末复习资料 第9章有限状态机 有限状态机(finite state machine)是一种抽象机制,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型,即处在不同的预定状态下的其中某种状态,而且有限状态机可以定义一组条件,用于状态之间的改变。 如果是状态机,肯定体现了两点:首先是离散的,然后是有限的。 有限状态机是由状态(State)、变换(Transition)和行动(Action)组成的行为模型。有限状态机在初始状态(Start State)接收输入事件(Input Event)后转移到下一个状态。通过条件(Guard)判断是否符合转移条件。可以把一个有限状态机看成一个特殊的有向图。常用的正则表达式就是用有限状态机实现的。 State:状态存储关于过去的信息,反映从系统开始到现在时刻的输入变化。 Actions & Transitions:转换指示状态变更,并且用必须满足确使转移发生的条件来描述。动作是在给定时刻要进行的活动的描述。有多种类型的动作: 1).进入动作:在进入状态时进行 2).退出动作:在退出状态时进行 3).输入动作:依赖于当前状态和输入条件进行 4).转换动作:在进行特定转换时进行 有限状态机的基本概念。 Guards: 检测器出现的原因是为了检测是否满足从一个状态切换到另外一个状态的条件。Event:对系统重要的某件事情被称为事件。事件是有生命的,它经历: 1).被产生(被接受,等待被处理,一般放入事件队列) 2).被分发(从事件队列取出,分发到响应的状态机处理) 3).死亡(当状态机处理了该事件,它随之死亡) 从一个状态切换到另外一个状态被称为状态转换,而引起它的事件称为触发事件.(可以看到,不是所有的事件都会引起状态的转换). 提到状态转换,不能不提及检测器(Guards),只有当检测器的值为TRUE时候,才能启动转换。 第10章模糊逻辑。 模糊逻辑的含义是让计算机以一种接近人类行为的方式解决问题。模糊逻辑的本质是一切都和程度有关。模糊逻辑避开了传统布尔逻辑的非真即假的特性,采用“程度”来衡量。 模糊流程步骤: 模糊化、通过模糊规则产生模糊输出、反模糊化。

游戏人工智能实验报告一

实验一追逐与拦截 实验报告 一、实验目的 掌握游戏中追逐与拦截的人工智能算法 二、实验仪器 Windows7系统 Microsoft Visual Studio2015 三、实验原理及过程

B ourg & Glenn Seemann Example: Chasing and evading in continuous environments, Chapter 2 */ = lg/2; vList[0].x = wd/2; vList[1].y = -lg/2; vList[1].x = wd/2; vList[2].y = -lg/2; vList[2].x = -wd/2; vList[3].y = lg/2; vList[3].x = -wd/2; vList[4].y = lg/2*; vList[4].x = 0; for(i=0; i<5; i++) { v1 = VRotate2D, vList[i]); vList[i] = v1 + ; } DrawLine(vList[0].x, vList[0].y, vList[1].x, vList[1].y, 2, clr); DrawLine(vList[1].x, vList[1].y, vList[2].x, vList[2].y, 2, clr); DrawLine(vList[2].x, vList[2].y, vList[3].x, vList[3].y, 2, clr); DrawLine(vList[3].x, vList[3].y, vList[4].x, vList[4].y, 2, clr); DrawLine(vList[4].x, vList[4].y, vList[0].x, vList[0].y, 2, clr); if(ShowVectors) {

人工智能在游戏中的应用

人工智能在游戏中的应用 专业:计算数学 姓名:XXX 学号:XXX

人工智能在游戏中的应用 人工智能在游戏中的目标主要有五个:一是为玩家提供适合的挑战;二是使玩家处于亢奋状态;三是提供不可预知性结果;四是帮助完成游戏的故事情节;五是创造一个生动的世界。这个生动的世界可以是类似现实生活中的世界,也可以是与现实世界完全不同的世界。但不管何种世界都要求有一整套能够自圆其说的游戏规则。 在游戏制作过程中,实现人工智能的关键主要有:虚拟现实与拟人化、动画效果与机器角色场景感知、机器角色的机器学习和进化、玩家与机器角色之间的平衡性、人工愚蠢技术、确定性人工智能技术与非确定性人工智能技术的互补。 人工智能在游戏中应用的技术非常之多,如:有限状态自动机(Finite State Machines)、模糊逻辑(Fuzzy Logic)、产生式系统(production system)、脚本设计(Scripting)、基于规则的人工智能和系统(Rules-based AI and Systems)、贝叶斯推论(Bayesian Inference)和非确定性贝叶斯网络(Bayesian Networks for Uncertainty Decisions)、人工生命(Artificial life)、决策树(Decision Tree)、专家系统(Expert system)、神经网络(Neural Networks)、遗传算法(Genetic Algorithms)等。限于文章篇幅,下面只具体介绍这八种较容易理解的技术:有限状态自动机、模糊逻辑、产生式系统、决策树、人工生命、专家系统、神经网络和遗传算法。 有限状态自动机: 有限状态自动机(FSM "finite state machine")是为研究有限内存的计算过程和某些语言类而抽象出的一种计算模型。有限状态自动机拥有有限数量的状态,每个状态可以迁移到零个或多个状态,输入字串决定执行哪个状态的迁移。有限状态自动机可以表示为一个有向图。 有限状态自动机有多种类型:接受器判断是否接受输入;转换器对给定输入产生一个输出。常见的转换器有Moor机与Mealy机。Moore 机对每一个状态都附加有输出动作,Mealy 机对每一个转移都附加有输出动作。 有限状态自动机还可以分成确定与非确定两种。非确定有限状态自动机可以转化为确定有限状态自动机。

MMORPG游戏的人工智能(AI)和行为树设计

MMORPG 游戏的人工智能( AI )和行为树设计 文 / alchemistli 什么是 MMORPG 的 AI ? 玩 MMORPG 的地球人都知道, MMORPG 的 AI 实在是弱智 的要死。 即使是在 WOW 这样顶级的游戏中, AI 也是有限得 掉渣,绝大部分 NPC 都像一个木桩一样, 哪怕是精心设计的 AI 。尽管有很多人把动画,或者自 动寻路之 类的功能也叫做 AI ,但是我们并不讨论这种 基本功 我们讨论的 AI 是指,可以使得 NPC 好像一个真人一样 活动的 AI 。拥有这样 AI 的 NPC 看起来就不再是那个只有血 条和攻击力的模 型,而给玩家的感受会是一个有信念、欲望 和意图的生命。从更广泛的意义上说,如果整个游戏世界是 高 AI ”的,那么这个游戏世界会充满着自由度。 这意味着 有能力改变整个游戏世界外貌和文明。如果真正出现这样 款 MMORPG ,那么赢得粉丝们的惊声尖叫应该并不意外。 品管中心孕育中的项目“失落的大陆”目前就正在向这个方 个典型的 AI 系统包括,感知,导航和决策三个字系统。 去“感知”世界,系统可以直接告诉 NPC 世界是怎样的。 而 导航系统,不属于今天的讨论范围。 而决策系统才是让 NPC BOSS 也就只有一些战斗 能。 玩家可以在游戏中 创造”出前所未有的武器、科技甚至会 向努力中,希望能够取得一定水准的突破。 AI 系统 对于游戏来说,感知系统是可以“作弊”的,不需要 NPC

看起来可以有自己的意图和信念,所以我们接下来主要讨论 戏全局 ->Gameover(); break; } 复制代码 件的提高,可以分给 AI 执行的 CPU 时间越来越长,老板们 对 AI 的要求自然也提高了,比如说老板可能会想出这样的 吃个小血瓶,血量 40 的时候吃大血瓶,血量 20 的时候赶快 于是 AI 程序员就需要找到上面这个 switch ,然后 修改里头的case 。想象一下,万一碰到了一个 Dota 高手当老 板,心中有着各种很 NB 的杀敌策略,需要随时根据环境状 态判断利用哪种策略。当策略越来越多,很快,一个带有上 万行代码的函数就横空出世了!如果这个时候遇到 bug 了, 甭说修复了,仅仅是阅读这个函数就恐怕就得呕吐了。 毫无疑问,上面的方法在遇到大量的状态的时候会让代码崩 溃,不过经过无数前辈前仆后继用各种切身努力,帮我们提 出了一种又一种精简代码的手段。目前常见的 AI 模型包括 FSM ( 有限状态机,包括 HFSM 分层有限状态机 )和 Behavior 决策系统。 AI 决策系统的常见模型 最早,游戏 AI 决策系统往往是这样写的: switch (自己){ case "血量充足": 打怪(); break; case "快死了 ": 补血 (); break; case "死了 ": 游 随着硬 策略:血量 80 的时候用魔法补一补就行了,血量 60 的时候 逃跑。 Tree (行为树)两大类。 FSM ( 有限状态机 ) 相对于

游戏中的人工智能技术

课程论文 学年学期2016 —2017 学年第二学期课程名称游戏中人工智能的进展 题目人工智能与游戏 姓名贾晓宇 学号 2014041716 学院计算机科学与信息工程学院 任课教师张明宇

目录 第一章人工智能以及游戏中的人工智能 (3) 1.1人工智能 (3) 1.1.1 研究AI时经常用到的方法 (3) 1.1.2对应与人工智能的搜索 (4) 1.1.3 人工智能的操作 (4) 1.1.4 人工智能的应用 (4) 1.2游戏中的人工智能 (5) 1.2.1 射击类游戏中的人工智能 (6) 1.2.2 角色扮演类游戏中的人工智能 (6) 1.2.3 即时战略类游戏中的人工智能 (7) 1.3 游戏AI的作用 (9) 1.3.1 增加游戏得挑战性 (9) 1.3.1 增加游戏得可玩性 (9) 1.3.1 帮助展开游戏情节 (9) 1.4 游戏AI的设计目的 (9) 第二章常见的人工智能在游戏开发中的技术手段 (9) 2.1寻径 (10) 2.2 有限状态机 (10) 2.3 模糊逻辑 (10) 2.4 贝叶斯技术 (10) 2.5 遗传算法 (11) 2.6 人工神经网络 (11) 2.7 人工生命 (11) 2.8 脚本语言 (11) 第三章人工智能技术在游戏发展中的展望 (11) 3.1 学产界的加速融合 (11) 3.2 AI引擎的独立发展 (11) 3.3 云计算带来新格局 (11) 3.4 机器学习创造有生命力的AI (12) 3.5 可扩展性 (12) 3.6 游戏角色学习能力的模拟日益完善 (12)

游戏中人工智能的进展 贾晓宇 摘要:当下各种游戏类型丰富在我们的生活中,不论你处于什么样的年龄段,总会有适合的游戏可以填充你的空闲时间,游戏已经在最大化的包围生活。游戏化,可以重塑人类积极的未来。三维渲染和图形视效已发展到一个顶峰,游戏开发的重心逐步从“图形”转向“人工智能”。“人工智能技术”更好的应用于游戏开发中,使得游戏表现出与人类智能行为、思维活动或情感等相符合的特性。通过人工智能,玩家在游戏中得到更好的体验,玩家在游戏中更愉悦、更充实,也能使人际交往更真实、更深入、更多元,“游戏人工智能”是游戏生命力得以延续的一种强大技术,在国内外学术界和产业界引起了广泛的关注与重视。 关键字:人工智能游戏应用游戏开发用户体验 第一章人工智能以及游戏中的人工智能 1.1人工智能 普通公众对人工智能快速发展的认知,始于2016年初AlphaGo(阿尔法狗)的惊世对局。在欣赏围棋对局的同时,人们总是不惜发挥丰富的想象,将AlphaGa或类似的人工智能程序与科幻电影中出现过的,拥有人类智慧,可以和人平等交流,甚至外貌与你我相似的人形关联起来。 (图一) 图一:柯洁谈AlphaGO。 随着互联网应用的普及和人们对互联网的依赖,互联网的安全问题也日益凸显。恶意程序、各类钓鱼和欺诈继续保持高速增长,同时黑客攻击和大规模的个人信息泄露事件频发,与各种网络攻击大幅增长相伴的,是大量网民个人信息的泄露与财产损失的不断增加。根据公开信息,2011年至今,已有11.27亿用户隐私信息被泄露。包括基本信息、设备信息、账户信息、隐私信息、社会关系信息和网络行为信息等。 1.1.1 研究AI时经常用到的方法 (1)心理模拟,符号推演。模拟人脑的逻辑思维,利用显式的知识和推理来解决问题,擅长实现人脑的高级认知能力。

人工智能导论实验报告:吃豆人游戏

人工智能导论实验报告 学院:计算机科学与技术学院 专业:计算机科学与技术 2016.12.20 目录 人工智能导论实验报告 (1) 一、简介(对该实验背景,方法以及目的的理解) (2) 1. 实验背景 (2) 2. 实验方法 (3) 3. 实验目的 (3) 二、方法(对每个问题的分析及解决问题的方法) (3) Q1: Depth First Search (3)

Q2: Breadth First Search (4) Q3: Uniform Cost Search (5) Q4: A* Search (6) Q5: Corners Problem: Representation (6) Q6: Corners Problem: Heuristic (6) Q7: Eating All The Dots: Heuristic (7) Q8: Suboptimal Search (7) 三、实验结果(解决每个问题的结果) (7) Q1: Depth First Search (7) Q2: Breadth First Search (9) Q3: Uniform Cost Search (10) Q4: A* Search (12) Q5: Corners Problem: Representation (13) Q6: Corners Problem: Heuristic (14) Q7: Eating All The Dots: Heuristic (14) Q8: Suboptimal Search (15) 自动评分 (15) 四、总结及讨论(对该实验的总结以及任何该实验的启发) (15) 一、简介(对该实验背景,方法以及目的的理解) 1.实验背景 1) 自人工智能概念被提出,人工智能的发展就受到了很大的关注,取得了长足的发展,成 为一门广泛的交叉和前沿科学。到目前,弱人工智能取得了长足的发展,而强人工智能则暂时处于瓶颈。

相关文档
最新文档