系统理论及其应用考卷_第1页
系统理论及其应用考卷_第2页
系统理论及其应用考卷_第3页
系统理论及其应用考卷_第4页
系统理论及其应用考卷_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

系统理论及其应用课程报告—考卷1.简要概述混沌的特征。答案:混沌的特征表现为三点:第一是初值敏感性,就是系统对一个很小的初值改变都会造成输出很大的改变;第二是不确定性,混沌是确定性系统的随机性,这是一个根本、内在的性质,并不是来源于外在的随机因素对系统运动的影响,而是系统自身发产生的;第三有序性,混沌纯粹的无序,而是不具备周期或其他明显对称的特征的有序,确定性和随机性共存,随机性被限制在确定性之中。2.简述智能理论的类型。答案:智能理论包括两个部分:人类智能和人工智能。人类智能是通过微观的结构,宏观的功能和在环境中的进化逐步发展而来;人工智能又包括:人工神经网络,专家系统和模拟进化方法。3.什么是专家系统?答案:专家系统(ES)是一种智能的计算机程序,使用知识与推理过程,求解那些需要专家知识才能求解的高难度问题。4.写出知识的表示方法。答案:知识的表示方式可分为经典的表示方式,面向对象的表示方式,神经网络的表示方式。5.写出人工神经元的模型。答案:6.分析总结人工神经网络的三要素答案:结构,神经元直接连接的方式;学习,改变权值的方式;功能,能够处理什么问题。7.在人工神经网络中,什么叫有导师学习?什么叫无导师学习?答案:有导师学习:有一套样本,其输入,输出均已知,输出用于权值修正。无导师学习:输入已知,单输出未知,按某种方式进行分类学习。类似于自学。8.总结BP、Kohonen、Hopfield三种网络的算法、功能有什么区别?答案:BP网络是有导师学习,主要解决非线性映射问题,可以是任意的逼近;Kohonen网络是无导师学习,主要解决聚类问题;Hopfield网络也是无导师学习,主要解决联想回忆问题;9.人工神经网络的不足有哪些?答案:(1)性能受训练样本的限制,如果样本之间的正交性和完备性不好,则性能劣化或恶化;(2)没有能力来解释自己的推理过程和依据,也不能向用户提出询问;(3)权系数随着新样本而变化;(4)忽视了领域专家的经验知识;10.分析统计学理论、模糊集理论、云模型的共同点与区别。答案:共同点:都是解决一些不确定性问题的方法和理论;区别:统计学理论的评判简单,但粗糙,适用于一般比赛;模糊集理论的评判比较简单,但也比较粗糙,适用于常规比赛;云模型的评判比较复杂,但比较仔细,适用于训练。11.什么叫遗传算法?并简要概述其基本步骤。答案:遗传算法是一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的随机化搜索方法。基本步骤:(1)产生初始群;(2)对每个个体解码,计算其适应值;(3)选择成亲;(4)交配,变异;(5)产生下一代。12.什么叫蚁群算法?其基本原理是什么?答案:蚁群算法(antcolonyoptimization,ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型算法。基本原理:该算法模拟自然界中蚁群觅食的行为,采用有记忆的人工蚂蚁,通过个体之间的信息交流与相互协作来找到从蚁群到食物源的最短路径。13.模拟进化类方法与梯度类方法分别有什么特点?答案:模拟进化类方法的特点:仅用目标函数;多个并行搜索;概率规则引导;可以给出最优及多个次优;具有全局、低效的特点。梯度类方法的特点:需要求导数;单个搜索;确定性规则;只给出最优解;具有局部、高效的特点。14.利用BP神经网络解决下列问题利用三层BP神经网络来完成非线性函数的逼近任务,其中隐层神经元个数为五个。样本数据为:输入X输出D输入X输出D输入X输出D00448211539322621043371答案:看到期望输出的范围超出,所以输出层神经元利用线性函数作为转移函数。程序如下:clear;clc;X=[012345678910];D=[01234321234];figure;plot(X,D,'*');%绘制原始数据分布图net=newff([010],[51],{'tansig','purelin'})net.trainParam.epochs=100;net.trainParam.goal=0.005;net=train(net,X,D);O=sim(net,X);figure;plot(X,D,'*',X,O);%绘制训练后得到的结果和误差曲线图V=net.iw{1,1}%输入层到中间层权值theta1=net.b{1}%中间层各神经元阈值W=net.lw{2,1}%中间层到输出层权值theta2=net.b{2}%输出层各神经元阈值所得结果如下:如图1所示,左边图为绘制原始数据分布图,右边为绘制训练后得到的结果和误差曲线图。图1数据分布图和误差曲线图输入层到中间层的权值:V=(0.7060,3.8787,-0.4979,0.4939,1.8570)T中间层各神经元的阈值:theta1=(-14.0613,-11.7359,3.2810,-3.6416,-1.8758)T中间层到输出层的权值:W=(-1.8450,1.2306,9.0427,9.0529,1.0932)输出层各神经元的阈值:theta2=0.452015.利用遗传算法解决下列问题 求f(x)=10*sin(5x)+7*cos(4x)的最大值,其中x∈[0,10]。答案:选择二进制编码,种群中的个体数目为20,二进制编码长度为10,交叉概率为0.6,变异概率为0.001。将x的值用一个10位的二值形式表示为二值问题,一个10位的二值数提供的分辨率是每为(10-0)/(2^10-1)≈0.01。将变量域[0,10]离散化为二值域[0,1023],x=0+10*b/1023,其中b是[0,1023]中的一个二值数。程序如下:%1.初始化%initpop.m函数的功能是实现群体的初始化,popsize表示群体的大小,chromlength表示染色体的长度(二值数的长度);%长度大小取决于变量的二进制编码的长度(本题取10位);%Name:initpop.m(初始化)functionpop=initpop(popsize,chromlength)pop=round(rand(popsize,chromlength));%rand随机产生每个单元为{0,1}行数为popsize,列数为chromlength的矩阵,roud对矩阵的每个单元进行圆整,这样产生一个初始种群。%2.计算目标函数值%decodechrom.m函数的功能是将染色体(或二进制编码)转换为十进制,参数spoint表示待解码的二进制串的起始位置;%calobjvalue.m函数的功能是实现目标函数的计算,其公式采用本文示例仿真,可根据不同优化问题予以修改。%Name:decodebinary.m(产生[2^n2^(n-1)...1]的行向量,然后求和,将二进制转化为十进制)functionpop2=decodebinary(pop)[px,py]=size(pop);%求pop行和列数fori=1:pypop1(:,i)=2.^(py-i).*pop(:,i);endpop2=sum(pop1,2);%求pop1的每行之和%Name:decodechrom.m(将二进制编码转换成十进制)functionpop2=decodechrom(pop,spoint,length)pop1=pop(:,spoint:spoint+length-1);pop2=decodebinary(pop1);%Name:calobjvalue.m(实现目标函数的计算)function[objvalue]=calobjvalue(pop)temp1=decodechrom(pop,1,10);%将pop每行转化成十进制数x=temp1*10/1023;%将二值域中的数转化为变量域的数objvalue=10*sin(5*x)+7*cos(4*x);%计算目标函数值%3.计算个体的适应值%Name:calfitvalue.m(计算个体的适应值)functionfitvalue=calfitvalue(objvalue)globalCmin;Cmin=0;[px,py]=size(objvalue);fori=1:pxifobjvalue(i)+Cmin>0temp=Cmin+objvalue(i);elsetemp=0.0;endfitvalue(i)=temp;endfitvalue=fitvalue';%4.选择复制%选择或复制操作是决定哪些个体可以进入下一代。程序中采用赌轮盘选择法选择,这种方法较易实现。根据方程pi=fi/∑fi=fi/fsum,选择步骤:%1)在第t代,由(1)式计算fsum和pi%2)产生{0,1}的随机数rand(.),求s=rand(.)*fsum%3)求∑fi≥s中最小的k,则第k个个体被选中%4)进行N次2)、3)操作,得到N个个体,成为第t=t+1代种群%Name:selection.m(选择复制)function[newpop]=selection(pop,fitvalue)totalfit=sum(fitvalue);%求适应值之和fitvalue=fitvalue/totalfit;%单个个体被选择的概率fitvalue=cumsum(fitvalue);%如fitvalue=[1234],则cumsum(fitvalue)=[13610][px,py]=size(pop);ms=sort(rand(px,1));%从小到大排列fitin=1;newin=1;whilenewin<=pxif(ms(newin))<fitvalue(fitin)newpop(newin)=pop(fitin);newin=newin+1;elsefitin=fitin+1;endend%5.交叉%交叉(crossover),群体中的每个个体之间都以一定的概率pc交叉,即两个个体从各自字符串的某一位置(一般是随机确定)开始互相交换,这类似生物进化过程中的基因分裂与重组。例如,假设2个父代个体x1,x2为:%x1=0100110%x2=1010001%从每个个体的第3位开始交叉,交又后得到2个新的子代个体y1,y2分别为:%y1=0100001%y2=1010110%这样2个子代个体就分别具有了2个父代个体的某些特征。利用交又我们有可能由父代个体在子代组合成具有更高适合度的个体。%Name:crossover.m(交叉)function[newpop]=crossover(pop,pc)[px,py]=size(pop);newpop=ones(size(pop));fori=1:2:px-1if(rand<pc)cpoint=round(rand*py);newpop(i,:)=[pop(i,1:cpoint),pop(i+1,cpoint+1:py)];newpop(i+1,:)=[pop(i+1,1:cpoint),pop(i,cpoint+1:py)];elsenewpop(i,:)=pop(i);newpop(i+1,:)=pop(i+1);endend%6.变异%Name:mutation.m(变异)function[newpop]=mutation(pop,pm)[px,py]=size(pop);newpop=ones(size(pop));fori=1:pxif(rand<pm)mpoint=round(rand*py);ifmpoint<=0mpoint=1;endnewpop(i)=pop(i);ifany(newpop(i,mpoint))==0newpop(i,mpoint)=1;elsenewpop(i,mpoint)=0;endelsenewpop(i)=pop(i);endend%7.求出群体中最大得适应值及其个体%Name:best.m(求出群体中适应值最大的值)function[bestindividual,bestfit]=best(pop,fitvalue)[px,py]=size(pop);bestindividual=pop(1,:);bestfit=fitvalue(1);fori=2:pxiffitvalue(i)>bestfitbestindividual=pop(i,:);bestfit=fitvalue(i);endend%8.主程序%Name:genmain05.m(主程序)clearclfpopsize=20;%群体大小chromlength=10;%字符串长度(个体长度)pc=0.6;%交叉概率pm=0.001;%变异概率pop=initpop(popsize,chromlength);%随机产生初始群体fori=1:20%20为迭代次数[objvalue]=calobjvalue(pop);%计算目标函数fitvalue=calfitvalue(objvalue);%计算群体中每个个体的适应度[newpop]=selection(pop,fitvalue);%复制[newpop]=crossover(pop,pc);%交叉[newpop]=mutation(pop,pc);%变异[bestindividual,bestfit

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论