第4章计算机模拟和神经元网络.ppt
第四章计算机模拟和神经元网络,本章目的,掌握计算机模拟的原理及常用的计算拟方法;学会运用计算机模拟简单的采矿问题;了解神经元网络基本知识。,4.1计算机模拟,4.1.1什么是计算机模拟1.简单概述1对客观系统的行为进行动态仿真,从中获得人们所需的信息或参数。2用计算机作实验,利用计算机具有的快速、准确、并具有储存功能的特点来完成人工或其它实验不能胜任的工作。3是系统工程的一个分支,是对数学问题求近似的数值解的一种方法。,2.关键产生百万个不重复的[0,1]区间的均匀随机数,并以此为基础,产生出多种不同的概率分布的随机数。,例如求积分求解的三种方法,a.数值解法b.近似解法将SinX所围成的区域划分成若干个长条,分别求出各个面积,再相加。c.模拟解法产生0,1随机数R,生成,如图所示,4.1.2均匀随机变量的产生,1.均匀随机数所谓均匀随机数是指服从均匀分布的随机变量的样本值。经常用到的[0,1]区间上的均匀随机数,它的密度函数fx和分布函数Fx分别为,均匀随机数的均匀性是指在长度相同的每一子区间出现的概率值是一个常数;它的随机性则表现在[0,1]区间内,出现在某一子区间是没有规律、任意和不以人的意志为转移,即它的出现与前面的随机数是不相关的,是独立的。,例如,如果已知[0,1]区间的均匀随机数R,需求[a,b]区间的均匀随机数Rab,则可用下式求解。,2.均匀随机数的产生方法,均匀随机数的产生方法有下列四种(1)手工方法如扔硬币、掷骰子、抽写有数字的签、旋转刻有数字的圆盘式陀螺、在一个密封口袋里取出带有数字的球等,这些方法比较简单,但花费时间大多,不实用。,,(2)随机数表法即预先产生成千上万甚至几百万个随机数,把它输入计算机内存或外存中,需要时再取出来应用。这种方法要占用大量的计算机内存或外存,且使编程计算机程序复杂化,实际上已不再使用。,(3)利用计算机语言的内部函数目前市场上流行的高级计算机编程语言,大多具有产生均匀随机数的内部函数。例如Basic语言,内部函数为RNDX。TarboPascal语言,内部函数为Random。Excel电子报表,内部函数为RAND等等。使用者既要直接应用,又可根据需要适当加以改进就能得到满意的结果。,,(4)利用数学公式产生均匀随机数这是在某些高级语言,如Fortran语言中常采用的方法。由于Fortran语言(例如常用的Fortran77)中不具有能产生[0,1]区间均匀随机数的内部函数,只能设法用数学公式来产生均匀随机数。,4.1.3常用随机变量的产生,1.指数分布随机变量1概述指数分布的密度函数为其分布函数和可靠度函数分别为,2推导令,两边取对数,得式中μ指数分布的参数,均值。,3程序下面给出产生均值为A的指数分布随机变量x的BASIC程序。1REM“产生均值为A的指数分布随机变量X的BASIC程序”2RRVAL(MID(TIME,7,2))3RANDOMIZERR4READA5R=RND16X-A*LOGR7PRINT“X”;X8END9DATA8某次运行后,得X5.723742,服从指数分布随机数的实例,采矿中一般有两类故障类事故影响时间排对类装、卸载时间、设备运行时间、间隔时间等。,2.正态分布随机变量1概念密度函数式中α均值,δ标准差(均方差),分布函数,,正态分布的基本知识,如图所示单側双側0.951.651.960.992.332.58,举例,某工作面日产量均值a1531.8t,均方差δ274.05t,求该工作面日产量的95概率值。解X0.95a1.65δ1531.81.65*274.051983.65t含义是该工作面日产量有在1983.65t的概率为95。,,2推导由概率论的中心极限定理可推导出由均匀随机数产生正态分布随机变量的表达式式中,R1R2R6表示6个均匀随机数相加,一般已能满足精度要求。,3程序下面给出产生均值为A,均方差为B的正态分布随机变量X的BASIC程序。1REM“产生均值A,均方差B正态分布随机变量调的BASIC程序”2RRVALMIDTIME,7,23RANDOMIZERR4READA,B5RR=0FORI1TO6RRRRRND1NEXTI6XAB*SQR2*RR-37PRINT“X”X8END9DATA5,1.2本例中取A5,B1.2,某次运行后得X4.335063,服从正态分布随机变量的实例,一般地,凡是符合若干微小因素对R的影响,其中每一个都不起明显作用的随机变量,可考虑服从正态分布随机变量。采矿工程中常有产量、进尺、装煤量类速度类机车、采煤机运行速度误差类测量误差,3.对数正态分布,4.1.4三种常用的模拟方法,1.计算机模拟的基本思路1几个名词模拟时钟CLOCK模拟时钟周期随机数发生器均匀随机数RRAND指数分布随机数FF-A*LOGR正态分布随机数NRAB*SQR2*RR-3,2事件的发生与记录采煤机记录Ti,i1,,n,每次运转开始时间;Tri,i1,,n,每次运转延续时间;Tei,i1,,n,每次停机时间;Qi,i1,,n,采煤量;输入与输出,,3基本思路在模拟时钟的周期内,每一个事件自模拟时钟开始,按其本身的发展规律(可以是随机的,也可以是确定的)的发展与变化,计算机运算并将其记录下来,按照要求输出,直至模拟结束。如此循环若干个周期,输出所需要的参数或信息。,2.三种常用的模拟方法1示意图,2共同点每一种方法都是在周期内,CLOCK由TbeginTend。3不同点,4应用时间步长法a箕斗提升b胶带运输、提升、“均匀”运煤问题事件步长法a采煤机运行b采区运输机c单台列车运行最小事件步长法多台列车运行,4.2SSP01程序集,略,4.3神经元网络,4.3.1神经元网络的基本知识1.概述人工神经元网络是一门新兴的交叉学科,是人工智能的一个分支领域,它最早出现于本世纪四十年代。它除了在传统的语言识别、自动控制及图象识别等领域外,人工神经元网络在经济、矿业以及其它许多行业都获得了广泛的应用。,神经网络的复兴源于以下几个方面一是来自神经生物学和认识科学对人类信息处理的研究,神经生物学和心理学不能由现行的以离散符号处理计算理论来解释;二是人工智能面向何处的问题,即使是巨型机,其概念和计算方式仍是最原始的,所谓的专家系统也仅是原有概念的外推和延伸,而没有根本的创新。它的本领不过是输入知识的总和,而不是创新知识。,2.BP网络的数学模型反向传播神经网络BP(Back-Propagation,缩写为BP)的结构由m层构成,第一层是输入层,第m层是输出层,中间m-2层称为中间层或隐含层。描述网络的参数包括层数m和每层神经元数目,第i层神经元K与第i1层神经元L的互连权重(强度)Wi(K,L)。i1,2,m-1。,3.反向传播神经网络的学习算法反向传播神经网络BP不仅有输入层节点,输出层节点,而且有隐层节点。隐层可以是一层,也可以是多层。当信号输入时,首先传到输出层节点。经过处理给出输出结果。节点的作用函数通常选用S型函数,如,反传学习过程原理图,在这种网络中,学习过程由正向传播和反向传播组成。在正向传播过程中,输入信号从输入层经隐含层单元逐层处理,并传向输出层,每层神经元的状态只影响下一层的神经元的状态。如果在输出层不能得到期望的输出,则转入反向传播,将输出的信号误差沿原来的连接通路返回。通过修改各层神经元的权值,使得误差信号最小。,4.学习过程三层前馈型BP网络存储知识(即调整网络连接权值及节点阀值)时采用的BP算法,即误差逆传播的学习方法,是一种典型的误差修正方法。其基本思路是把网络学习时输出层出现的与“事实”不符的误差,归结为连接层中各节点间边接权及阀值(有时将阀值作为特殊的连接权并入连接权)的“过错”,通过把输出层节点误差逐层向输入层逆向传播以“分摊”给各连接节点,从而可以算出连接点的参考误差,据此对各连接权进行相应的调整,使网络适应要求的映射。,其学习过程如下所述1给Wir,Tr,Vrj,Oj随机赋一个较小的值。2对每一模式对Ak,Ckk1,...,p进行下列操作。①将Ak的值ak输入LA层节点,将LA层节点激活值ai,依次正向计算,②计算LC层节点输出cj与期望输出值的误差cjk,令,③向LB层节点反向分配误差,令④调整LB层与LC层节点间连接权Vrj及LC层节点阀值Oj⑤调整LA层与LB层节点连接权Wir及LB层节点阀值Tr3重复上面步骤2,直到对于j1,2,n,k1..,误差dj变的为足够小或变为0。算法框图如下图所示,