DotaAI系统分析报告Word文档格式.docx

上传人:b****3 文档编号:17042420 上传时间:2022-11-28 格式:DOCX 页数:37 大小:37.24KB
下载 相关 举报
DotaAI系统分析报告Word文档格式.docx_第1页
第1页 / 共37页
DotaAI系统分析报告Word文档格式.docx_第2页
第2页 / 共37页
DotaAI系统分析报告Word文档格式.docx_第3页
第3页 / 共37页
DotaAI系统分析报告Word文档格式.docx_第4页
第4页 / 共37页
DotaAI系统分析报告Word文档格式.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

DotaAI系统分析报告Word文档格式.docx

《DotaAI系统分析报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《DotaAI系统分析报告Word文档格式.docx(37页珍藏版)》请在冰豆网上搜索。

DotaAI系统分析报告Word文档格式.docx

有两种不同的方式。

一种是采用传统的编程技术,

使系统呈现智能

的效果,而不考虑

所用方法是否与人或生物机体所用的方法相同。

这种方法称为工程学方法,

它的编程方式虽然简单,智能效果显著

,可是算法和程序一旦固定下来,智能就很难再进一步

提高。

另一种是模拟法,它不仅要看智能效果,还要求实现

方法和人类或生物机体所用的方法

相同或类似。

人工神经网络是模拟人类或生物大脑中神经元的活动方式,属于模

拟法。

人工神经网络入门难度大,

编程者需要为每一个对象设置一个智能系统来进行控制,

新设置好的

智能系统,虽然一

开始什么都不懂,但它拥有学习的能力,可以通过学习,不断提升智能,不

断适应环境、应付各种情况。

通常来讲

,使用人工神经网络虽然编程复杂,但编写完成后的维

护工作,将比使用其他方式编程后的维护更加

省力。

本文采用人工神经网络构建一个完整的人工智能系统,

并将该人工神经网络理论应用于电脑领域

的项目DOTA。

关键词:

人机对抗,神经网络,人工智能,DOTA

.专业.整理.

第一章神经网络系统概述

1.1生物学神经网络

1.2人工神经网络

1.2.1人工神经网络系统概念

1.2.2人工神经网络系统的组成

1.3神经网络的训练

1.4相关数学知识

1.4.1人工神经元输出的计算

1.4.2反向传播方法

第二章人工神经网络应用的设计

2.1应用设计

2.2DOTA简介

2.2.1DOTA概念

2.2.2DOTA规则

2.2.3DOTA现状

2.2.3DOTAAI概念

2.2.4现有DOTAAI弊端

2.3新版DOTAAI的理论设计

2.3.1巡查系统

2.3.2控制系统

2.3.3指令中心

第四章数学算法的实际应用

4.1确定三大系统的参数和意义

4.1.1巡查系统

4.1.2控制系统

4.1.3命令中心

4.2三大系统的具体实现思路

4.2.1巡查系统

4.2.2控制系统

4.2.3命令中心

第五章总结

参考文献

附录

人工神经网络系统是模拟人思维的一种方式,

仿照生物的大脑来工作。

为了帮助理解,首先介绍

一下生物大脑的工

作方式。

生物的大脑拥有称为皮层的组织。

大脑分为两层:

灰色的外层和白色的内层。

灰色层只有几毫米

厚,但其中却紧密

地分布着数十亿个被称为神经元的微小细胞;

白色层占据了皮层组织的绝大

部分空间,是由无数神经元相互连接组

成的。

神经元的构成是独特的。

每个神经元都长有轴突,用来将信号传递给其他神经元。

神经元由一个细胞体、树突和一根轴突组成。

树突由细胞体向各个方向长出,

用来接收信号;

突也有很多分支,

通过分支的末梢和其他神经元的树突相接触,形成突触。

一个神经元是通过

轴突和突出把产生的信号送至其他神经

元。

每个神经元通过它的树突,与大约

1万个其他神经

元连接。

神经元利用电化学过程交换信号。

输入信号来自另一些神经元。

这些神经元的末梢和本神经元的

树突相遇形成突触

,信号就从树突上的突触进入本细胞。

虽然信号在大脑中的传输过程极其复

杂,但也可以把它看做与计算机一样,

利用二进制的0与1进行操作。

