《中南大学人工智能实验报告.docx》由会员分享,可在线阅读,更多相关《中南大学人工智能实验报告.docx(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上人工智能实验报告学 院: 专业班级: 指导老师: 学 号: 姓 名: 第一次实验:搜索策略1.节点静态图(Node1为起点,Node0为终点)2.DFS搜索策略:当节点v的所有边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点,则选择其中一个作为源节点并重复以上过程,整个进程反复进行直到所有节点都被访问为止。属于盲目搜索。搜索结果前四步open表和close表的变化Open表Close表14161,401,4,63.BFS搜索策略:BFS并不使用经验法则算法。从算法的观点,所有因为展开
2、节点而得到的子节点都会被加进一个先进先出的中。依次对出队的结点进行搜索,直至找到目标节点搜索结果前四步open表和close表的变化Open表Close表1416,21,42,0,31,4,64.Lowest cost first搜索策略:类似于BFS,但在搜索结点时,并不按照队列的顺序进行搜索,而选取队列中与起始结点距离最近的结点进行搜索。搜索结果前四步open表和close表的变化Open表Close表1416,21,42,0,31,4,65.best first搜索策略:最佳优先搜索通过扩展最有可能到达目标节点的节点,根据指定的规则,探索一个图。搜索结果前四步open表和close表的变
3、化Open表Close表1416,21,42,0,31,4,66.层次深度优先搜索策略:令k=1,进行k层的深度优先搜索,如果没有找到目标,则k+1,进行k+1层的深度优先搜索,以此类推。搜索结果前四步open表和close表的变化Open表Close表1416,21,42,0,31,4,67.A*算法搜索策略:A*1(A-Star)算法是一种静态路网中求解最短路最有效的直接搜索方法。公式表示为: f(n)=g(n)+h(n),其中 f(n) 是从初始点经由节点n到目标点的估价函数,g(n) 是在中从初始节点到n节点的实际代价,h(n) 是从n到目标节点最佳路径的估计代价。保证找到(最优解的)
4、条件,关键在于估价函数f(n)的选取:估价值h(n)实际值,搜索的点数少,搜索范围小,效率高,但不能保证得到最优解。搜索结果前四步open表和close表的变化Open表Close表1416,21,42,0,31,4,68.修改源代码中的估价函数对于一个启发式算法来说,他的搜索顺序依赖于估价函数的定义,而估价函数中启发函数部分h的定义比较主观,容易对搜索造成比较大的影响。因此,如果我们修改关于八数码问题的源代码,将估价函数中的曼哈顿距离改为欧式距离,结果可能会改变。修改前修改后(将启发函数由曼哈顿距离改为欧氏距离)由上面的2个结果可以看出,当未做修改前,我们的算法可以通过5步搜索得出结果,当把
5、曼哈顿距离改为欧氏距离之后,算法尝试了561次搜索,直到内存不够,也没能得出结果。可见估价函数对于整个搜索的影响力。第二次实验:推理技术1. 实验说明产生式系统用来描述若干个不同的以一个基本概念为基础的系统,这个基本概念就是产生式规则或产生式条件和操作对。在产生式系统中,论域的知识分为两部分:用事实表示静态知识;用产生式规则表示推理过程和行为。 2实验内容下面以一个具体的动物识别专家系统模型来说明其原理。建立该专家系统的代码:规则库 事实库该动物是哺乳动物 - 该动物有毛发. 该动物是哺乳动物 - 该动物有奶.该动物是鸟 - 该动物有羽毛.该动物是鸟 - 该动物会飞&会下蛋.该动物是食肉动物
6、- 该动物吃肉.该动物是食肉动物 - 该动物有犬齿&有爪&眼盯前方.该动物是有蹄类动物 - 该动物是哺乳动物&有蹄.该动物是有蹄类动物 - 该动物是哺乳动物& 是嚼反刍动物.该动物是金钱豹 - 该动物是哺乳动物&是食肉动物&是黄褐色&身上有暗斑点.该动物是虎 - 该动物是哺乳动物&是食肉动物&是黄褐色&身上有黑色条纹.该动物是长颈鹿 - 该动物是有蹄类动物&有长脖子&有长腿&身上有暗斑点.该动物是斑马 - 该动物是有蹄类动物&身上有黑色条纹.该动物是鸵鸟 - 该动物是鸟&有长脖子&有长腿&不会飞&有黑白二色.该动物是企鹅 - 该动物是鸟&会游泳&不会飞&有黑白二色.该动物是信天翁 - 该动物是
7、鸟&善飞.%会游泳. %-该动物是企鹅%不会飞.%有黑白二色.%该动物是鸟.%- %-该动物是鸟%该动物会飞.%会下蛋.%-该动物是金钱豹 - 该动物是哺乳动物&是食肉动物&是黄褐色&身上有暗斑点.%该动物有毛发.%是食肉动物.%是黄褐色.%身上有暗斑点.%-该动物是虎 - 该动物是哺乳动物&是食肉动物&是黄褐色&身上有黑色条纹.该动物是哺乳动物.是食肉动物.是黄褐色.身上有黑色条纹.%-该动物是长颈鹿 - 该动物是有蹄类动物&有长脖子&有长腿&身上有暗斑点.%该动物是有蹄类动物.%有长脖子.%有长腿.%身上有暗斑点.实现逆向推理过程(该动物是鸟):将该事实(该动物是鸟)与规则库进行匹配,与“
8、 该动物是鸟 - 该动物有羽毛.”和“ 该动物是鸟 - 该动物会飞&会下蛋”这两条规则匹配,于是得到这两个结论,将它们加入用于推理的事实中,继续与规则库匹配,发现没有能够继续匹配的规则了,于是推理终止。过程如下我尝试对规则库进行修改,将“ 该动物是鸟 - 该动物会飞&会下蛋.”改为了“该动物是鸟 - 该动物会飞&会下蛋&有屁股.”,果然发现得到的结果改变了后来我又尝试自己建立规则库规则库代码如下:% file: 动物识别系统规则库.pl该动物是人 - 该动物有毛发. 该动物是人 - 该动物会说话.该动物是人 - 该动物知羞耻.该动物有毛发 - 该动物等级高. 该动物有毛发 - 该动物不是鱼.该
9、动物不是鱼 =0); W=W+h*(d(j)-o(j)*X(:,j); s=s+abs(d(j)-o(j); end err=err s; k=k+1; W1=W1 W(2); W2=W2 W(3); if s=0, break end end figure(1) subplot(3,1,1) x=1:k; plot(x,err,b-) xlabel(迭代次数) ylabel(error) title(误差的收敛曲线) subplot(3,1,2) plot(x,W1,r-) xlabel(迭代次数) ylabel(W1) title(权值W1的变化过程) subplot(3,1,3) plo
10、t(x,W2,y-) xlabel(迭代次数) ylabel(W2) title(权值W2的变化过程) figure(2) hold on grid on x1=-2:4; x2=(T-W(1)*x1)/W(2); plot(x1,x2,b-) xlabel(x1) ylabel(x2 ) title(样本分布及分界线) x=0 0 1 1; y=0 1 0 1; plot(x,y,b*); M=0 0 0;0 1 0;1 0 0;1 1 1; fprintf(n) display(与运算的结果) display(The final error is: num2str(s) display(T
11、he epoch is: num2str(k) display(The final W is: num2str(W(2) num2str(W(3) display(The final T is: num2str(T) display(the result is:) display(x1, x2, y) display(num2str(M)2.3实验结果:程序运行的结果可见仅当x1、x2输入均为1时输出y才为1,实现了“与”功能。得到的图表误差的收敛曲线和迭代次数样本分布及分界线2.4总结和讨论: 单层感知器的结构与功能都比较简单,所以在解决实际问题时很少被采用,但在神经网络中具有重要的意义,是研究其他网络的基础而且较易学习和理解,适合与作为学习神经网络的起点。 单层感知器的局限性:仅对线性可分问题具有分类能力,不能解决异或问题。 使用二值变换函数和连续变换函数对单层感知器产生的影响:误差的收敛曲线、权值W1、W2的变化不同。专心-专注-专业
限制150内