【采用】规则引擎Pyke与PyClips对比研究报告(高大上啊,第一次听说pyke和pyclips这俩词~)

本文对比了Python中的Pyke和PyClips规则引擎,PyClips在规则表达和性能效率上表现更优,支持面向对象和动态撤销事实,而Pyke支持正向和反向推理,但数据导入和输出受限。测试结果显示,尽管Pyke的反向推理时间开销较小,但事实加载速度远低于PyClips,总体运行速度PyClips更胜一筹。
摘要由CSDN通过智能技术生成

1. 背景综述

 

规则引擎主要实现的功能是存储、分类和管理规则,执行规则、推断其它事实的应用程序。其中的规则主要是指企业或商务业务逻辑、法律条款等。在规则引擎发展的过程中,Rete算法和Prolog语言是两个重要的理论分支,多数规则引擎都是基于以上二者扩展而来的。在工业活动铸造中,发展时间较长、应用广泛的两个体系是Clips体系和Prolog体系。

Clips是美国航空航天局NASA- JOHNSON太空中心为弥补LISP 语言的不足而开发的C语言内核的专家系统。它的推理机是基于正向推理(Rete算法)的控制策略,即在事实的基础上通过设定的规则推演新的事实。因为LISP语言编写规则复杂、引擎不支持反向推理等原因也在一定程度限制了它的发展,但在其他语言开发(javaEE、Python等)的规则引擎仍有很多参考、引用了Clips,包括Drools、Jess、PyClips等。

Prolog语言基于谓词逻辑的理论。最基本的写法是定立物件与物件之间的关系,之后可以用询问目标的方式来查询各种物件之间的关系,进行匹配及回溯,找出所询问的答案。因而Prolog具备作为规则引擎的充分条件,也有若干开源项目(java为主)沿用其思路设计规则引擎,如tuProlog、jena等。下文所提到的Pyke,普遍说法其前身也是Prolog。此外,有文献提到prolog基于Markov算法。Markov算法可以作为规则引擎的基本准则,但是如果系统中存在着大量的规则,那么效率就会变低。

 

针对项目开发的实际需要,依据 “Python语言驱动引擎、规则语言语义全面、时间开销适中”的原则选取规则引擎,具体操作过程中选择了Pyke和PyClips分别进行研究,二者分别对应上文提到的Prolog体系和Clips体系,有一定代表性。经过手册研读和实验测试,目前可得到的结论是:PyClips在规则表达和性能效率方面优于Pyke,更符合应用开发的需要。具体分析见下文。

 

2.PyClips与Pyke的规则表达方式比较

 

2.1 Pyke的规则描述方式和特性

 

Pyke的优势、特点:

l 支持正向推理和反向推理两种推理方式,可以针对不同问题选用不同方式定义规则;

l 可以在规则中嵌入Python代码段补充描述;

l 专用谓词较多,如first,notany等可以简化表达。

 

Pyke的不便、局限:

l 数据倾倒方式单一,只显式支持将结果推送到控制台输出(只能间接从其内部取得数据List);

l 不支持批量的事实导入;

l 正反向推理不能在同一个规则库中并存。

 

2.2 PyClips的规则描述方式和特性

 

PyClips的优势、特点:

l 在规则定义环节,支持声明函数。支持OO(面向对象):包括

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值