产生式系统

控制系统:
从规则库中选择前提与综合数据库中的已知事实进行匹配 匹配成功的规则可能不止一条,进行冲突消解 (出题者对题目进行过设置,没有出现冲突) 执行某一规则时,如果其右部是一个或多个结论,则把这些结论加入到综合数据库中;如果其右部是一个或多个操作,则执行这些操作 对不确定性知识,在执行每一条规则时还要按一定算法计算结论的不确定性 (由于只是考察产生式系统,出题者对题目进行过简化,题目中没有涉及这部分内容) 检查综合数据库中是否包含了最终结论,决定是否停止系统的运行第一问

先根据题图,创建规则库(使用了一个文本文件)
if 有毛发 then 哺乳动物 if 有乳 then 哺乳动物 if 吃肉 then 食肉动物 if 有犬齿 and 有爪 and 眼向前方 then 食肉动物 if 哺乳动物 and 有蹄 then 有蹄类 if 哺乳动物 and 反刍动物 then 有蹄类 if 哺乳动物 and 食肉动物 and 黄褐色 and 暗斑点 then 豹子 if 哺乳动物 and 食肉动物 and 黄褐色 and 黑条纹 then 老虎 if 有蹄类 and 长脖子 and 长腿 and 暗斑点 then 长颈鹿 if 有蹄类 and 黑条纹 then 斑马
12345678910代码:
rules = { } # 以字典形式存储规则 """ 读取规则库文件中规则,并存放在rules字典中 - 字典的键:前提 - 字典的值:结论 """ def readRules(filePath): global rules for line in open(filePath, mode = 'r', encoding =
py
123456789101112
于 2020-04-10 16:37:07 发布 · 2.8w 阅读