产生式规则推理实验
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序中类的说明
Fact:事实类,类成员包括事实描述的对象名 称,事实所使用的变量,该变量的取值,以及 对象与取值之间的关系(请看程序注释),如
小红身高高于170的事实,那么对象名设置为 “小红”,所用变量为“身高”,取值为 “170”,对象与取值之间的关系为1,即“大 于”。 请注意函数“IsMeet”
注意,本实验持续两周,5-6人一组,每组提 交一份程序和实验报告(手写),实验报告中 请描述你们的设计思路,程序结构(既设计的 类及类之间的关系),最终实现了什么成果 (效果,功能等)。
Байду номын сангаас
基本的几个类我已写好,你们可以参考使用, 但也可以自己根据自己的需求开发。另外,还 需要考虑两个问题 一是界面,界面应该能够让用户对事实、规则 进行编辑。同时能显示推理过程 二是数据的存储,利用文件或数据库保存你们 添加的事实和规则,即保存事实库和规则库。
程序中类的说明
Var:变量类,成员包括变量名称,变量值的 类型及变量可能的取值,如教材P98的: “毛发”可作为一个变量类,这个类的名称为 “毛发”,值类型为字符型,可能的取值包括 “有”和“无”两个; “产乳”也可作为一个变量类,类的名称为 “产乳”,值类型为字符型,可能的取值包括 “可以”和“不可以” 注意,数值型变量可不规定“可能的取值”
规则类,对应每条规则,规则应该有前件和后 件组成,前件其实是事实列表,后件其实是事 实对象。
系统构建建议
规则库类,用于存放一系列规则 事实库类,就是总数据库,用于存放当前系统 的所有事实。
推理过程其实就是将事实库中的事实去匹配规 则库中规则的前件,产生新的事实(规则的后 件),并加入到事实库中去,推理结束的条件 应该是没有新的事实产生。
产生式规则推理实验
本实验根据产生式知识表示,利用确定性的产 生式规则推理方法,构建产生式人工智能推理 系统。本实验将持续2周。提交程序和实验报 告以体现你们的成果。
每6人一组,完成一个产生式推理系统,要求 每组的主题不同,自由选题。如动物类,交通 工具类、土壤类型分类等。
系统构建建议
底层应该有这么几个类: 事实类,用于存放事实,事实由特性- 对象取值三元组构成。特征可以单独作为一个类, 描述特征的名称,及可选值
程序中类的说明
FactBase:事实库类 类成员变量主要为事实列表FactList,还包含 了一些操作函数,请看程序注释
程序中类的说明
Rule:规则类 主要的成员变量包括ConditionList,含义为规 则的前件事实列表,因为一条规则的前件可能 对应多个条件,本程序仅仅支持多个“与”关 系的条件组成前件;Result为规则的后件。 RuleBase:规则库类,存储一些列规则