每个神经元只有两种状态:

兴奋和不兴奋。

神经元把所有从树突的突触上接受来的激励信号,

过我们目前还未知

的的方式相加。

如果相加所得结果超过某种阈值,则该神经元就会被激励,

变得兴奋,同时产生一个激励信号,通

过它轴突的突触,把产生的信号传给其他神经元;

如果

相加所得结果没有超过阈值,该神经元就不会

被激励。

虽然单个神经元的结构极其简单,功能有限,频率大约只有

100Hz,但正因为有数量巨大的神经

元,相互连接构成一个庞大的并行处理网络,所以整个神经网络系统具备难以置信的能力:

1)能实现无监督的学习

功能完整的神经网络系统可以实现自行学习,

而不需要导师的监督教导。

如果一个神经元在一段

时间内受到较高频

率的刺激,则它和输入信号的神经元之间的连接强度就会在一定程度上改变,

使得该神经元下一次受到刺激时,更容易兴奋。

2)对损伤有冗余性

神经网络系统即使受到了损伤,它依然能执行复杂的工作。

3)处理信息的效率极高。

神经元之间的信息传递速度,与计算机CPU中数据传递的速度相比,

是非常非常慢的。

但因为神经网络系统采取了并行处理方式,使得整个系统可以同时处理巨量

的数据,因此整体处理速度得到极大的提升。

4)善于归纳推广

神经网络系统和计算机不同,前者极其擅长模式识别,并能根据已经掌握的信息进行归纳推广。

比如,一个人可以阅读另一个人手写的文字,即使这前者以前从未见过后者写的东西。

5)拥有意识

这是神经学家和人工智能研究者至今仍在商讨的话题。

人拥有意识,这是无可辩驳的,但除了人

以外,拥有完整神经网络系统的其他事物,是否也拥有意识?

综上所述,一个人工的神经网络系统,所要完成的任务,就是在现有计算机规模的约束下,尽可

能地模拟生物学大脑的这种并行处理机制,并且在其运作时,能够显示出许多与生物学大脑相类似的特性。

生物学大脑中的神经网络系统是由很多神经元组成的,模拟大脑的人工神经网络系统也是由很多

称为人工神经元的单元组成。

人工神经元其实就是生物学神经元的简化版,但却是采用电子方式来模拟的。

一个人工神经网络

系统里使用的人工神经元数量,差别可以非常大,从简单的数个,到数千个,这完全取决与要

用人工神经网络系统要实现的功能。

下面是一个人工神经元的结构图:

w称作权重,是浮点数。

进入人工神经元的每一个信号都会与一个权重相联系。

而正是有这些权重,一个人工神经元才会有活跃性,才会对输入的信号做出判断。

假设所有权重w的取值为-1到1之间的一个随机小数。

因为权重有正有负,所以能够影响与它

有关联的信号输入。

如果权重为正,就会对相

关联的信号输入起激发作用;

如果权重为负,就

会对相关联的信号输入起抑制作用。

一个人工神经元会把所有的输入信号,

与其对应的权重分别相乘,然后把相乘的结果作为给神经

元核的输入。

神经

元核把这些经过权重调整过的输入全部加起来,形成最终激励值,激发这个

人工神经元进入兴奋或非兴奋状态。

终激励值也是一个浮点数,如果它超过这个人工神经元

的某个阈值(假设阈值为

1.0),则人工神经元会向外输

出一个数值为

1的兴奋信号,反之则

输出一个数值为

0的非兴奋信号。

这就是人工神经元最简单的一种激励方式。

这里激励值产生输出值的过程,

是由一个函数来完成,

这个函数就叫阶

跃激励函数。

生物学大脑里的神经元是和其他神经元相互连接在一起的。

为了创建一个人工神经网络,

人工神

经元也要以相同的

方式互相连接在一起。

所有人工神经网络系统中,

中最容易理解并且也是最广泛地使用的,

是前馈网络。

该网络把人工

神经元一层一层地

连接在一起,每一层的人工神经元都向前一层馈送,直至获得整个网络的输

出。

前馈网络共有3层。

输入层中的每个输入都亏送到了隐藏层,

作为该层的每一个人工神经元的输

入;

从隐藏层的每

