



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
动物识别专家系统上机报告含源代码-报告一、试验题目动物识别专家系统二、试验内容动物识别专家系统是流行的专家系统实验模型,它用来产生式规则表示知识,共15条规则、可以识别七种动物,这些规则既少又简单,可以改造他们,也可以加进新的规则,还可以用来识别其他东西的新规则来取代这些规则。动物识别15条规则的中文表示是:规则1:如果:动物有毛发则 :该动物是哺乳动物规则2: 如果:动物有奶 则 :该单位是哺乳动物规则3: 如果:该动物有羽毛 则 :该动物是鸟规则4: 如果:动物会飞,且会下蛋 则 :该动物是鸟规则5: 如果:动物吃肉 则 :该动物是肉食动物规则6: 如果:动物有犬齿,且有爪,且眼盯前方 则 :该动物是食肉动物规则7: 如果:动物是哺乳动物,且有蹄 则 :该动物是有蹄动物规则8: 如果:动物是哺乳动物,且是反刍动物 则 :该动物是有蹄动物规则9: 如果:动物是哺乳动物,且是食肉动物,且是黄褐色的,且有暗斑点 则 :该动物是豹规则10: 如果:如果:动物是黄褐色的,且是哺乳动物,且是食肉,且有黑条纹 则 :该动物是虎规则11: 如果:动物有暗斑点,且有长腿,且有长脖子,且是有蹄类 则 :该动物是长颈鹿规则12: 如果:动物有黑条纹,且是有蹄类动物 则 :该动物是斑马规则13: 如果:动物有长腿,且有长脖子,且是黑色的,且是鸟,且不会飞 则 :该动物是鸵鸟规则14: 如果:动物是鸟,且不会飞,且会游泳,且是黑色的 则 :该动物是企鹅规则15: 如果:动物是鸟,且善飞 则 :该动物是信天翁 动物分类专家系统由15条规则组成,可以识别七种动物,在15条规则中,共出现30个概念(也称作事实),共30个事实,每个事实给一个编号,从编号从1到30,在规则对象中我们不存储事实概念,只有该事实的编号,同样规则的结论也是事实概念的编号,事实与规则的数据以常量表示,其结构如下:Char *str=chew_cud,hooves,mammal,forward_eyes,claws, pointed_teeth,eat_meat,lay_eggs,fly,feathers,ungulate, carnivore,bird,give_milk,has_hair,fly_well, black&white_color,can_swim,long_legs,long_neck, black_stripes,dark_spots,tawny_color,albatross, penguin,ostrich,zebra,giraffe,tiger,cheetah,0程序有编号序列的方式表达了产生式规则,如资料中规则15,如果动物是鸟,且善飞,则该动物是信天翁。相应的规则数组第七条是16,13,0,0,0,0,第十三个是“bird”(鸟),如果事实成立,询问使用者下一个事实,第十六个“fly_weil”(善飞),如果也成立,则查找结论断言编号数组30,29,28,27,26,25,24,3,3,13,12,12,11,11,0中第七个“24”,这里24对应事实数组中的“albatross”(信天翁)。上述就是程序的推理过程,也是程序中的重点,该部分是由规则类(类rule)中的Query方法实现。三、流程图及分析 找站长要流程图 主程序的流程主要是:1、实例化各个类2、初始化事实集3、初始化规则集4、使用规则对事实进行推导规则类:规则名只是用来表示规则的一个名称,前提链由前提类生成的单链表,结论则是存放结论断言编号,表示由该规则的到的结论在事实数组中的编号。事件类:事实号和规则数据和结论断言数据的数字相对应。激活标志表示这个时候有没有被处理过。断言这保存推理后的结论,在重复查询这个事实条件时不用反复询问用户。四、代码1194int rule:Query() int i; char c; int Tag=0; list *L; fact *F; F=Fact; L=Pre; if(L=NULL) coutGetNumber()=F-GetNumber() break; F=F-Next; /查找与规则前提链中前提号相同的事实 if(L-GetNumber()0) if(F-GetSucc()=true) L=L-Next;continue; if(F-GetSucc()=false) return false; /如果事实的断言为真则判断下一个前提,为假,则表示该规则不适合 else if(F-GetSucc()=true) return false; if(F-GetSucc()=false) L=L-Next;continue; coutendlGetName()GetNumber()0) F-PutAct(1,true); /设置事实的断言和激活标志 if(L-GetNumber()PutAct(1,true); Tag=-1; return false; else if(L-GetNumber()PutAct(-1,false); else F-PutAct(-1,false); Tag=-1; return false; L=L-Next; F=Fact; for(;) if(Conc=F-GetNumber() break; /查找结论断言对应的事实 F=F-Next; if(ConcPutAct(1,true); return false; if(Tag!=-1) F=Fact; for(;) if(Conc=F-GetNumber() break; F=F-Next; if(ConcPutAct(1,true); return false; coutnThis animal isGetName(); return true; return false; ;五、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建设工程施工专业分包合同文本
- 外科护理学试题完整题库及答案解析
- 2025年国家开放大学(电大)《西方管理学》期末考试备考试题及答案解析
- 2025年国家开放大学《心理咨询与辅导技术》期末考试备考试题及答案解析
- 电厂安全教育测试题及答案解析
- 安阳从业资格证考试题及答案解析
- 食品安全趣味答题题库及答案解析
- 2021年内蒙古包头市中考地理真题及答案
- 江苏省建筑安全b证考试题库及答案解析
- 中学录取通知书发放流程优化方案
- DB65╱T 3953-2016 反恐怖防范设置规范 商业场所
- 整形医院前台接待标准化流程与话术设计
- 完整的离婚协议书打印电子版(2025年版)
- 尿道狭窄的治疗与护理
- 2025年人教部编版小学三年级语文上册全册单元测试题及答案(全套)
- 某写字楼物业管理方案
- 2025年贵州磷化(集团)有限责任公司招聘笔试参考题库含答案解析
- 迈克尔杰克逊课件
- 三农直播培训
- 专利转化合同范本
- 2025年退休返聘人员劳务合同模板
评论
0/150
提交评论