首页 理论教育 地铁施工安全风险自动识别与预警的推理引擎概述

地铁施工安全风险自动识别与预警的推理引擎概述

时间:2023-08-23 理论教育 版权反馈
【摘要】:现在有许多不同的推理引擎可以对规则进行推理,本书采用的是Jess推理引擎。如果规则“if...”部分只是部分匹配,那么推理引擎将激活执行能够与该规则完全匹配的其他相应规则,这称为“目标搜索”,逆向推理经常用于从数据库中搜索出所需的相应数据加入Jess工作存储器中。3)Rete算法Jess使用Rete算法进行快速模式匹配。图3-13Jess界面Jess推理引擎与Protégé集成,Jess推理将本体事实库和SWRL规则库转换成Jess事实和Jess规则,提供Jess推理的事实和规则基础。

地铁施工安全风险自动识别与预警的推理引擎概述

现在有许多不同的推理引擎可以对规则进行推理,本书采用的是Jess(Java Expert Systems Shell)推理引擎。1995年美国Sandia国家实验室分布式系统计算机组用Java语言开发了Jess,Jess是在CLIPS(开源的用C语言开发的专家系统开发工具)的基础上开发的,继承了CLIPS的优点,并具有自己的特征。Jess支持前向和逆向推理,并使用了Rete匹配算法提供的非常高效的前向和逆向推理效率。该算法将分离的匹配项根据内容动态构造匹配树,降低计算量,过程中用空间换取速度,因此Jess消耗内存比较大,但是速度快,运行效率高,甚至比许多以C语言为开发工具的引擎运行速度快。

1)Jess事实库

Jess事实库存储着Jess处理的所有信息,包括条件规则和结论,这些信息称为事实(Fact),所有的事实都存放在工作存储器中。Jess应用自定义的索引来快速检索和管理信息,与关系数据库非常相似,每一个事实可以类比数据库中的一条记录。

2)Jess规则

Jess规则存储在知识库中,用defru1e关键字来定义规则。Jess具有前向和逆向推理规则,前向推理规则与CLIPS相同,表达式为:if...then...,“if...”部分得到相应的匹配,便可推断出“then...”部分。逆向推理规则表达式也是:if...then...,推理规则相同。如果规则“if...”部分只是部分匹配,那么推理引擎将激活执行能够与该规则完全匹配的其他相应规则,这称为“目标搜索”,逆向推理经常用于从数据库中搜索出所需的相应数据加入Jess工作存储器中。

3)Rete算法

Jess使用Rete算法进行快速模式匹配。Jess是基于规则的推理引擎,运用“if...then...”推理规则和工作存储器中相应的数据进行快速匹配,得到相应结论。规则库存储着规则,工作存储器中存储着事实,Jess每次循环运行步骤:搜索与事实相匹配的规则,规则和事实库相关联形成规则激活记录,选择激活规则进行运行,从而完成规则和事实的匹配。Jess在规则和事实匹配的过程中使用了高效的Rete算法,Rete算法通过每次循环记忆已经匹配好的事实,只对其中发生变化的事实引起的变化对规则进行重新测试,在每次循环的过程中许多事实并未发生变化,只是有少数的事实出现增加或者删除的情况,所以许多事实仍能够与对应的规则相匹配,只用少部分改变的事实去与规则相匹配,这样循环运行效率得到了大幅度提高。如图3-12所示。

图3-12 事实规则匹配

4)Jess推理机制(www.xing528.com)

当系统为Jess提供特有的领域规则和事实信息时,Jess能够处理各种推理任务,以本体形式表示的知识和SWRL规则语言描述的规则经过相应的格式转换,将其转换为Jess理解和支持的规则和事实,就可以用Jess推理引擎实现领域相关问题推理,得到新的事实。其界面如图3-13所示。

图3-13 Jess界面

Jess推理引擎与Protégé集成,Jess推理将本体事实库和SWRL规则库转换成Jess事实和Jess规则,提供Jess推理的事实和规则基础。推理过程中主要进行4项工作活动[9]

(1)将个体实例知识表示为Jess事实;

(2)将SWRL规则转换为Jess规则;

(3)基于事实和规则运行Jess推理引擎进行推理;

(4)推理得到新事实,进行知识库更新。

基于本体知识库的Jess推理过程如图3-14所示。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