个人工神经元的输出,都连到了输出层的每一个人工神经元。

作为前馈网络,实际上可以有任意多个隐藏层,

每一层也可以有任意数目的人工神经元,

这完全

取决与要解决目标

的复杂性。

一旦神经网络构建完毕,就可以对其进行训练,使其处理数据的能力符合最初的设计要求。

假设需要该神经网络识别物体

A。

①为神经网络中,每一个层、每一个人工神经元里每一个权重赋予初始数值。

②对输入层中的人工神经元输入需要识别的一系列数据。

③对于每一种输入配置,检查它的输出是什么,并调整相应的权重。

输入一张图片,里面画的不是物体

A,而是其他物品。

这时网络应输出一个0。

对与每个非物体

A的图片数据,都要调节网络权重,使得它的输出趋向于

0;

对于每个物体

A的

图片数据,也要调

节网络权重,使得它的输出趋向于1。

④成功识别出物体

A后,通过再次训练,就可以使网络识别其他物体

B、C、D等等。

这种类型的训练称为有监督的学习,用来训练的数据成为训练集。

调整权重可以采用许多方法,

这里采用反向传播

方法。

本文将使用神经网络技术,设计一个人机对抗项目,并将这个人机对抗项目,应用于电脑上的一个多人的人人对抗项目DOTA中。

DOTA是电脑领域上新兴的一个多人对抗项目,全称为DefenseOfTheAncients,即守卫遗迹。

它的编写者名为IceFrog。

DOTA是一个多人的人人对抗项目。

但它的规则在某些方面与象棋类似。

1)参与对抗的对抗者最多为10人,分为两大阵营,每方阵营各5人。

2)每个参与者扮演一名“棋子”。

每个棋子拥有生命力、战斗力等属性,可以通过学习不同的

技能,购买不同的物品提升自身的实力。

3)双方所有棋子在一定的地域内活动。

同时,双方各有一座遗迹,和数个保卫遗迹的建筑物。

4)每一方的棋子都必须不计一切代价保护己方的建筑物和遗迹,同时利用一切可行方式去摧毁

敌方的建筑物和遗迹。

5)一旦一方棋子率先突破防御,摧毁了对方的遗迹,该方立即获胜,并宣告对抗终结。

2.2.3DOTA现状:

DOTA于几年前年开始流行。

随着它的编写者IceFrog不断努力,DOTA的平衡性越来越高,内容

越来越丰富,因此,DOTA迅速风靡全球。

世界各地都频频举办大型DOTA竞技比赛,我国也在

今年5月举办过世界级的竞技大赛(WCG2009)。

2.2.3DOTAAI概念:

但正因为DOTA是多人对抗项目,为了能进行对抗电脑必须联网,而且还必须有他人参与。

因为某些原因,比如电脑无法联网,或者参与的人数不足等,便无法正常进行对抗。

为了解决这些问题,一名国外编程高手Lazyfiend,简称RGB,于数年前编写了一套人工智能系

统,可以生成数个电脑控制的角色(简称AI),来顶替人数的空缺,跟真正的人类竞技。

这就

是DOTA上最初的人机对抗项目。

这个人机对抗系统极大地缓解了因为电脑无法联网或人数不足等原因,而不能正常进行对抗的问

题。

使用DOTA人工智能系统进行竞技的人不计其数。

因此,DOTA人机对抗项目独立出来,成为与DOTA人人对抗项目齐名的新形项目——DOTA人工智

能系统,简称DOTAAI。

人们也分成了两大类,一类跟其他人通过DOTA对抗,一类跟电脑通过

DOTAAI对抗。

可是,随着时间的推移,

RGB的DOTAAI的弊端也就浮现出来。

RGB由于完全采用了工程学方法

编程,电脑角色的一切行为全都固定化,电脑角色控

制的棋子的行动套路全部是事先编好的,

不会随机应变。

虽然这种人工智能系统在当时打败了不少人,击溃了不少

挑战,但现在,人们

已经看破了这种人工智能系统的运作方式,找出了它的致命破绽。

这可以用一个例子来比喻,

人跟电脑下象棋时,电脑很厉害,人下不过,但多下几局后,人发现,

电脑下棋的方式

是完全固定的,每一步走棋都严格重复上一把的套路。

