产生式推理的简单识别系统
作者:互联网
@
目录前言
大学课程《人工智能》的实验--简单识别系统的产生式推理的代码开源及讲解,如果要识别动物,则增加动物的规则即可,如果要识别植物,则增加植物的规则,代码的具体讲解,在代码的注释中写的很清楚,程序有一些逻辑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是程序调用的数据库
标签:文件,py,简单,数据库,识别系统,规则,推理,代码,后件 来源: https://www.cnblogs.com/LXJSWD/p/15663838.html