动物识别系统实验报告.doc

动物识别系统实验报告.doc

ID:55305130

大小:140.00 KB

页数:11页

时间:2020-05-09

动物识别系统实验报告.doc_第1页
动物识别系统实验报告.doc_第2页
动物识别系统实验报告.doc_第3页
动物识别系统实验报告.doc_第4页
动物识别系统实验报告.doc_第5页
资源描述:

《动物识别系统实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、人工智能实验报告二班级:XXXX姓名:XXXX学号:XXXXX一.实验目的1.理解并掌握基于规则系统的表示与推理。2.学会编写小型的产生式系统,理解正向推理和反向推理的过3.程以及两者的差别。4.学会设计简单的人机交互界面。二.实验预习内容及实验环境:1.了解动物识别系统问题;2.产生式系统的组成部分,正向推理,逆向推理的算法和产生式系统的类型。三、实验内容和步骤:1.内容:结合第五章内容,以动物识别系统(或货物袋装系统)为例,实现基于规则的系统构造实验。2.要求:1>结果显示要求(1)有若干选择动物特征的选择列表;(2

2、)表现判断动物时,使用了哪些规则;(1)表现数据库的变化;(正向推理中表现每使用一次规则后,产生新事实。反向推理中表现新的目标事实有哪些需要证明,哪些已经得到证实);(2)显示规则的调用次序;(3)显示最后的结果,包含动物能识别出来和动物不能识别出来两种情况。(1)至少检查两个例子实现正向推理和反向推理的区别;老虎的例子如上所示,以下为金钱豹的例子:正向推理:反向推理:1>指出综合数据库和规则库分别使用哪些函数实现的?综合数据库和规则库均采用数组完成。其中的综合数据库为一个string类型的数组,内容为事实的名称字符串,

3、下标则为该事实的序号。数组长度为33,表示共有33个事实(最后7个为动物名称)。代码如下:stringfacts[factnum]={"有爪","有犬齿","有奶","有毛发","目视前方","吃肉","有蹄","有羽毛","会飞","生蛋","不会飞","黑白色","会游泳","善飞","不怕风浪","长腿","长脖子","有暗斑点","白色","黑色斑点","黑色条纹","黄褐色","食肉动物","鸟","哺乳动物","有蹄动物","老虎","金钱豹","长颈鹿","斑马","鸵鸟","企鹅","海燕"};规则库为一

4、个结构体数组。该结构体由一个int型数组(表示前提条件的序号集合)和一个int数据(表示由此前提推出的结果)表示。该数组长度为14,表明有14条规则。该规则库在建立时有一个内在要求:前提的规则(子规则)的序号必须在父规则之前。(便于正向推理的实现)代码如下:structrule{intcon[10];intres;};Rulerules[rulenum]={{{2,-1},24},{{3,-1},24},{{7,-1},23},{{8,9,-1},23},{{24,0,1,4,-1},22},{{24,5,-1},22}

5、,{{24,6,-1},25},{{22,21,20,-1},26},{{22,21,19,-1},27},{{25,15,16,21,17,-1},28},{{25,18,20,-1},29},{{23,10,15,16,11,-1},30},{{23,10,12,11,-1},31},{{23,13,14,-1},32}};2>规则库的匹配算法是什么?如何选用可用规则集中的规则?分别使用哪些函数实现的?用一个bool型的与数据库数组等长的enfact数组表示各事实是否已经满足(或已经推出)。要匹配一个规则的时候,只需

6、查看其前提序号集数组中每个元素对应的enfact数组中的值是否为true,如果所有都为true则可由该规则推出相应结果。代码如下:boolenfact[factnum];memset(enfact,false,factnum);//每次输入时需对该数组进行初始化//以下为输入过程while(ti!=-1){if(ti>=0&&ti<=notanimal)enfact[ti]=true;else{cout<<"输入错误!请输入0~25之间的数字!"<

7、错误错误标记cin.sync();////////////清空输入缓冲区break;}cin>>ti;};以上,则完成了输入,并对enfact数组进行了初始化。现在对正向推理和反向推理的匹配和具体推理过程进行简要说明。Ø正向推理:从下向上的推理。由于建立规则库时的内在要求,即子规则必在父规则前,故进行正向推理的时候只要将规则库从前到后扫一遍看是否能由规则推出相应结果即可。如果能匹配推出结果则看该结果是否为动物,如果已经推出动物则推理成功。否则更新数据库,匹配下一个规则。代码如下:intobverse(){outputf(

8、1);intti;inti,j;inttres;cout<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。