因此,人可以从电脑这

一成不变的下法中找出破绽,摸索出

完全克制电脑的套路,从而击败电脑。

一旦有了克制的套

路,人就可以一点都不动脑筋,只要简单地按这种套路下

棋,就能轻易击败电脑——因为电脑

不懂得随机应变。

遗憾的是,RGB只对他的DOTAAI更新过几次,就退出不再干了。

流传至今的,还只是他数年前

编写的、不懂得随机应变的那套人工智

能系统。

现在DOTA的版本飞速更新换代,由于一直没有人接替

RGB的工作,从根本上改变

DOTAAI智力

底下的现状,导致

DOTA与DOTAAI之间的差距越来越大。

还是用下象棋举例。

电脑的程序更新之后,电脑就多了几种下法,

不再一成不变地使用那套已经

被人看破的套路了

一下棋,人自然又被电脑击败了。

但再多下几次,人又发现了电脑的致命

破绽——多出来的那几种套路,也全是

固定不变的。

只要人摸清了电脑全部的套路之后,自然

能摸索出克制这些固定下法的套路。

总而言之,就算程序再

更新几次,也没有实质的用处;

脑的固定的套路无论有多少种,人只要多花点时间就能全部看破。

DOTAAI参与者的抱怨之声越来越大,这时候国外又出现一名编程高手

BuffMePlz,简称BMP。

但他同样没有能力从根本上改变

DOTAAI智力低下的现状。

他所做的,只有一件事,那就是不

停地更新程序,为人工智能系统机械地加入更多的固定的

算法。

人跟电脑下象棋,如果电脑只有固定的一种套路,

人很快就能看破;

如果电脑更新程序,多了几

种不同的但仍然固

定的套路,人就需要多花点时间看破;

但如果电脑有了十几种、几十种、乃

至上百种不同的套路,虽然每种套路还

是固定的,可由于数量激增,人要想看破,就需要花巨

量的时间。

这种机械式的程序更新,从某种意义上来说,能

极大缓解DOTAAI智力低下的问题。

固定套路数量的激增带来的,

首先是程序容量的剧增——程序容量越大,

就可能隐藏越多的错误,

导致电脑出问题

其次是工作量的剧增——编写套路需要非常多的时间。

人们看破了电脑的套路后,

编写者就要编出另外的套路。

可人们会更快地看破,因此编写者又需

要加快速度,绞尽

脑汁再编写更多的套路——这种固定套路的人工智能系统,陷入了一个恶性

循环,它的弊端无需置疑

本人于去年开始尝试设计新的

DOTAAI。

不同于RGB的完全工程学方法、完全固定套路的算法,本人将采用以模拟法为主导,工程学为辅助的算法,在理论上构建一个人工智系统。

理论上,一个完整的人工智能系统,应包含如下几大部分。

DOTAAI是建立在DOTA的基础上的,所以最重要的一点,是必须严格遵守DOTA的各项规则,电

脑角色的各种行为不能超出DOTA规则所允许的范围之外。

这些规则将通过一个巡查系统实现。

由于规则是完全固定的,不会,也不容许有任何更改,因此

该系统使用工程学方法编程。

巡查系统是独立于所有电脑角色之外的裁判,应该有如下功能:

1)信号转化

把进行对抗时,所有传递给人类的、人类大脑可以识别的视觉、听觉等信息,转化为电脑角色可

以识别的数字信号。

这个功能为电脑角色提供知觉能力。

2)行为限制

因为人类角色在进行对抗前,已经熟知了对抗规则,所以会自觉地避免让所控制棋子做出违规行为的情形。

而巡查系统就起着实时监控电脑角色行为的功能,如果某个电脑角色的数据,有可能指引它控制

的棋子做出违规的行为,则巡查系统就对该电脑角色发出警告,使其修正数据。

为了使电脑角色有效地控制它的棋子,必须有一个系统,能够接收电脑角色发出的指令,并使棋

子执行该指令。

由于棋子应对电脑角色发出的指令绝对服从,因此控制系统也使用工程学方法编程。

控制系统应该有如下功能:

1)发布指令

电脑角色可以通过这一功能,对它控制的棋子下达各种指令,比如移动、攻击、撤退、防守,等

等。

