基于神经网络的人机对抗人工智能系统(理论)--------------------------------------------------------------------------------基于神经网络的人机对抗人工智能系统Harreke摘要:人工智能是一门科学名称。
自电子计算机发明后不久,人工智能学科即宣布创立,其目的就是要模拟人类的智力活动机制来改进计算机的软件硬件构成,使他们掌握一种或多种人的智能,以便在各种领域内有效替代人的脑力劳动,特别是解决用传统软硬件方法难以解决的问题,如模式识别,复杂的控制行为或对海量的数据进行实时评估等。
所谓人工智能,就是由人工建立的硬件或软件系统的智能,是无生命系统的智能。
智能是人类智力活动的能力,是一个抽象的概念。
一个软件或硬件系统是否有智能,只能根据它所表现出来的行为是否和人类某些行为相类似来做判断。
人工智能在计算机上的实现,有两种不同的方式。
一种是采用传统的编程技术,使系统呈现智能的效果,而不考虑所用方法是否与人或生物机体所用的方法相同。
这种方法称为工程学方法,它的编程方式虽然简单,智能效果显著,可是算法和程序一旦固定下来,智能就很难再进一步提高。
另一种是模拟法,它不仅要看智能效果,还要求实现方法和人类或生物机体所用的方法相同或类似。
人工神经网络是模拟人类或生物大脑中神经元的活动方式,属于模拟法。
人工神经网络入门难度大,编程者需要为每一个对象设置一个智能系统来进行控制,新设置好的智能系统,虽然一开始什么都不懂,但它拥有学习的能力,可以通过学习,不断提升智能,不断适应环境、应付各种情况。
通常来讲,使用人工神经网络虽然编程复杂,但编写完成后的维护工作,将比使用其他方式编程后的维护更加省力。
本文采用人工神经网络构建一个完整的人工智能系统,并将该人工神经网络理论应用于电脑领域的项目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.3DOTA AI概念2.2.4现有DOTA AI弊端2.3新版DOTA AI的理论设计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.1生物学神经网络人工神经网络系统是模拟人思维的一种方式,仿照生物的大脑来工作。
为了帮助理解,首先介绍一下生物大脑的工作方式。
生物的大脑拥有称为皮层的组织。
大脑分为两层:灰色的外层和白色的内层。
灰色层只有几毫米厚,但其中却紧密地分布着数十亿个被称为神经元的微小细胞;白色层占据了皮层组织的绝大部分空间,是由无数神经元相互连接组成的。
神经元的构成是独特的。
每个神经元都长有轴突,用来将信号传递给其他神经元。
神经元由一个细胞体、树突和一根轴突组成。
树突由细胞体向各个方向长出,用来接收信号;轴突也有很多分支,通过分支的末梢和其他神经元的树突相接触,形成突触。
一个神经元是通过轴突和突出把产生的信号送至其他神经元。
每个神经元通过它的树突,与大约1万个其他神经元连接。
神经元利用电化学过程交换信号。
输入信号来自另一些神经元。
这些神经元的末梢和本神经元的树突相遇形成突触,信号就从树突上的突触进入本细胞。
虽然信号在大脑中的传输过程极其复杂,但也可以把它看做与计算机一样,利用二进制的0与1进行操作。
每个神经元只有两种状态:兴奋和不兴奋。
神经元把所有从树突的突触上接受来的激励信号,通过我们目前还未知的的方式相加。
如果相加所得结果超过某种阈值,则该神经元就会被激励,变得兴奋,同时产生一个激励信号,通过它轴突的突触,把产生的信号传给其他神经元;如果相加所得结果没有超过阈值,该神经元就不会被激励。
虽然单个神经元的结构极其简单,功能有限,频率大约只有100Hz,但正因为有数量巨大的神经元,相互连接构成一个庞大的并行处理网络,所以整个神经网络系统具备难以置信的能力:1)能实现无监督的学习功能完整的神经网络系统可以实现自行学习,而不需要导师的监督教导。
如果一个神经元在一段时间内受到较高频率的刺激,则它和输入信号的神经元之间的连接强度就会在一定程度上改变,使得该神经元下一次受到刺激时,更容易兴奋。
2)对损伤有冗余性神经网络系统即使受到了损伤,它依然能执行复杂的工作。
3)处理信息的效率极高。
神经元之间的信息传递速度,与计算机CPU中数据传递的速度相比,是非常非常慢的。
但因为神经网络系统采取了并行处理方式,使得整个系统可以同时处理巨量的数据,因此整体处理速度得到极大的提升。
4)善于归纳推广神经网络系统和计算机不同,前者极其擅长模式识别,并能根据已经掌握的信息进行归纳推广。
比如,一个人可以阅读另一个人手写的文字,即使这前者以前从未见过后者写的东西。
5)拥有意识这是神经学家和人工智能研究者至今仍在商讨的话题。
人拥有意识,这是无可辩驳的,但除了人以外,拥有完整神经网络系统的其他事物,是否也拥有意识?综上所述,一个人工的神经网络系统,所要完成的任务,就是在现有计算机规模的约束下,尽可能地模拟生物学大脑的这种并行处理机制,并且在其运作时,能够显示出许多与生物学大脑相类似的特性。
1.2人工神经网络1.2.1人工神经网络系统概念生物学大脑中的神经网络系统是由很多神经元组成的,模拟大脑的人工神经网络系统也是由很多称为人工神经元的单元组成。
人工神经元其实就是生物学神经元的简化版,但却是采用电子方式来模拟的。
一个人工神经网络系统里使用的人工神经元数量,差别可以非常大,从简单的数个,到数千个,这完全取决与要用人工神经网络系统要实现的功能。
下面是一个人工神经元的结构图:w称作权重,是浮点数。
进入人工神经元的每一个信号都会与一个权重相联系。
而正是有这些权重,一个人工神经元才会有活跃性,才会对输入的信号做出判断。
假设所有权重w的取值为-1到1之间的一个随机小数。
因为权重有正有负,所以能够影响与它有关联的信号输入。
如果权重为正,就会对相关联的信号输入起激发作用;如果权重为负,就会对相关联的信号输入起抑制作用。
一个人工神经元会把所有的输入信号,与其对应的权重分别相乘,然后把相乘的结果作为给神经元核的输入。
神经元核把这些经过权重调整过的输入全部加起来,形成最终激励值,激发这个人工神经元进入兴奋或非兴奋状态。
最终激励值也是一个浮点数,如果它超过这个人工神经元的某个阈值(假设阈值为1.0),则人工神经元会向外输出一个数值为1的兴奋信号,反之则输出一个数值为0的非兴奋信号。
这就是人工神经元最简单的一种激励方式。
这里激励值产生输出值的过程,是由一个函数来完成,这个函数就叫阶跃激励函数。
1.2.2人工神经网络系统的组成生物学大脑里的神经元是和其他神经元相互连接在一起的。
为了创建一个人工神经网络,人工神经元也要以相同的方式互相连接在一起。
所有人工神经网络系统中,中最容易理解并且也是最广泛地使用的,是前馈网络。
该网络把人工神经元一层一层地连接在一起,每一层的人工神经元都向前一层馈送,直至获得整个网络的输出。
前馈网络共有3层。
输入层中的每个输入都亏送到了隐藏层,作为该层的每一个人工神经元的输入;从隐藏层的每个人工神经元的输出,都连到了输出层的每一个人工神经元。
作为前馈网络,实际上可以有任意多个隐藏层,每一层也可以有任意数目的人工神经元,这完全取决与要解决目标的复杂性。
1.3神经网络的训练一旦神经网络构建完毕,就可以对其进行训练,使其处理数据的能力符合最初的设计要求。
假设需要该神经网络识别物体A。
①为神经网络中,每一个层、每一个人工神经元里每一个权重赋予初始数值。
②对输入层中的人工神经元输入需要识别的一系列数据。
③对于每一种输入配置,检查它的输出是什么,并调整相应的权重。
输入一张图片,里面画的不是物体A,而是其他物品。
这时网络应输出一个0。
对与每个非物体A的图片数据,都要调节网络权重,使得它的输出趋向于0;对于每个物体A的图片数据,也要调节网络权重,使得它的输出趋向于1。
④成功识别出物体A后,通过再次训练,就可以使网络识别其他物体B、C、D等等。
这种类型的训练称为有监督的学习,用来训练的数据成为训练集。
调整权重可以采用许多方法,这里采用反向传播方法。
第二章人工神经网络应用的设计2.1应用设计本文将使用神经网络技术,设计一个人机对抗项目,并将这个人机对抗项目,应用于电脑上的一个多人的人人对抗项目DOTA中。
2.2DOTA简介2.2.1DOTA概念DOTA是电脑领域上新兴的一个多人对抗项目,全称为Defense Of The Ancients,即守卫遗迹。
它的编写者名为Ice Frog。
2.2.2DOTA规则DOTA是一个多人的人人对抗项目。
但它的规则在某些方面与象棋类似。
1)参与对抗的对抗者最多为10人,分为两大阵营,每方阵营各5人。
2)每个参与者扮演一名“棋子”。
每个棋子拥有生命力、战斗力等属性,可以通过学习不同的技能,购买不同的物品提升自身的实力。
3)双方所有棋子在一定的地域内活动。
同时,双方各有一座遗迹,和数个保卫遗迹的建筑物。
4)每一方的棋子都必须不计一切代价保护己方的建筑物和遗迹,同时利用一切可行方式去摧毁敌方的建筑物和遗迹。
5)一旦一方棋子率先突破防御,摧毁了对方的遗迹,该方立即获胜,并宣告对抗终结。
2.2.3DOTA现状:DOTA于几年前年开始流行。
随着它的编写者Ice Frog不断努力,DOTA的平衡性越来越高,内容越来越丰富,因此,DOTA迅速风靡全球。
世界各地都频频举办大型DOTA竞技比赛,我国也在今年5月举办过世界级的竞技大赛(WCG2009)。
2.2.3DOTA AI概念:但正因为DOTA是多人对抗项目,为了能进行对抗电脑必须联网,而且还必须有他人参与。
如果因为某些原因,比如电脑无法联网,或者参与的人数不足等,便无法正常进行对抗。
为了解决这些问题,一名国外编程高手Lazyfiend,简称RGB,于数年前编写了一套人工智能系统,可以生成数个电脑控制的角色(简称AI),来顶替人数的空缺,跟真正的人类竞技。
这就是DOTA上最初的人机对抗项目。
这个人机对抗系统极大地缓解了因为电脑无法联网或人数不足等原因,而不能正常进行对抗的问题。