动物识别专家系统试验报告_第1页
动物识别专家系统试验报告_第2页
动物识别专家系统试验报告_第3页
动物识别专家系统试验报告_第4页
动物识别专家系统试验报告_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、题目:动物识别专家系统一.实验目的理解和掌握产生式只是表示方法,能够用选定的编程语言实现产生式系统的规则库。二.实验内容(1)以动物识别系统的产生式规则为例。(2)用选定的编程语言建造规则库和综合数据库,并能对它们进行增加、删除和修改操作。三.实验原理动物识别专家系统是流行的专家系统实验模型,它用产生式r来表示知识,共15条r、可以识别七种动物,这些r既少又简单,可以改造他们,也可以加进新的r,还可以用来识别其他东西的新r来取代这些r。动物识别15条r:ri:IF动物有毛发THEN该动物是哺乳动物r2:IF动物能产奶THEN该单位是哺乳动物r3:IF该动物有羽毛THEN该动物是鸟r4:IF动物

2、会飞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

3、动物有长腿AND有长脖子AND是黑色的AND是鸟AND不会飞THEN该动物是鸵鸟r14:IF动物是鸟AND不会飞AND会游泳AND是黑色的THEN该动物是企鹅r15:IF动物是鸟AND善飞THEN该动物是信天翁四.推理树部分推理树如下:五.代码程序是用java编写的规则对象代码:publicclassRulepremise=newprivateArrayList<Integer>ArrayList<Integer>();privateintresultpublicvoidaddPremise(intitem)premise.add(item);publicintsize

4、()returnpremise.size();)publicintgetPremiseAt(intindex)returnpremise.get(index);)publicvoidsetResult(intresult)this.result=result;)publicintgetResult()returnresult;)规则库代码如下:publicclassRuleBaseprivateArrayList<Rule>rules=newArrayList<Rule>();publicintsize()returnrules.size();publicRuleBas

5、e()init();)publicvoidaddRule(Rulerule)rules.add(rule);)publicRulegetRuleAt(intindex)returnrules.get(index);)publicvoidinit()Rulerule1=newRule();rule1.addPremise(0);rule1.setResult(20);rules.add(rule1);Rulerule2=newRule();rule2.addPremise(1);rule2.setResult(20);rules.add(rule2);rule3.addPremise(2);ru

6、le3.setResult(21);rules.add(rule3);Rulerule4=newRule();rule4.addPremise(3);rule4.addPremise(13);rule4.setResult(21);rules.add(rule4);Rulerule5=newRule();rule5.addPremise(19);rule5.setResult(22);rules.add(rule5);Rulerule6=newRule();rule6.addPremise(4);rule6.addPremise(15);rule6.addPremise(12);rule6.s

7、etResult(22);rules.add(rule6);Rulerule7=newRule();rule7.addPremise(20);rule7.addPremise(9);rule7.setResult(23);rules.add(rule7);rule8.addPremise(20);rule8.addPremise(18);rule8.setResult(23);rules.add(rule8);Rulerule9=newRule();rule9.addPremise(20);rule9.addPremise(22);rule9.addPremise(14);rule9.addP

8、remise(11);rule9.setResult(24);rules.add(rule9);Rulerule10=newRule();rule10.addPremise(20);rule10.addPremise(22);rule10.addPremise(11);rule10.addPremise(5);rule10.setResult(25);rules.add(rule10);Rulerule11=newRule();rule11.addPremise(23);rule11.addPremise(6);rule11.addPremise(7);rule11.addPremise(14

9、);rule11.setResult(30);rules.add(rule11);Rulerule12=newRule();rule12.addPremise(23);rule12.addPremise(5);rule12.setResult(26);rules.add(rule12);Rulerule13=newRule();rule13.addPremise(21);rule13.addPremise(6);rule13.addPremise(17);rule13.addPremise(7);rule13.setResult(27);rules.add(rule13);Rulerule14

10、=newRule();rule14.addPremise(21);rule14.addPremise(10);rule14.addPremise(17);rule14.addPremise(8);rule14.setResult(28);rules.add(rule14);Rulerule15=newRule();rule15.addPremise(21);rule15.addPremise(16);rule15.setResult(29);rules.add(rule15);)综合数据库代码如下:publicclassDatabaseArrayList<Integer>db=ne

11、wArrayList<Integer>();publicvoidaddFact(intitem)db.add(item);)publicbooleancontains(intitem)returndb.contains(item);)控制系统代码如下:publicclassMachinepublicstaticStringinference(Databasedb)RuleBaseruleBase=newRuleBase();intresult=0;for(inti=0;i<ruleBase.size();i+)intsize=ruleBase.getRuleAt(i).siz

12、e();booleanflag=truefor(intj=0;j<size;j+)if(!db.contains(ruleBase.getRuleAt(i).getPremiseAt(j)flag=false;break;if(flag)intfact=ruleBase.getRuleAt(i).getResult();db.addFact(fact);if(fact>=24)result=fact;break;switch(result)case 24:return"金钱豹";case 25:return"老虎";case 26:return"斑马";case 27:return"鸵鸟";case 28:return"企鹅";case 29:return"信天翁"case 30:return"长颈鹿"de

温馨提示

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

评论

0/150

提交评论