2)响应指令

电脑角色发布一个指令后,棋子就必须立刻响应该指令,并严格执行。

3)执行结果反馈

棋子执行指令后,要对电脑角色汇报指令的执行情况。

如果由于一些不可抗拒因素,指令未被执行,或者指令执行不到位,电脑角色就要迅速做出其他决策。

指令中心是整个人工智能系统的核心,

它起着人类大脑的思维的作用。

没有指令中心,所有电脑

角色也只不过是一

堆堆数据;

有了指令中心,电脑角色就是真人一样的存在,才有类似真人一

样的思维和行为。

指令中心应该有如下功能:

1)知己知彼

所谓“知己知彼,

百战不殆”,电脑角色想要正确做出决策,

必须全面掌握己方和敌方的详细数

据。

虽然电脑角色可以控制的棋子种类很多,

每个棋子的实力也不同,

但由于棋子所有的能力

(生命

力、战斗力等)都

可以用具体的数据来表示,因此无论任何时候,

一个由电脑角色控制的棋子,

它的整体实力都可以靠一系列实数完

整地描述。

所以这个功能用完全工程学方法实现。

2)探索活动区域

DOTA的活动区域很大,而棋子的视野很小,所以电脑角色需要通过让棋子探索活动区域来掌握

战场状况。

因为

存在少数几处固定的“兵家必争之地”,但由于其他(不论人类还是电脑)角

色控制的棋子是活动的,懂得转移阵

地或建立临时阵地,所以这个功能可以由半工程学方法、

半模拟法共同实现。

3)提升棋子实力

为了战胜敌人,需要使自己控制的棋子变得更强。

增强棋子实力的方式是获得经验值、提升等级、

学习技能、购买物品。

DOTA中每个棋子都有经验值的设定,通过与敌人对抗,每次对抗的胜利者都会获得经验值。

每当经验值累积到一定程度,棋子的等级就会提升。

棋子每提升一次等级,就可以学习一个技能。

一个棋子可以从它的技能库中选择一个技能(五选

一)进行学习。

DOTA中有数量众多的物品可供电脑角色购买,并装备给它控制的棋子。

通过与敌人对抗,每次

对抗的胜利者都会获得金钱奖励,当金钱奖励累积到一定程度,就可以从物品库中购买一个物

品(多选一),装备给它的棋子。

每个电脑的棋子实力都不相同,因此不同技能和不同物品对棋子起到的能力提升作用也不同,组

合数量非常巨大。

虽然在技能学习和物品购买方面,存在一些已有的常识性规则,但更多时候

还要靠模拟法实现。

4)实时评估

就算电脑角色知己知彼,也知道如何提升自己棋子的实力,但真正面对敌人时,就需要有快速反

应能力,评估战场局势,是攻是退、是坚守阵地还是呼叫支援。

RGB的人工智能系统最大的弊端就在于,这一战场评估功能也采用了完全工程学编程,使得电脑角色没有主动的、实时的评估能力,只有被动的、反应速度慢的评估能力,而被人类角色用计谋轻易击败。

而新版人工智能系统采用模拟法编程,能使电脑角色拥有较强的分析能力和计谋使用能力,让其更不易被击败。

另外,电脑角色的实施评估能力要受到巡查系统的制约,即电脑角色不能以违规的方式对付敌方角色,敌方角色也不能以违规的方式对付己方角色。

拥有上述三大系统后,这个人工智能理论设计就完成了。

下面可以开始将数学算法应用于理论当中。

三大系统为巡查系统、控制系统和指令中心。

每个系统都有传入、传出两类参数。

巡查系统使用完全工程学方法编写。

巡查系统的参数有:

1)信号转化方面

传入参数:

①内容:

己方角色总数量及棋子总数量、

每个己方角色当前金钱资源、

每个己方棋子当前的实力

数据(生命力、战

斗力、已学技能、已购买物品),以及所处位置

敌方角色总数量及棋子总数量、每个敌方棋子当前的实力数据(生命力、战斗力、已学技能、已

购买物品),以及

出现在己方棋子视野中的每个敌方棋子的位置

②类型:

视觉信号

③描述:

对于人类角色,上述信号都是通过人类的双眼,以视觉图像方式传入

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 广告传媒

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1