产生式推理的简单识别系统


前言

大学课程《人工智能》的实验–简单识别系统的产生式推理的代码开源及讲解,如果要识别动物,则增加动物的规则即可,如果要识别植物,则增加植物的规则,代码的具体讲解,在代码的注释中写的很清楚,程序有一些逻辑BUG,可以自己去修改,有问题可以私信我,希望多多交流。


一、完成功能

能够增加,删除,修改,查询数据库,

在这里插入图片描述

二、设计方案

系统:win10
语言:python3.7
三方库:pyqt5(GUI设计)
工具:QT5
IDE:VScode

算法:采用产生式系统
界面:使用QT5进行页面设计,再通过PyUic将设计好的ui文件转换为Py代码
数据:老师提供的几条数据,以及我们通过代码批量生成了10 000条数据加入到数据库中
在这里插入图片描述
设计总体结构
设计总体结构

三、算法原理

在这里插入图片描述

产生式系统,由知识库和推理机两部分组成。其中知识库由规则库和数据库组成。规则库是产生式规则的集合,数据库是事实的集合。
规则是以产生式表示的。规则集蕴涵着将问题从初始状态转换解状态的那些变换规则,规则库是专家系统的核心。规则可表成与或树形式,基于数据库中的事实对这与或树的求值过程就是推理。
数据库中存放着初始事实、外部数据库输入的事实、中间结果事实和最后结果事实。 推理机是一个程序,控制协调规则库与数据库的运行,包含推理方式和控制策略。正向推理:从已知事实出发,通过规则库求得结论,或称数据驱动方式。推理过程是: 规则集中的规则前件与数据库中的事实进行匹配,得匹配的规则集合。从匹配规则集合中选择一条规则作为使用规则。执行使用规则的后件。将该使用规则的后件送入数据库中 重复这个过程直至达到目标
推理机的工作原理
(1)从规则库中选择规则与数据库的已知事实进行匹配。
a.匹配成功,此条规则的结果将被加入综合数据库。
b.匹配无结果,即该条规则前件的已知条件中完全与输入事实无关,将该规则列入待测试规则集,在下一轮匹配中再次使用。
(2)当循环完后,如果没有推导出一个,则推导失败。
(3)解释执行规则后件的动作。即如果该规则的后件不是问题的目标,将其加入数据库中。如果这些后件是一个或者多个操作时,根据一定的策略,有选择有顺序地执行。
(4)当循环遍历完后,结束查询。

四、代码下载地址

码云地址

在这里插入图片描述
_pycache_是IDE运行工程生成的文件
build是将工程打包为EXE文件所产生的中间文件
dist是EXE生成的exe文件和其所需要的资源文件所在文件夹
GUI.py是功能和算法实现的代码文件
main.py是资源整合,调用各个模块实现完整功能的代码文件
Main.spec是打包exe生成的临时文件
QT.ui是QT5设计的系统界面文件
Ui_QT.py是通过QT.Ui文件转化成的py文件
Make_rule.py文件是生成数据库的代码文件
rule.txt是Make_rule.py文件是生成数据
Rule_base是程序调用的数据库

  • 1
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值