ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:42.93KB ,
资源ID:8363151      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8363151.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(人工智能典型例题MATLAB仿真实验报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

人工智能典型例题MATLAB仿真实验报告.docx

1、人工智能典型例题人工智能典型例题 MATLAB 仿真实验报告仿真实验报告 研究生(人工智能)报告研究生(人工智能)报告 题目:人工智能实验报告 学 号 姓 名 专 业 电磁场与微波技术 指导教师 院(系、所)华中科技大学研究生院制华中科技大学研究生院制 1 问题二问题二 利用一阶谓词逻辑求解猴子摘香蕉问题利用一阶谓词逻辑求解猴子摘香蕉问题:房内有一个猴子,一个箱子,天:房内有一个猴子,一个箱子,天 花板上花板上挂了一串香蕉,其位置如图所示,猴子为了拿到香蕉,它必须把箱子搬挂了一串香蕉,其位置如图所示,猴子为了拿到香蕉,它必须把箱子搬 到香蕉下面,到香蕉下面,然后再爬到箱子上。请定义必要的谓词,

2、列出问题的初始化状态然后再爬到箱子上。请定义必要的谓词,列出问题的初始化状态(即下图所示状态即下图所示状态),目标状态,目标状态(猴子拿到了香蕉,站在箱子上,箱子位于位猴子拿到了香蕉,站在箱子上,箱子位于位 置置 b)。a b c 图 1猴子香蕉问题 解:解:定义描述环境状态的谓词。定义描述环境状态的谓词。AT(x,w):x 在 t 处,个体域:x?monkey,w?a,b,c,box;HOLD(x,t):x 手中拿着 t,个体域:t?box,ba nan a;EMPTY(x):x 手中是空的;ON(t,y):t 在 y 处,个体域:y?b,c,ceiling;CLEAR(y):y上是空的;B

3、OX(u):u是箱子,个体域:u?box;BANANA(v):v 是香蕉,个体域:v?banana;使用谓词、连结词、量词来表示环境状态。使用谓词、连结词、量词来表示环境状态。问题的初始状态可表示为:So:AT(monkey,a)?EMPTY(monkey)?ON(box,c)?ON(banana,ceiling)?CLEAR(b)?BOX(box)?BANANA(ba nan a)要达到的目标状态为:Sg:AT(mo nkey,box)?HOLD(mo nkey,ba nan a)?ON(box,b)?CLEAR(ceili ng)?CLEAR(c)?BOX(box)?BANANA(bana

4、na)从初始状态到目标状态的转化,猴子需要完成一系列操作,定义操作类谓词从初始状态到目标状态的转化,猴子需要完成一系列操作,定义操作类谓词 表示表示其动作。其动作。WALK(m,n):猴子从 m 走到 n 处,个体域:m,n?a,b,c;CARRY(s,r):猴子在 r 处拿到 s,个体域:r?c,ceili ng,s?box,ba nan a;CLIMB(u,b):猴子在 b 处爬上 u;这 3个操作也可分别用条件和动作来表示。条件直接用谓词公式表示,是为完成相应 操作所必须具备的条件;当条件中的事实使其均为真时,则可激活操作规则,于是可执行 该规则中的动作部分。动作通过前后状态的变化表示,

5、即通过从动作前删除或增加谓词公 式来描述动作后的状态。WALK(m,n):猴子从 m 走到 n 处 条件:AT(monkey,m)删除:删除:AT(monkey,m)动作:增加:增加:AT(monkey,n)CARRY(s,r):猴子在 r 处拿到 s 条件:AT(mo nkey,r)?EMPTY(mo nkey)?ON(s,r)?BOX(box)?BANANA(ba nan a)动作:删除:EMPTY(monkey)ON(s,r)增加:HOLD(monkey,s)CLEAR(r)CLIMB(u,b):猴子在 b 处爬上 u 条件:AT(monkey,b)?HOLD(monkey,u)?CLE

6、AR(b)?BOX(box)?BANANA(banana)删除:删除:AT(monkey,b)HOLD(monkey,u)CLEAR(c)动作:增加:增加:AT(monkey,u)EMPTY(monkey)ON(u,c)按照行动计划,一步步进行状态替换,直至目标状态。按照行动计划,一步步进行状态替换,直至目标状态。AT(monkey,a)?EMPTY(monkey)?ON(box,c)?ON(banana,ceiling)?CLEAR(b)?BOX(box)?BANANA(ba nan a)WALK(a,c)用用 a 代换代换 m,用用 c 代换代换 n AT(monkey,c)?EMPTY(

7、monkey)?ON(box,c)?ON(banana,ceiling)?CLEAR(b)?BOX(box)?BANANA(ba nan a)CARRY(c,box)用用 c 代换代换 s,用用 box 代代 换换 r AT(monkey,c)?HOLD(monkey,box)?ON(banana,ceiling)?CLEAR(b)?CLEAR(c)?BOX(box)BANANA(ba nan a)WALK(c,b)用用 c 代换代换 m,用用 b 代换代换 n AT(monkey,b)?HOLD(monkey,box)?ON(banana,ceiling)?CLEAR(b)?CLEAR(c)

8、?BOX(box)BANANA(ba nan a)CLIMB(box,b)用用 box 代换代换 u AT(monkey,box)?EMPTY(monkey)?ON(box,b)?ON(banana,ceiling)?CLEAR(c)?BOX(box)BANANA(ba nan a)CARRY(ba nana,ceili ng)用用 bananaf 弋换弋换 s,用用 ceili ng 代换代换 r AT(mo nkey,box)?HOLD(mo nkey,ba nan a)?ON(box,b)?CLEAR(ceili ng)?CLEAR(c)?BOX(bo x)?BANANA(banana)

9、(目标得解)猴子行动的规则序列是:WALK(a,c)t CARRY(c,box)宀 WALK(c,b)宀 CLIMB(box,b)宀 CARRY(ba nan a,ceili ng)当猴子执行某一个操作之前,需要检查当前状态是否可使所要求的条件得到满足,即 证明当前状态是否蕴涵操作所要求的状态的过程。在行动过程中,检查条件的满足性后才 进行变量的代换。代入新条件后的新状态如果是目标状态,则问题解决;否则看是否满足 下面的操作,如果不满足或即使满足却又回到了原来的状态,那么代入无效。#in clude box;1:mon key the box;*/struct State int mon ke

10、y;/*-1:Mo nkey at A;0:Mon key at B;1:Mo nkey at C;*/int box;/*-1:box at A;0:box at B;1:box at C;*/int banana;/*Banana at B,Ba nan a=0*/int mon box;/*-1:mon key on the;struct State States 150;char*routesave150;/*fu nctio n mon keygoto,it makes the mon key goto the other place*/void mon keygoto(i nt b

11、,i nt i)int a;a=b;if(a=_1)routesavei=Mon key go to A;Statesi+1=Statesi;Statesi+1.mo nkey=-1;else if(a=0)routesavei=Mon key go to B;Statesi+1=Statesi;Statesi+1.mo nkey=0;else if(a=1)routesavei=Mon key go to C;Statesi+1=Statesi;Statesi+1.mo nkey=1;else prin tf(parameter is wron g);/*end fun ctio n mon

12、 keyygoto*/*function movebox,the mon key move the box to the other place*/void movebox(i nt a,i nt i)int B;B=a;if(B=-1)routesavei=mon key move box to A;Statesi+1=Statesi;Statesi+1.mo nkey=-1;Statesi+1.box=-1;else if(B=0)routesavei=mon key move box to B;Statesi+1=Statesi;Statesi+1.mo nkey=O;Statesi+1

13、.box=0;else if(B=1)routesavei=mon key move box to C;Statesi+1=Statesi;Statesi+1.mo nkey=1;Statesi+1.box=1;else prin tf(parameter is wron g);/*end function movebox*/onto the box*/void climb on to(i nt i)routesavei=Mon key climb onto the box;Statesi+1=Statesi;Statesi+1.mo nbox=1;/*fu nctio n climbdow

14、n,mon key climb dow n from the box*/void climbdow n(i nt i)routesavei=Mon key climb dow n from the box;Statesi+1=Statesi;Statesi+1.mo nbox=-1;/*fun ctio n climb on to,the mon key climb/*fu nctio n reach,if the mon key,box,a nd banana are at the same place,the mon key reach banana*/void reach(i nt i)

15、routesavei=Mon key reach the banan a;/*output the soluti on to the problem*/void showSoluti on(i nt i)int c;printf(%s n,Result to problem:);for(c=0;c=150)prin tf(%s n,steple ngth reached 150,have problem);return;for(c=0;cer 图 2 具有一个隐含层的 BP 网络模型示意图 BP 算法的主要思想是把学习过程分为信号的正向传播与误差的反向传播两个阶段。在正向传播阶段,输入信息从输

16、入层经隐含层传向输出层,在输出端产生输出信号。在信 号的向前传递过程中网络的权值固定不变,每一层神经元的状态只影响下一层神经元的状 态。如果在输出层不能得到期望的输出,则转入误差信号反向传播。在反向传播阶段,未 能满足精度要求的误差信号由输出端开始,以某种方式逐层向前传播,并将误差分摊给各 层的所有单元,依据误差信号动态的调整各单元层的连接权重。通过周而复始的正向传播 与反向调节,神经元间的权值得到不断的修正。当输出信号的误差满足精度要求时,停止 学习。BP神经网络的神经网络的 MATLAB 实现实现 进行 BP 神经网络设计时,需要考虑以下问题:网络的拓扑结构(隐层的层数及各层的 神经元的数

17、目);神经元的变换函数选取;网络的初始化(连接权值和阈值的初始化);训练参数设置;训练样本的归一化处理;样本数据导入方式等。根据以上分析可知,对于网络的实现有四个基本的步骤:1)网络建立:通过函数 newff实现,它根据样本数据自动确定输入层、输出层的神经元 数目;隐层神经元数目以及隐层的层数、隐层和输出层的变换函数、训练算法函数需由用 户确定。2)初始化:通过函数 in it 实现,当 n ewff在创建网络对象的同时,自动调动初始化函数 init,根据缺省的参数对网络进行连接权值和阈值初始化。3)网络训练:通过函数 train 实现,它根据样本的输入矢量 P、目标矢量 T;和预先已设 置好

