首页 基于产生式动物识别系统的设计

基于产生式动物识别系统的设计

举报
开通vip

基于产生式动物识别系统的设计《人工智能及其应用》课程报告 基于产生式动物识别系统的设计 学 生: 学 号: 教 师: 专 业: 重庆大学自动化学院 二O**年十一月 目 录 一、实验目的 3 二、实验原理 3 三、设计过程 4 1、设计思路 4 2、设计过程 4 1)建立规则库 4 2)输入数据库 5 3)推理过程 5 3)问题求解基本过程 5 四、实验结果 7 五、实验心得 7 附 录 8 1、 实验目的 理解和掌握产生式知识表示方法及...

基于产生式动物识别系统的设计
《人工智能及其应用》课程 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 基于产生式动物识别系统的设计 学 生: 学 号: 教 师: 专 业: 重庆大学自动化学院 二O**年十一月 目 录 一、实验目的 3 二、实验原理 3 三、设计过程 4 1、设计思路 4 2、设计过程 4 1)建立规则库 4 2)输入数据库 5 3)推理过程 5 3)问题求解基本过程 5 四、实验结果 7 五、实验 心得 信息技术培训心得 下载关于七一讲话心得体会关于国企改革心得体会关于使用希沃白板的心得体会国培计划培训心得体会 7 附 录 8 1、 实验目的 理解和掌握产生式知识 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示方法及产生式系统的基本过程,能够利用编程技术建立一个基于产生式知识表示的简单的智能系统。 建立一个动物识别系统的规则库,用以识别虎、豹、斑马、长颈鹿、企鹅、鸵鸟、信天翁等7种动物。 二、实验原理 推理机的功能是根据一定的推理策略,从知识库中选择有关知识,对用户提供的证据进行推理,直到得出相应的结论为止。推理分为精确和不精确两种。精确推理是把相关领域的知识表示成必然的因果关系,推理的结论或是肯定的,或是否定的。而不精确推理是在“公理”的基础上,定义一组函数,求出“定理”的不确定性量度。常用的不确定推理模型有:带可信度的不确定推理、主观Bayes方法、模糊集理论。 而此次课题动物分类专家系统可采用正向推理策略,用户给系统提供关于属性的原始信息,如给出“鸟”、“不会飞”、“会游泳”、“黑白色”几个属性。系统搜索知识库,找到这些属性,然后进一步搜索这些属性的相关整合属性,得到最后的结论。 产生式系统是把一组产生式放在一起,并让它们相互配合,协同作用,一个产生式的结论可以供另一个产生式作为已知事实使用,以求得问题的解决。产生式的基本形式为P→Q或者IF P THEN Q。 动物识别系统的产生式规则分析如下: 图1 动物识别系统的部分推理网络 三、设计过程 1、设计思路 根据上课老师的思路,本系统分为三个功能模块,分别是规则库、综合数据库和控制系统。根据产生式系统的三部分可以搭建动物识别系统。 数据库的设计思想主要分为条件表和规则表。在推理过程中,当规则表中某条规则的前提可以和综合数据库中的已知事实相匹配时,该规则被激活。由它推出的结论将被作为新的事实放入数据库,称为后面推理的已知事实。所以数据库系统结构如下: 图2 数据库系统结构 此外,还需要包括连接数据库程序,添加规则和删除规则的规则库代码,整个系统设计跟自己所掌握的编程代码有所区别,所以没有采用老师的设计思路。 2、设计过程 1)建立规则库 为了识别这些动物,可以根据动物识别的特征,建立下述规则的规则库:                R1:if 动物有毛发 then 动物是哺乳动物   R2:if 动物有奶 then 动物是哺乳动物   R3:if 动物有羽毛 then 动物是鸟    R4:if 动物会飞 and 会生蛋 then 动物是鸟   R5:if 动物吃肉 then 动物是食肉动物   R6:if 动物有犀利牙齿 and 有爪 and 眼向前方then 动物是食肉动物   R7:if 动物是哺乳动物 and 有蹄 then 动物是有蹄类动物   R8:if 动物是哺乳动物and 反刍 then 动物是有蹄类动物   R9:if 动物是哺乳动物 and 是食肉动物and有黄褐色 and 有暗斑点 then 动物是豹    R10:if 动物是哺乳动物 and是食肉动物and 有黄褐色 and有黑色条纹 then 动物是虎   R11:if动物是有蹄类动物 and 有长脖子and 有长腿and 有暗斑点 then 动物是长颈鹿   R12:if 动物是有蹄类动物 and 有黑色条纹 then 动物是斑马   R13:if 动物是鸟and不会飞 and有长脖子and有长腿 and有黑白二色 then 动物是鸵鸟   R14:if 动物是鸟 and 不会飞 and 会游泳 and 有黑白二色then 动物是企鹅   R15:if 动物是鸟 and 善飞 then 动物是信天翁 根据课本中规则库中的15条规则,每一个规则会有一个结论,从而得到结论编号库数组为{30,29,28,27,26,25,24,3,3,13,12,12,11,11,0}。 2)输入数据库 假设数据库中放入一下事实:有暗斑点,有长脖子,有长腿,有奶,有蹄。 求解目标:该动物是什么动物? 3)推理过程 (1)先从规则库中取出第一条规则r1,检查其前提是否可与综合数据库中的已知事实相匹配。r1的前提是“有毛发”,但事实库中无此事实,故匹配失败。然后取r2,该前提与已知事实“有奶”相匹配,r2被执行,并将其结论“该动物是哺乳动物”作为新的事实加入到综合数据库中。此时,综合数据库的内容变为:动物有暗斑,有长脖子,有长腿,有奶,有蹄,是哺乳动物。 (2)再从规则库中取r3,r4,r5,r6进行匹配,均失败。接着取r7,该前提与已知事实“是哺乳动物”相匹配,r7被执行,并将其结论“该动物是有蹄类动物”作为新的事实加入到综合数据库中。此时,综合数据库的内容变为:动物有暗斑,有长脖子,有长腿,有奶,有蹄,是哺乳动物,是有蹄类动物。  (3)此后,r8,r9,r10均匹配失败。接着取r11,该前提“该动物是有蹄类动物 AND 有长脖子 AND 有长腿 AND 身上有暗斑” 与已知事实相匹配,r11被执行,并推出“该动物是长颈鹿”。由于“长颈鹿”已是目标集合中的一个结论,即已推出最终结果,故问题求解过程结束。 4)问题求解基本过程 (1) 初始化综合数据库,即把欲解决问题的已知事实送入综合数据库中;   (2) 检查规则库中是否有未使用过的规则,若无转 (7);   (3) 检查规则库的未使用规则中是否有其前提可与综合数据库中已知事实相匹配的规则,若有,形成当前可用规则集;否则转(6);   (4) 按照冲突消解策略,从当前可用规则集中选择一个规则执行,并对该规则作上标记。把执行该规则后所得到的结论作为新的事实放入综合数据库;如果该规则的结论是一些操作,则执行这些操作;   (5) 检查综合数据库中是否包含了该问题的解,若已包含,说明解已求出,问题求解过程结束;否则,转(2);   (6) 当规则库中还有未使用规则,但均不能与综合数据库中的已有事实相匹配时, 要求 对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗 用户进一步提供关于该问题的已知事实,若能提供,则转(2);否则,执行下一步;   (7) 若知识库中不再有未使用规则,也说明该问题无解,终止问题求解过程。 四、实验结果 本实验基于VS 2010进行编程实验,基本程序框架如下图所示 图3 实验框架 按照数据库中存入的事实,在本系统中采用正向推理,得出结果,下面是长颈鹿的运行结果: 图4 运行结果 五、实验心得 通过此次实验理解了产生式知识表示方法,并体会到产生式表示法的自然性、模块性、有效性和清晰性的优点。掌握了构建产生式系统的基本过程,并能够利用编程建立一个基于产生式知识表示的简单的智能系统。 附录: #include #include #include "StdAfx.h" using namespace std; char *facts[]={"", "反刍","有蹄","哺乳类","眼向前方","有爪", "犬齿","吃肉","下蛋","能飞","有羽毛", "蹄类","食肉类","鸟类","有奶","毛发", "善飞","黑色白条纹","游泳","长腿","长脖子", "黑条纹","暗斑点","黄褐色" }; char *resultSet[]={"", "信天翁","企鹅","鸵鸟","斑马","长颈鹿","虎","豹" }; struct factDB{ //综合数据库中的已知事实 int curNum; int fact[30]; int initNum; }factDb; struct Rule{ //规则 结构体 int factNum; int fact[5]; bool endResult; //是否为结果集 int resultID; //推出的结果ID bool used; //已使用过标志 bool possible; //是否可能标志,针对-9(不能飞)若Rule中有9,而综合数据库中有-9 则该规则标记不可能 int needFactPos; //通过事实比较, 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 下一个需要的事实位置,方便下次比较开始点后移和首先寻找该位置值是否新增即可 }*rule; bool findNeedFact(int factID,int pos) //寻找needFactPos位置值是否存在于综合事实库中 { int i=pos; for(;ifactDb.curNum)return 0; //已知事实还没有该规则事实多 if(r.needFactPos) { if(!findNeedFact(r.fact[r.needFactPos],r.needFactPos))return 0; //需要的值还不存在 else r.needFactPos++; } if(cmpArray(r)) { r.used=true; if(r.endResult)return 1; //得到了最终结果 else return 2; //得到中间结果 }else return 0; } int main() { freopen("in.txt","r",stdin); int n; cin>>n; rule=(Rule *)malloc(sizeof(Rule)*n); int i,j; for(i=0;i>rule[i].factNum; for(j=0;j>rule[i].fact[j]; sort(rule[i].fact,rule[i].fact+rule[i].factNum); cin>>rule[i].endResult>>rule[i].resultID; rule[i].used=false; rule[i].possible=true; rule[i].needFactPos=0; } cin>>factDb.initNum; factDb.curNum=factDb.initNum; cout<<"原始事实综合数据库:"<>factDb.fact[i]; cout<
本文档为【基于产生式动物识别系统的设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥17.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
豆浆
暂无简介~
格式:doc
大小:170KB
软件:Word
页数:0
分类:工学
上传时间:2019-05-22
浏览量:19