产生式动物识别系统_第1页
产生式动物识别系统_第2页
产生式动物识别系统_第3页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验7:产生式动物识别系统实验目的理解和掌握产生式系统的推理方法,能够用选定的编程语言实现推理机。二、编程环境本文主要编译环境是 Win dows 10 Visual Studio 2015三、问题描述设计一个用于动物识别的产生式系统,该系统通过规则库识别老虎、金钱豹、斑马、长 颈鹿、企鹅、信天翁、鸵鸟7种动物。四、解决方案1. 规则库:用于描述相应领域内知识的产生式集合称为规则库。 本规则库包括以下规则R1 : if动物有毛发 then动物是哺乳动物R2: if动物有奶 then动物是哺乳动物R3: if动物有羽毛 then动物是鸟R4: if动物会飞and会生蛋then动物是鸟R5: if

2、动物吃肉then动物是食肉动物R6:if动物有犀利牙齿R7:if动物是哺乳动物R8:if动物是哺乳动物R9:if动物是哺乳动物是豹R10 : if动物是哺乳动物and有爪and眼向前方then动物是食肉动物and有蹄then动物是有蹄类动物and反刍then动物是有蹄类动物and是食肉动物and有黄褐色and有黑色条纹 then动and是食肉动物 and有黄褐色and有暗斑点then动物物是虎R11: if动物是有蹄类动物and有长脖子and有长腿and有暗斑点then动物是长颈鹿R12 : if动物是有蹄类动物and有黑色条纹then动物是斑马R13 : if动物是鸟and不会飞 and有长

3、脖子and有长腿 and有黑白二色 then动 物是鸵鸟R14 : if动物是鸟 and不会飞 and会游泳 and有黑白二色then动物是企鹅R15 : if动物是鸟 and善飞then动物是信天翁2. 综合数据库char *ans0 ="抱歉,我也不知道这是什么动物char *ans1 ="这个动物是金钱豹 "char *ans2 ="这个动物是老虎"char *ans3 ="这个动物是长颈鹿 ” char *ans4 ="这个动物有斑马"char *ans5 ="这个动物是企鹅” char *ans

4、6 ="这个动物是鸵鸟 ”char *ans7 ="这个动物是信天翁3. 推理机(1) 初始化综合数据库,即把欲解决问题的已知事实送入综合数据库中;(2) 检查规则库中是否有未使用过的规则,若无转 (7);(3) 检查规则库的未使用规则中是否有其前提可与综合数据库中已知事实相匹配 的规则,若有,形成当前可用规则集;否则转 (6);(4) 按照冲突消解策略,从当前可用规则集中选择一个规则执行,并对该规则作 上标记。把执行该规则后所得到的结论作为新的事实放入综合数据库;如果该规则 的结论是一些操作,则执行这些操作;(5) 检查综合数据库中是否包含了该问题的解,若已包含,说明解已

5、求出,问题 求解过程结束;否则,转(2);(6) 当规则库中还有未使用规则, 但均不能与综合数据库中的已有事实相匹配时,要求用户进一步提供关于该问题的已知事实,若能提供,则转(2);否则,执行下一步;(7) 若知识库中不再有未使用规则,也说明该问题无解,终止问题求解过程。输 出“抱歉,没有相符合的动物”,程序退出。4. 流程图|JI W5 1'投育结果 失败退出f jf得出结果 成功退出函是老晶 巴、是金钱现否否是否判断动物 会不会飞I断动物 :是信天判断动物 是企鹅还五、源代码#in clude<stdio.h>int mai n()char a1;char flagO

6、;/是否识别出动物的标志char *str0 ="char *str1 =IIchar *str2 =IIchar *str3 =IIchar *str4 =IIchar *str5 =II本系统可识别七种动物,请用丫和N表示是和否n"这个动物有毛发吗 这个动物有奶吗? 这个动物有羽毛吗 这个动物会下蛋吗 这个动物吃肉吗??";?"?"char *str6 =IIchar *str7 =IIchar *str8 =IIchar *str9 =IIchar *str10 =char *str11 =char *str12 =char *str13