18、的训练函数的参数;对网络进行训练。4)网络仿真:通过函数 sim 实现,它根据已训练好的网络,对测试数据进行仿真计算。仿真结果仿真结果 仿真面板如下图 3护 与利 Algofitti 州 w T亦对曲号;Gf曇 Hint rar(r 冃厂 Mr in Frrnr Owwillw EMitA(dafauHdew PragreiK Epoch:EiESS TEKstiar s 1CMKX3 Time:血仙 PerFc-mnancEf 0L-B65 OjOIOO Gradient;0l371l:丄 1.0te-D5 Va idatiia r Checicc D G (pJutpQriQfTTi Tr

19、ihiingi 5Mt U 制 cmninilril 图 3仿真面板 输入矢量 P 与相对应的目标矢量 T之间的函数关系仿真图如下,训练次数达到6855 时,即结束,红色线代表训练后,蓝色线代表原数据。1-0.8-0.6-0.4-0.2 0 0.2 0.4 0.6 0.8 1 Best Training Performance is 0.0099994 at epoch 7432-0.5 0 0.5 BP 神经网络逼近非线性函数的 Matlab 实现)es rnFE derauas nae Trai Best J-Goal i r r i r r _ c 1 5000 6000 7000 0

20、1000 2000 3000 4000 7432 Epochs-2-o-2 10 Gradient=0.01336,at epoch 6855 Validation Checks=0,at epoch 6855 1 0-1 0 2000 4000 6000 6855 Epochs r7aoo+tearH*oo-tunruo 4-2o2468 a a a a a a a Training:R=0.97122 Target 图 4 BP 神经网络逼近非线性函数图 红)与原数据(蓝)1.训练次数为训练次数为 10000 次时,测试集次时,测试集 P2 时,仿真如下时,仿真如下 lfes nkrnFE

21、dATauas naeM 0 Gradient=0.013405,at epoch 6050 10 DeHaa9-1 10-2 10 Validation Checks=0,at epoch 6050 1 0-1 0 2000 4000 6050 Epochs 00 60 P7QOOO+tepa丁 SKDO 一二 tupuo 6 4 2 0 2 4 6 8 O 0 0 0 图 5测试集 P2 的仿真结果 MATLAB 仿真程序源码仿真程序源码 clear;clc;P=-1:0.1:1;P2=-1:0.25:1;%测试集 P2 T=-0.96-0.577-0.0729 0.377 0.641 0

22、.66 0.461 0.1336-0.201-0.434-0.5-0.393-0.1647 0.0988 0.3072 0.396 0.3449 0.1816-0.0312-0.2183-0.3201;net=n ewff(-1,1,5,1,ta nsig,ta nsig,trai ngd);%可以改变训练不熟来查看网络的训 练结果 n et.tra in Param.epochs=10000;n et.trai nParam.goal=0.01;%目标误差 LPlr=0.1;%设置学习速率 net=train(net,P,T);y=sim(n et,P);y1=sim(net,P2);figure hndl1=plot(P,y);set(h ndl1,li newidth,2);set(h ndl1,color,red);hold on hndl2=plot(P,T);set(h ndl2,li newidth,2);%测试集 P2 hn dl3=plot(P2,y1);set(h ndl3,li newidth,2);set(h ndl3,color,black);title(BP 神经网络逼近非线性函数的 Matlab 实现);%标题 legend(BP 神经网络逼近非线性函数,原数据曲线);

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

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