学生实验报告
实验课名称:人工智能
实验项目名称:基于回溯推理的小型专家系统
题目:一个关于植物分类的小型专家系统专业名称:计算机科学与技术
班级:
学号:27
学生姓名:杨孟拓
教师姓名:慕晨
2010 年10 月27 日
一、实验名称:一个关于植物分类的小型专家系统
二、实验目的与要求:
1、确定推理方法(正向还是反向),并根据问题设计实现一个简单的不通
用推理机(匹配、冲突消解)
2、规则库要求至少包含15条规则
3、初始事实可以任意给定,输入初始事实后能够得到推理结果
4、设计人机界面,解释模块提供查询规则的功能
5、可以不考虑知识库管理模块
6、提交实验报告
7、报告中要有推理树
三、实验内容:
本次实验将做一个关于植物分类的小型专家系统,在植物分类系统中,要区分各种植物,可以对每种植物构造一条识别规则,其中规则右部为识别出的植物名,左部为该植物的特征。
本次实验设计了一个简单的不通用推理机。推理机给出的推理结果是“苹果”。
系统结构:知识库,推理机,动态数据库,人机界面,解释模块,知识库管理模块。
专家系统结构图
四、程序设计思想
本次实验采用的推理方法为正向推理,正向推理是从已知事实出发,通过规则库求的结论。这种推理方式是正向使用规则,即问题的初始状态作为初始数据库,仅当数据库中的事实满足某条规则的前提时,该规则才能被使用。
正向推理的推理基础是逻辑演绎的推理链。从一组事实出发,使用一组规则,来证明目标的成立。
正向推理的步骤
步1 将初始事实置入动态数据库;
步 2 用动态数据库中的事实,匹配目标条件,若目标条件满足,则推理成功,结束。
步3 用规则库中各规则的前件匹配动态数据库中的事实,将匹配成功的规则组成冲突集;
步4 若冲突集为空,则运行失败,退出。
步5 对冲突集做冲突消解,对选择执行的各规则,将其结论加入动态数据库,或执行其动作,转步2。
正向推理的流程图
五、程序实现过程
初始事实:
它的果肉为乳黄
它的果实里无石细胞
它的果实为梨果
它的果实无毛
它的花托呈杯形
它种子的胚有两个子叶
规则:
R1:if它种子的胚有两个子叶∨它的叶脉为网状then它是双子叶植物R2:if它种子的胚只有一个子叶 then它是单子叶植物
R3:if它的果肉为白 then 它是梨
R4:if它的叶脉平行 then 它是单子叶植物
R5:if它是双子叶植物∧它的花托呈杯形then它是蔷薇科植物
R6:if它的花托呈圆柱形∧它的花瓣有5枚then它是蔷薇科植物
R7:if它是双子叶植物∧它的花托呈圆柱形then它是蔷薇科植物
R8:if它是蔷薇科植物∧它的果实为核果then它是李亚科植物
R9:if 它是蔷薇科植物∧它的果实为梨果then它是苹果亚科植物
R10:if它是李亚科植物∧它的果实有毛then它是桃
R11:if它是李亚科植物∧它的果实无毛then 它是李
R12:if它的果实为扁圆形∧它的果实外有纵沟then它是桃
R13:if它是苹果亚科植物∧它的果实里无石细胞then它是苹果
R14:if它是苹果亚科植物∧它的果实里有石细胞then它是梨
R15:if它的果肉为乳黄∧它的果肉质脆then它是苹果
推理过程:c++课程设计报告
初始事实写入动态数据库
{果肉为乳黄,果实里无石细胞,果实为梨果,果实无毛,花托呈杯形,种子的胚有两个子叶}
第一次循环
用动态数据库的事实匹配目标条件,目标条件不成立
用规则库中的规则逐一与数据库匹配
R1:if它种子的胚有两个子叶∨它的叶脉为网the它是双子叶植物“双子叶胚”匹配成功,加入冲突集
R2:if它种子的胚只有一个子叶 then它是单子叶植物
匹配失败,该条规则放弃
R3:if它的果肉为白 then 它是梨
匹配失败,该条规则放弃
R4:if它的叶脉平行 then 它是单子叶植物
匹配无结果,该条规则加入待测试规则集
R5:if它是双子叶植物∧它的花托呈杯形then它是蔷薇科植物“双子叶植物”目前的动态数据库无法匹配,匹配无结果,该条规则加入待测试规则集
R6:if它的花托呈圆柱形∧它的花瓣有5枚then它是蔷薇科植物匹配失败,该条规则放弃
R7:if它是双子叶植物∧它的花托呈圆柱形then它是蔷薇科植物匹配失败,该条规则放弃
R8:if它是蔷薇科植物∧它的果实为核果then它是李亚科植物“果实为核果”匹配失败,该条规则放弃
R9:if 它是蔷薇科植物∧它的果实为梨果then它是苹果亚科植物“蔷薇科植物”目前的动态数据库无法匹配,匹配无结果,该条规则加入待测试规则集
R10:if它是李亚科植物∧它的果实有毛then它是桃
“果实有毛”匹配失败,该条规则放弃
R11:if它是李亚科植物∧它的果实无毛then 它是李
“李亚科植物”目前的动态数据库无法匹配,匹配无结果,该条规则加入待测试规则集
R12:if它的果实为扁圆形∧它的果实外有纵沟then它是桃“果实为扁圆形”和“果实外有从纵沟”目前的动态数据库无法匹配,匹配无结果,该条规则加入待测试规则集
R13:if它是苹果亚科植物∧它的果实里无石细胞then它是苹果“苹果亚科植物”目前的动态数据库无法匹配,匹配无结果,该条规则加入待测试规则集
R14:if它是苹果亚科植物∧它的果实里有石细胞then它是梨“果实有石细胞”匹配失败,该条规则放弃
R15:if它的果肉为乳黄∧它的果肉质脆then它是苹果
“果肉质脆”目前的动态数据库无法匹配,匹配无结果,该条规则加入待测试规则集
冲突消解
冲突集{R1}无冲突,则将后件加入动态数据库
{果肉为乳黄,果实里无石细胞,果实为梨果,果实无毛,花托呈杯形,种子的胚有两个子叶,双子叶}
第二次循环
用动态数据库的事实匹配目标条件,目标条件不成立
用待测试规则库中的规则与数据库匹配
{R4,R5,R9,R11,R12,R13,R15}
{果肉为乳黄,果实里无石细胞,果实为梨果,果实无毛,花托呈杯形,种子的胚有两个子叶,双子叶}
R5:if它是双子叶植物∧它的花托呈杯形then它是蔷薇科植物匹配成功,加入冲突集
R4、R9、R11、R12、R13、R15 :匹配无结果,新待测试规则集{ R4、R9、R11、R12、R13、R15}
冲突消解
冲突集{R5}无冲突,则将后件加入动态数据库
{果肉为乳黄,果实里无石细胞,果实为梨果,果实无毛,花托呈杯形,种子的胚有两个子叶,双子叶,蔷薇科}
第三次循环
用动态数据库的事实匹配目标条件,目标条件不成立
用待测试规则库中的规则与数据库匹配
{R4,R9,R11,R12,R13,R15}
{果肉为乳黄,果实里无石细胞,果实为梨果,果实无毛,花托呈杯形,种子的胚有两个子叶,双子叶,蔷薇科}
R9:if 它是蔷薇科植物∧它的果实为梨果then它是苹果亚科植物
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论