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

下载本文档

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

文档简介

题目:动物识别专家系统一 实验目的理解和掌握产生式只是表示方法,能够用选定的编程语言实现产生式系统的规则库。二 实验内容(1) 以动物识别系统的产生式规则为例。(2) 用选定的编程语言建造规则库和综合数据库,并能对它们进行增加、删除和修改操作。三 实验原理动物识别专家系统是流行的专家系统实验模型,它用产生式r来表示知识,共15条r、可以识别七种动物,这些r既少又简单,可以改造他们,也可以加进新的r,还可以用来识别其他东西的新r来取代这些r。动物识别15条r: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该动物是信天翁四 推理树部分推理树如下:长颈鹿长脖子长腿暗斑点有蹄类斑马黑条纹有蹄哺乳嚼反刍动物有毛发有奶r11r12r8r7r1r2五 代码程序是用java编写的规则对象代码:public class Rule private ArrayList premise = new ArrayList();private int result;public void addPremise(int item) premise.add(item);public int size() return premise.size();public int getPremiseAt(int index) return premise.get(index);public void setResult(int result) this.result = result; public int getResult() return result;规则库代码如下:public class RuleBase private ArrayList rules = new ArrayList();public int size() return rules.size();public RuleBase() init();public void addRule(Rule rule) rules.add(rule);public Rule getRuleAt(int index) return rules.get(index);public void init() Rule rule1 = new Rule();rule1.addPremise(0); rule1.setResult(20);rules.add(rule1);Rule rule2 = new Rule();rule2.addPremise(1); rule2.setResult(20);rules.add(rule2);Rule rule3 = new Rule();rule3.addPremise(2); rule3.setResult(21);rules.add(rule3);Rule rule4 = new Rule();rule4.addPremise(3); rule4.addPremise(13); rule4.setResult(21);rules.add(rule4);Rule rule5 = new Rule();rule5.addPremise(19); rule5.setResult(22);rules.add(rule5);Rule rule6 = new Rule();rule6.addPremise(4); rule6.addPremise(15); rule6.addPremise(12); rule6.setResult(22);rules.add(rule6);Rule rule7 = new Rule();rule7.addPremise(20); rule7.addPremise(9); rule7.setResult(23);rules.add(rule7);Rule rule8 = new Rule();rule8.addPremise(20); rule8.addPremise(18); rule8.setResult(23);rules.add(rule8);Rule rule9 = new Rule();rule9.addPremise(20); rule9.addPremise(22); rule9.addPremise(14); rule9.addPremise(11);rule9.setResult(24);rules.add(rule9);Rule rule10 = new Rule();rule10.addPremise(20); rule10.addPremise(22); rule10.addPremise(11); rule10.addPremise(5);rule10.setResult(25);rules.add(rule10);Rule rule11 = new Rule();rule11.addPremise(23); rule11.addPremise(6); rule11.addPremise(7); rule11.addPremise(14);rule11.setResult(30);rules.add(rule11);Rule rule12 = new Rule();rule12.addPremise(23); rule12.addPremise(5); rule12.setResult(26);rules.add(rule12);Rule rule13 = new Rule();rule13.addPremise(21); rule13.addPremise(6); rule13.addPremise(17); rule13.addPremise(7);rule13.setResult(27);rules.add(rule13);Rule rule14 = new Rule();rule14.addPremise(21); rule14.addPremise(10); rule14.addPremise(17); rule14.addPremise(8);rule14.setResult(28);rules.add(rule14);Rule rule15 = new Rule();rule15.addPremise(21); rule15.addPremise(16); rule15.setResult(29);rules.add(rule15);综合数据库代码如下:public class Database ArrayList db = new ArrayList();public void addFact(int item) db.add(item);public boolean contains(int item) return db.contains(item);控制系统代码如下:public class Machine public static String inference(Database db) RuleBase ruleBase = new RuleBase();int result = 0;for (int i = 0; i ruleBase.size(); i+) int size = ruleBase.getRuleAt(i).size();boolean flag = true;for (int j = 0; j = 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:re

温馨提示

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

评论

0/150

提交评论