《人工智能典型例题MATLAB仿真实验报告.docx》由会员分享,可在线阅读,更多相关《人工智能典型例题MATLAB仿真实验报告.docx(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、研究生(人工智能H艮告题目:人工智能实验报告学号姓名专 业电磁场与微波技术指导教师院(系、所)精选int mainoStales0. m()nkcy=-l;精选DcXtStcp(O);States(). box=l;Shitcs (J. banana=();States(D . mnb)x=T;精选2问题三求解函数遥近问题有21组单输入矢量P和相对应的目标矢量T,试采用Mat lab设计禅经网络 来实现这对数组的函 数关系。T=-0. 96 -0. 577 -0. 0729 0. 377 0. 641 0. 66 0. 461 0. 1336 -0. 201 -0. 434 -0.5 -0.
2、3930. 1647 0. 0988 0. 3072 ().396 (). 3449 0. 1816 -0. 0312-().2183 -0. 3201;测试集P2=T:0. 25:1解: BP神经网络模型BP神经网络作为人工神经网络中应用最广的篓法模型,具有完备的理论体系和学习机制。它,|嚷仿 人雁神经元对外部激励信号的反响过程,建立多层感知翌模到J,利用信号正向传播和误差反向调节的 学习机制,通过屡次迭代学习,成功地搭建出处理非线性信息的智能化 网络模型。精选InputHiddenOutputEJ2具有一个隐舍层的BP网籍模型示意图BP算法的主要思想是把学习过程分为信号的正向传播与误差的反
3、向传播产个阶段。在正向传播阶 段,输入信息从输入层经隐舍层传向转出层,在输出端产生物出信号。在信号的 向前传递过程中 网络的权值固定不变,每一层神经元的状态只影响下一层神经元的状态。如 果在输出层不能得到期望 的输出,那么转入误差信号反向传播。在反向传播阶段,来能满足精 危要求的误差信号由输出端开始, 以某种方式逐层向前传播,并将误集分摊给冬层的所有单元,依据误差信号动态的调壑各单元层的连 接权重。通过同而更始的正向传播与反向调节,神经元间的权值得到不断的修正。当输出信号的误差 满足精度要求时,停止学习。 BP神经网络的MATLAB实现进行BP神经网络设计时,需要考虑以下问题:网籍的拓扑结构(
4、隐层的层款及各层的神经元的数 目);神经元的变换函教选取;网络的初始化(连接权值和阈僮的初始化);训练参数设训练样 本的归一化处理;样本教据导入方式等。果据以上分析可知,对于网络的实现有四个基本的步骤:1)网络崖立:通过函数newFf实现,它果据样本数据药动确定输入层、输出层的神经元数S;膜层 神经元数吕以及隐层的是敏、庾、层和输出层的变换函款、训练尊法函款需由用户确定。2)初始化:通过函教ink实现,当ncwff在创立网络对氛的同时,自动调动初始化函数川,根据缺 简的参数对网络进行连接权值和阈俱初始化。3)网络训练:道过函数min实现,它根据样本的轮入矢f P.目标矢IT;和预先巳设詈 好的
5、训练函 款的参欲:;对网络进行训练。4)网络仿真:通过函数sim实现,它根提巳训练好的网络,对测试教据进行仿真计算。仿真结果仿真面板如下四:精选Neural NetworkAlgorrthmcTrMning Gradient De&cem /:Squared Error r-5-iAlgorrthmcTrMning Gradient De&cem /:Squared Error r-5-iPerform, Cplotperform)TfliningRegrwion p wegressiorDlot Tmerval:1 epochsPcrformancQ goal matV ngE 3仿真而极输
6、入矢量P与相对应的目标矢量T之间的函数关系仿真囤如下,训练次救到达6855时,即结束, 红色线代表训练后,蕖色线代表原据。BPI8经网络逼近非线性函数的Mat 1g现10CBest Training Performance is 0.0099994 at epoch 7432102JJPE 01000TrainBestGoal20003000400050007432 Epochs600 0700 0精选10Gradient = 0.01336. at epoch 6855Validation Checks = 0. at epoch 6855-1 -02000400060006855 Epoc
7、hs04 BP f*经网络渔近非建性函孝攵TSTarget与原效据(St) (红)精选L训练次数为10000次时,测试集P2时,仿真如下BP神经网络通近非线性函数的Matlab实现BP神经网络通近非线性函数 原1 1 1 1 1 1-1-0.8 -0.6 -0.4-0.200.20.40.60.8Best Training Performance is 0.0099983 at epoch 6050t 10aBTrai7肿;Goab1z-102)3r9ETraining: R =0.97123S5测试倦P2的仿真结果MATLAB仿真程序源码clcar;clc;P2=-l:0. 25:1;% 测
8、试集 P2精选T=-0. 96 -al=0. 01; %目标误是LPJ厂(M; %设亶学习速率1 let=train (nrtPT);y=sim(nct, P);yl=sim(nct, P2);figurehndll=plct (P, y);set (hndll ,*lincrwidth,, 2);sctfhndl 1 /ccjlorVrcd1);hold onhnd12=plot (PtT);set (hndl2/lincwidth,1;%测试集P2lmdl3=plot(P2, yl);sut (hndl3, TinuEdth2);set (hndl3/color7black );lidcC
9、BP神经网络逼近非线性函敬的Mat lab实现*) ;%标题IcgcndfBP神经网络渔近非线性函歉:原数据曲线);如有侵权请联系告知删除,感谢你们的配合!精选华中科技大学研究生院制精选精选1问题二利用一阶调词逻辑求解猴子插香蕉问题:房内有一个猴子,一个箱子,天花板上挂了一串香蕉, 其位置如下图,猴子为了拿到杳蕉,它必须把箱子搬到香 蕉下面,然后再悭到箱子上。请定义必蔓 的调词,列出问题的初始化状态(即下列图所示状态),月标状态(猴子拿到了香蕉,站在箱子上,箱子位 于位T b)aEI猴子香您问题解:定义描述环境状态的谓伺。AT (x, w) : x 在 t 处,个体域:x monkey w a
10、, b, c, bg;H0LD(x, t) : x 手中拿普 t,个体域:比box, banana;EMPTY: x手中是空的;()N(t, y) : t 在 y 处,个体域:ye b, periling);CLEARS) : y上是空的;BOX (u) : u是箱子,个体域:u box;BANANA (v) :是否蒐,个体域:V6 J banana;使用谓词、连结词、量词来表示环境状态.问题的初始状态可表示为:&AT(m(nkcy. a) A EMPT7m()nkcy) A ()N(box, c)八 )N(banaiia, ccilin A CLEAR (b) A B()X(box)人 BA
11、NANA (banana) 要到达的目标状态为:Sg: AT (mOnkcy, box) A HOLD (mnkcbanaxia) A ON (box, b) A CLEAR (ceiling) A CLEAR (c) A B()X(bOx)A BANANA (banaiia)精选从初始状态到目标状态的转化,猴子需要完成一系列操作,定义操作类谓词表示其动作。WALK(叫n):偻子从ni走到n处,卜体域:叫ne朴,b, c;CARRY(s, r):猴子在 r 处含到 s,个体域:r ceding, s b (xb; mana) ; CUMB(u, b):猴子在 b 处爬上u;这3个操作也可分别用
12、条件和动作来表示。条件直接用谓词公式表示,是为完成相应探作所必须 具备的条件;当条件中的事实使其均为真时,那么可激活操作规那么,于是可执行该规 那么中的动作局部。 动作通过前后状态的变化表示,即通过从动作前删除或增加谓词公式来增 述动作后的状态。WALK (mq):猴子从m走到n处条件:AT (monkey, m)删除:/ T (monkey, m)动作:增加:AT (monkey, n)CARRY (s,r):糕子在r处拿到s条件:AT (mOnkcy j) A EMPTY (mgk 或八 0N(s, r)A B()X(box)A BANANA (bamna)删除:EMPTY nwnke D
13、aONS.r)动作.增加:HOLD nionkey, s) A CLEARSr)CLIMB (u, b):猴子在b处爬上u条件:AT (monkey, b) A H0LD(m() nkey, u) A CLEAR (A B()X(bo 对八 BANANA (banana)删除:AT (monkey, b) A HOLD(monke | | u) A CLEAR 1c)增加:AT(nionkey, u)EMPTY(monkey)A0N(I,C)按照行动计划.一步步进行状态替换,直至目标状态。AT(m(nkcy. a) A EMPT7m()nkcy) A ()N(box, c)八 x)A BANA
14、NA(banana)U利Ye,儿x)用c代换s,用骚M弋换矿AT (m() nkuy, c) A HOLD (m () nkcbox)A ON (bananaxci 1 ing) A CLEAR (b) A CLEAR (c)人 BOXfbox) ABANANA(banana)I iWALK力)用c代换,用b代换AT(m()nkey. b) A HOLD (monkeypox) A ()N(banana, ceiling)A CLEAR(b)A CLEAR 八 BOXfbox) A BANANA(banana)U CUMB (box,加用彳弋换UAT(m(nkcbox)A EMPTY(menk
15、e、)A 0N(bcx. b)A ON(banana, ceiling)A CLEAR(c)7k BCXfbox) A BANANA(banana)精选U CARRY (banana,。82力力1用力3口口屋换5,用 ceiling rAT (mOnkcy. box) A HCLD (monko , banana) 7k 0N(bcx, b) A CLEAR (ceiling) A CLEAR(c)人 BOX (bo 伊 BANANA (banana)(目标袈解)拨于行动的规那么序列是:WALK (a, c)CARRY (c, box) TWALK (cb) TCLMB (bxb) fC AR
16、RY(baiiana, ceiling)当猴于执行某一个操作之前,需要检查当前状态是否可使所要求的条件得到满足,即证明当前 状态是否蕴涵操作所要求的状态的过程。在行动过程中,检查条件的满足性后才进行变量的代换。代 入新条仲后的新状态如巢是目标状态,那么问题解决;否那么首是否满足下面的操作,如果不满足或即使 满足却又回到了原采的状态,那么代入无效.routrsavri=, lM()ilkry gp to Slates(i+l=StatcsO;Statesi+ 1. mnkcy=-l;)else if(a=0)(routesavei=, MOnkcy gp uStatesi+1 =Statcsi;
17、Statesmnkc=0;)else if(a=l)(routesavcli -wMankc)- go tt C” ; S 馈心口+1 =States i; States i+l. mnkc=l;ttincludr struct Stateint monkey; /*-1:Monkey at A;0: Monkey at B;1:M(nkcy at C; */int box; /*-l:box at A; (kb()x al B;1:boxc; */int banana; /*Banana al B,Ban; ina=0f/int monbox; /*-1: monkey on the bex
18、; 1: monkey the box;*/);struct Slate States 150;char* routesave150;/*function monkeymakes the monkey goto the other place*/elsevoid mOnkcygoto(int b, int i) j1int a.pnntfCparamcter is wrong1*);a=b;if (a=-l)精选rnd function mOnkrvvg/function mcvcb()x, the monkey move the box to the other place*/void mO
19、vcb (x (tnt ajnt i)(int B;B=a;if (B=-l)(re)utrsavr i -m( nkrv mvr b)x toA;Statcsi+l=Suicsi;Statesi+1. m()nkcy=-l;S ta tr s i+1 . box=-l;)else if(B=0)(routesave i = monkey move box toB;S ta res i+1 =S ta tes i;S ta trsi+l . mnkey= 0;Statcsi+1. box=0;) else if(B=l)(routrsavrfi = monkey move box to c”
20、;Statesi+l=Statcsi;Satesi+1. monkey=l;Statesi+1. bnto, thr monkey climb onto the box*/void climbont Orint i)(r( u tc save j=,1 M nkr- climb onto the b。 /;Stalesi+1=Slatcsi;Statesi+1. monbutesavr i =M) nkr- climbd () wnfrom the box” ;Stalesi+1=Slatcs i;Statesi+1. monbulcsave i-Mnkc reach the banana”
21、;!/*Output the solution to theproblem*/ voidshowS () luti () n (in ( i)int c;printf f*%s iT, “Result to problem:*); for (c=0;e = 150)(printf(H%s n” , Msteplellgth reached 150,have problem );return;)f)r (c=0; ci; c+) /*if the current state is same to prrxi (ms jrtri) spcct*/I:if (States c . m) nkey=S
22、tatcs i. mOnk &Statrsc. box=Siatrsi. boy&Statrsc. ban;ina=Statrsi. binana&Statrsc. mnb (x=Sta tr s 0 . monbox)(return;it |Staiesi. m()nb()x=l&Statcsi. m()nkc y=0&S rate si. baiiana=()& &Sta tesi b()x=二0)sh(wS(jluti ()n(i);printfCPrcss any key u continueW):user,press any key to continue*/gctcharO ; /
23、*m save screen forrrturil;)j=i+l;if (States i. mx=-l)climbonto (i);rrach(i+l);nextS tcp(j) ; Amcnkuyg) tc( - 1 j); ncxtStep(j);monkey go 1 (03);nrxtStrp(j); movcboxC- U);ncxvStcp(j);movrbx (0, i);nrtSlrp(i)产/)else(rrach(i+l); nralStrp(j); /*dimbdown(i);ncxtStep(j);*/else if (Statesi. box= 1)(Amonkcy
24、gO t (-13); nextStepO);*/ monkey go to (1, i) ; ncxtStep (j); moveboxCOJ); ncxtStep (j); climbonto ; reach (i+1);DcxtStep (j);)else /*box=二一I*/(moiikcygoh-1j); ncxtStep(j);movebgOJ); ncxtStep (j);climbonto ; reach (i+1); ncxtStep (j);!)尸 end if*/if (States i. monkr=-l)(if (StatuspJ. box=l)(if (Statc
25、si. mci box=二 1) moBbcx (0, i);精选ncxtStcpfj);climbonto(i);rrach (i+1); ncxtStepQ; else(climbdown (i); nextStepQ;movebox (0, i); ncxtStcp (j);climbonto (i);rrach (i+1); nextS tcp(j);)else if (Stalesi-bx= 二 0)m() nkcygO 1 0(03);DcxtStcp (j); climboil to (i);rcach(i+l); nextStrP; elsemcnkugotc (1 j);ne
26、xtStrp (|); mevubex (0, i); nextStep;climb()nt () (i);reach(i+1); nextStrp (j);)/*cnd if*/if (Statesi. monkey=1)(if (Statesi. box=l)if(Statesi. m)nbx=T) movebe x (0?i); nextS tcp(j);climbonto ; rrach(i+1); nrxtStrp (j); else(climbd () wn (i)nratStrp(j); movebox (0, i) *ncxiSicp(j); climbonto(i); rrach(i+1); nrxlStrp (j);elseif(Smtcsi. box=l) moiikcygoh*-lj); ncxtStcp (j); m(gbcx(i); ncxtStcp (j); merebgOj);nrxtStep(j); climlx)nto (i); reach (i+1); ncxtStcp (j);) elsemonkuygps0, i); nextStepO);mevebexzz; nrxtStep (j); climbonto (i); reach (i+1); ncxtStcp (j);)/endifV/*cnd nexiStep*/精选