人工智能动物识别专家系统044250.docx

上传人:b****6 文档编号:7086476 上传时间:2023-01-17 格式:DOCX 页数:14 大小:39.64KB
下载 相关 举报
人工智能动物识别专家系统044250.docx_第1页
第1页 / 共14页
人工智能动物识别专家系统044250.docx_第2页
第2页 / 共14页
人工智能动物识别专家系统044250.docx_第3页
第3页 / 共14页
人工智能动物识别专家系统044250.docx_第4页
第4页 / 共14页
人工智能动物识别专家系统044250.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

人工智能动物识别专家系统044250.docx

《人工智能动物识别专家系统044250.docx》由会员分享,可在线阅读,更多相关《人工智能动物识别专家系统044250.docx(14页珍藏版)》请在冰豆网上搜索。

人工智能动物识别专家系统044250.docx

人工智能动物识别专家系统人工智能动物识别专家系统044250题目:

动物识别专家系统2.实验目的实验目的1.理解并掌握基于规则系统的表示与推理2.-3.学会编写小型的生产式系统,理解正向推理和反向推理的过程以及两者的区别4.学会设讣简单的人机交互界面3.实验内容实验内容动物识别专家系统是流行的专家系统实验模型,它用产生式规则来表示知识,共15条规则、可以识别七种动物,这些规则既少乂简单,可以改造他们,也可以加进新的规则,还可以用来识别其他东西的新规则来取代这些规则。

4.实验要求实验要求1、确定推理方法(正向还是反向),并根据问题设计实现一个简单的不通用推理机(匹配、冲突消解)2、规则库要求至少包含15条规则3、初始事实可以任意给定,输入初始事实后能够得到推理结果)4、设计人机界面,解释模块提供查询规则的功能5、可以不考虑知识库管理模块6、提交实验报告,7、报告中要有推理树5.6.实验原理实验原理动物识别专家系统是流行的专家系统实验模型,它用产生式规则来表示知识,共15条规则、可以识别七种动物,这些规则既少乂简单,可以改造他们,也可以加进新的规则,还可以用来识别其他东西的新规则来取代这些规则。

动物识别15条规则:

规则1:

如果:

动物有毛发则:

该动物是哺乳动物*规则2:

如果:

动物能产奶则:

该单位是哺乳动物规则3:

如果:

该动物有羽毛则:

该动物是鸟规则4:

如果:

动物会飞,且会下蛋则:

该动物是鸟规则5:

!

如果:

动物吃肉则:

该动物是肉食动物规则6:

如果:

动物有犬齿,且有爪,且眼盯前方则:

该动物是食肉动物规则7:

如果:

动物是哺乳动物,且有蹄则:

该动物是有蹄动物规则8:

如果:

动物是哺乳动物,且是反刍动物则:

该动物是有蹄动物规则9:

如果:

动物是哺乳动物,且是食肉动物,且是黄褐色的,且有暗斑点则:

该动物是豹规则10:

如果:

如果:

动物是黃褐色的,且是哺乳动物,且是食肉,且有黑条纹则:

该动物是虎规则11:

如果:

动物有暗斑点,且有长腿,且有长脖子,且是有蹄类则:

该动物是长颈鹿S规则12:

如果:

动物有黑条纹,且是有蹄类动物则:

该动物是斑马规则13:

如果:

动物有长腿,且有长脖子,且是黑色的,且是鸟,且不会飞则:

该动物是鸵鸟规则14:

如果:

动物是鸟,且不会飞,且会游泳,且是黑色的则:

该动物是企鹅规则15:

如果:

动物是鸟,且善飞则:

该动物是信天翁7.推理树推理树A.代码代码#include#include#inelude!

#include#defineTrue1#defineFalse0#defineDontKnow-1char*str=chew_cud反刍动物/hooves蹄类动物/mammal哺乳动物/forwardeyes眼盯前方舄claws有爪Tpointed_teeth有犬齿Veat.meat吃肉/layeggs会下蛋M/fly会飞feathers有羽毛/ungulate有蹄/carnivore食肉动物/bird鸟”,give_milk能产奶II/has_hair有毛发/fly.well善飞/black&white.color黑白色/can_swim会游泳”,longjegs长腿,long_neck长脖子”,black_stripes黑条纹,dark_spots黑斑点,tawny_color黄褐色/albatross信天翁/penguin企鹅/ostrich驼鸟/zebra斑马giraffe长颈鹿/tiger老虎“/cheetah猎豹舄0;intrulep6=22,23,12/3/0/0/21,23,12,3,0,0),122,19,20,11,0,0,21,11,0,0,0,0/17/19/20,13,-9,0,17,18,13,-9,0,0,16,13,0,0,0,0,15,0,0,0,0,0,14,0,0,0,0,0,10,0,0,0,0,0,8,7,0,0,0,0,7,0,0,0,0,0,4,5,6,0,0,0,2,3,0,0,0,0,1,3,0,0,0,0;intrulec=30,29,28,27,26,25,24,3,3,13,13,12,12,11,11,0;classfactprivate:

intNumber;charName21;intActive;intSucc;public:

fact*Next;fact(intNumzchar*L)strcpy(Name/L);Number=Num;Active=False;Succ=DontKnow;iNext=NULL;char*GetName()char*L;iL=newchar21;strcpy(L,Name);returnL;intGetNumber()YreturnNumber;intGetAct()returnActive;intGetSucc()returnSucc;AtvoidPutAct(constintActOjntSucO)Active=ActO;Succ=SucO;fact*Fact;classlistprivate:

intNumber;public:

list*Next;listfintNum)Number=Num;Next=NULL;intGetNumber()returnNumber;classrulechar*Name;list*Pre;intCone;public:

rule*Next;!

rule(char*N,intP,intC);rule();intQuery();voidGetName()coutName;rule:

rule()list*L;while(Pre)L=Pre-Next;deletePre;Pre=L;deleteName;rule:

rule(char*N,intP,intC)inti;list*L;Pre=NULL;Next=NULL;Name二newcharstrlen(N)+l;strcpy(N8me,N);i=0;while(Pi!

=O)L=newlist(Pi+);L-Next=Pre;Pre=L;Conc=C;intrule:

Query()charc;intTag=O;list*L;fact*F;F=Fact;L=Pre;if(L=NULL)coutHnError”;while(L!

=NULL)F=Fact;for(;)if(abs(L-GetNumber()=F-GetNumber()break;F=F-Next;(if(L-GetNumber()0)if(F-GetSucc()=true)L=L-Next;continue;if(F-GetSucc()=false)returnfalse;elseif(F-GetSucc()=True)returnFalse;if(F-GetSucc()=False)L=L-Next;continue;*coutF-GetName(),(Y/N),endl;c=getchar();flushall();if(c=Y)|(c=V)if(L-GetNumber()0)F-PutAct(l,True);if(L-GetNumber()PutAct(l,True);Tag=-1;returnFalse;elseif(L-GetNumber()PutAct(-l,False);elseIF-PutAct(-l,False);Tag=-1;returnFalse;L=L-Next;F=Fact;for(;)if(Conc=F-GetNumber()break;F=F-Next;if(ConcPutAct(l,True);returnFalse;if(Tag!

=-l)F=Fact;for(;)if(Conc=F-GetNumber()break;F=F-Next;if(ConcPutAct(l/True);returnFalse;coutnnThisaniamalis,F-GetName()endl;returnTrue;returnFalse;intmain()Ifact*F/T;rule*Rule,*R;charch8;inti=l;Fact=NULL;while(stri-l)F=newfact(i,stri-l);F-Next=Fact;Fact=F;i+;F=Fact;Fact=NULL;while(F)T=F;F=F-Next;T-Next=Fact;Fact=T;i=0;chO=R;chl=U;ch2=L;ch3=E;ch4=_;ch5=a;ch6=,0,;Rule=NULL;for(i=0;iNext=Rule;Rule=R;ch5+;R=Rule;for(;)i=R-Query();if(i=i)|(i=-D)break;R=R-Next;if(!

R)break;if(!

R)cout没有这种动物.endl;coutHpressanykeytoexit.endl;getchar();returnTrue;九九截图截图c-y3二如会下蛋nFea七hew有羽毛ri9巳_血抵能产奶yhashair有毛发ybhd鸟n皿会飞ntawny_colcn、黄褐色CY/Wyblack_sti*ipes黑条纹C?

/NyThisaniamalistig巳u老虎pressanykeytoexit-十十.感想感想通过这次课程设计我对专业课的学习有了更加深刻的认识,让我知道了学无止境的道理。

我们每一个人永远不能满足于现有的成就,人生就像在爬山,一座峰的后面还有更高的山峰在等着你。

挫折是一份财富,经历是一份拥有。

这次课程设计必将成为我人生旅途上一段美好的回忆。

以后我要更加努力学好每门专业课,让自己拥有更多的知识,才能解决更多问题。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1