水果识别专家系统..pdfVIP

  • 34
  • 0
  • 约3.32千字
  • 约 4页
  • 2021-01-05 发布于天津
  • 举报
江南大学物联网工程学院实验报告 课程名称 人工智能 实验名称 水果识别专家系统 实验日期 班级 计科 姓名 学号 一、实验目的: 加深学生对专家系统的理解,使学生初步掌握专家系统的设计和实现方法 二、算法描述: 1. 问题描述:综合利用人工智能的产生式系统、图搜索算法以及专家系统的框架,建造一 个简单的水果识别专家系统。 2. 知识库设计: 本系统的知识库有下列 5 条产生式规则构成: IF 圆球体 AND 橙色 AND 酸、甜 THEN 桔子 IF 小球体 AND 紫色、绿色 AND 酸、甜 THEN 葡萄 IF 类似圆球 AND 近似土灰色 AND 酸、甜 THEN 猕猴桃 IF 大球体 AND 绿色黑纹 AND 甜 THEN 西瓜 IF 心状 AND 红色有斑点 AND 酸、甜 THEN 草莓 3. 推理机推理判定条件 根据选择的水果特征的集合和知识库中的产生式规则对比, 找出符合的产生式规则就成功识别出已经记录的水 果类别。 4. 流程图 原理图 该系统流程图 5. 核心代码 知识库和产生式规则 /* 事实 */ string fact[] ={ , 圆球体 , 小球体 , 类似圆球 , 大球体 , 心状 , 橙色 , 紫色 , 绿色 , 近似土灰 , 黑纹 , 红色 , 有斑点 , 酸 , 甜 , 果皮不能使用 , 许多个在一起 , 果皮有毛毛 , 皮不能吃 , 大 , 小, 桔子 , 葡 萄, 猕猴桃 , 西瓜 , 草莓 }; /* 规则 */ int rule[][7]={{ 0, 0, 0, 0, 0, 0 , 0 },{ 21, 1, 6, 13, 14, 0 , 0 }, { 22, 2, 7, 8, 13, 14 , 0 }, { 23, 3, 9, 13, 14, 0 , 0 }, { 24, 4, 8, 10, 14, 19, 0 }, { 25, 5, 11, 12, 13, 14, 0 }, { 21, 1, 6, 13, 14, 15 , 0 }, { 22, 2, 7, 8, 13, 14 , 16 }, { 23, 3, 9, 13, 14, 17 , 0 }, { 24, 4, 8, 10, 14, 19, 15 }, { 25, 5, 11, 12, 13, 14, 20 }}; int conditionlist[20];// 所选择的水果特征 /* 知识匹配 */ bool match(int a) { int i=1; int j=0; int flag=0; int flag1=0; int num=0; while ((flag==i-1)(flag1!=count)) { flag=0; for (i=1;i=CAUSENUM;i++) { if (rule[a+num][i]==0) break; for (j=0;jcount;j++) // 所选择的水果特征的条数 { if (rule[a+num][i]==conditionlist[j])// 匹配上一个条件 flag 计数加一 { flag++;

文档评论(0)

1亿VIP精品文档

相关文档