7、 =char *str14 =char *str15 =char *str16 =char *ansO =char *ans1 =char *ans2 =char *ans3 =char *ans4 =char *ans5 =char *ans6 =char *ans7 =这个动物有犬齿有爪吗?" 这个动物有蹄吗?"这个动物是嚼反刍动物吗?"; 这个动物身上是黄褐色而且有暗斑点吗? 这个动物身上是黄褐色而且有黑色条纹 这个动物长腿长脖子且身上有暗斑点吗 这个动物身上有黑色条纹吗?"; 这个动物长腿长脖子?"这个动物会游泳并有黑白两色t"

8、; 这个动物擅飞"这个动物会不会飞" 抱歉,我也不知道这是什么动物 这个动物是金钱豹" 这个动物是老虎"这个动物是长颈鹿" 这个动物有斑马" 这个动物是企鹅" 这个动物是鸵鸟"这个动物是信天翁"IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIchar *a4 = str1,str2,str3,str4 ;char *bl4 = str5,str6,str7,str8 ; 动物?"?"判断哺乳动物和鸟类bL判断是食草动物还是食肉char *b2 = str16 ;判断鸟类会不

9、会飞/*判断具体是那种动物char *cl = str9,str10 ; char *c2 = str11,str12 ;char *c3 = str13,str14 ;char *c4 = str15 ; puts(strO);for (i nt k = 0; k < 4; k+) CL判断金钱豹和老虎判断长颈鹿和斑马判断企鹅和鸵鸟判断是不是信天翁puts(ak);sca nf_s("%c", & a1, 1);getchar();if (a1 = 'Y')区分哺乳动物和鸟类if (k = 1) printf_s("初步判定是哺乳动

10、物 n"); flagO = 0; break;else if (k > 2)printf_s("初步判定是鸟类 n"); flagO = 1; break;if (flagO = 0) 判定是哺乳动物for (i nt k = 0; k < 4; k+) puts(blk);sca nf_s("%c", &a1, 1);getchar();if (a1 = 'Y')区分食肉动物和食草类动物if (k = 1) printf_s("初步判定是食肉动物n");for (i nt k = 0;

11、 k < 2; k+) puts(clk);scan f_s("%c", & a1, 1);/区分金钱豹和老虎getchar(); if (a1 = 'Y')printf_s(” 这是是金钱豹");break;else if (a1 = 'N'&&k = 1) printf_s("这是老虎");break;break;else if (k > 2)printf_s("初步判定是食草类动物n");for (i nt k = 0; k < 2; k+) p

12、uts(c2k);scan f_s("%c", & a1, 1); getchar();if (a1 = 'Y')/确定是长颈鹿还是斑马printf_s("这是长颈鹿");break;else if (a1 = 'N'&&k = 1) printf_s("这是斑马");break;break;else if (flag0 = 1) / 判定是鸟类puts(b20);sca nf_s("%c", & a1, 1);getchar();if (a1 = &

13、#39;Y')判断鸟类会不会飞puts(c40);sea nf_s("%c", &a1, 1);getchar();if (a1 = 'Y') 判断是不是信天翁printf_s("这是信天翁");else if(a1 = 'N')puts(a nsO);else if (a1 = 'N') for (i nt k = 0; k < 2; k+) puts(c3k);scan f_s("%c", & a1, 1);getchar();if (a1 = 'Y')/确定是企鹅和鸵鸟printf_s("这是鸵鸟");break;else if (a1 = 'N'&&k = 1) printf_s("这是企鹅");break;getchar();return 0;六、实验结果相关截图截图一* G iAII e a 5 e动物违豚统上本系统可识别七种动物,请用Y和N表示是和否这个动物有毛发吗?N

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论