首页 / 一种基于Rete推理网络的复合推理方法

一种基于Rete推理网络的复合推理方法无效专利 发明

技术领域

[0001] 本发明属于计算机与人工智能技术领域,具体涉及一种基于Rete推理网络的 复合推理方法。

相关背景技术

[0002] 在客观世界中,存在着大量的模糊概念和模糊现象,这些模糊概念和模糊现 象很难用经典的二值或多值逻辑来描述,因为它们没有明确的边界。模糊推理是 近似于人脑思维的推理方法,是基于模糊性知识和模糊规则的一种近似推理。
[0003] 在一个特定的专业领域里,模糊推理的过程,就是如何将已有的事实和规则 形式化描述、转化为计算机能够理解的语言,进而完成基本的逻辑推理,得出有 效的推理结果。
[0004] 现有技术中,对知识的研究越来越深入,而知识推理也愈发重要。而在知识 推理的过程中,存在大量模糊性的知识,不能采用确定性的本体知识推理方法。 目前,尚未确定行之有效的方法来解决既支持确定性推理规则又支持模糊性推理 规则的推理方法。

具体实施方式

[0077] 通过参考示范性实施例,本发明技术问题、技术方案和优点将得以阐明。然 而,本发明并不受限于以下所公开的示范性实施例;可以通过不同形式来对其加 以实现。说明书的实质仅仅是帮助相关领域技术人员综合理解本发明的具体细节。
[0078] 本发明实施例以基础教育领域地理和历史题目求解的应用需求为背景,涉及 确定本体知识推理的方法和模糊规则本体推理方法,针对知识研究的深入和知识 推理愈发重要的现状下,尚未确立行之有效的方法来解决既支持的确定规则又支 持模糊规则的复合推理方法,提出相应的解决方案,特别是为了利用模糊理论扩 展模糊规则而采用的隶属度函数,在模糊事实推理过程中采用模糊算子进行匹配 运算,以达到较理想的准确率。基于此,本发明提出了一种基于Rete推理网络的 复合推理方法,主要涉及以下三个方面:从本体规则出发,根据规则的模糊描述, 确定一个模糊隶属函数来计算事实模糊化后的定量表示;将模糊规则输入到Rete 推理网络中,对确定事实和模糊事实做统一化处理;事实匹配阶段通过事实链接 和模糊算子计算推理结果。
[0079] 本发明实施例的基于Rete推理网络的复合推理方法,是基于Rete推理网络的 涵盖确定规则和模糊规则的复合推理方法,所述方法具体包括以下步骤:
[0080] 步骤S1:根据问题的描述,提取事实的隶属度。
[0081] 如果描述是确定性的,比如“是”,“否”等,则这部分描述所对应的事实 是确定的,所以隶属度为1或0;对于不确定性的描述如“高”,“多”,“稠密”, “稀疏”等,则这部分描述所对应的事实是模糊的,隶属度通过一个函数来计算。
[0082] 设X是对象x集合,x是X的任一元素。X的模糊集合A定义为一组有序 对:
[0083] A={(x,uA(x))|x∈X}
[0084] 其中,uA(x)被称为模糊集合A的隶属度函数。uA(x)的值为元素x相对于 集合的隶属度,对不同的模糊事实采用不同的隶属度函数。
[0085] 图1为本发明优选实施例所采用的四种不同的函数图形,分别为梯形(a)、 三角形(b)、左型函数(c)和右型函数(d)。如图1所示,本发明实施例所采用的函数 计算公式分别为:
[0086] 梯形函数计算公式为:
[0087] 1.1 q1
[0088] 1.2
[0089] 1.3
[0090] 1.4
[0091] 1.5
[0092] 三角形函数计算公式为:
[0093] 2.1t1
[0094] 2.2
[0095] 2.3
[0096] 2.4
[0097] 左型函数计算公式为:
[0098] 3.1l1
[0099] 3.2
[0100] 3.3
[0101] 3.4
[0102] 右型函数计算公式为:
[0103] 4.1r1
[0104] 4.2
[0105] 4.3
[0106] 4.4
[0107] 对于不同类型的模糊描述,本发明实施例采用不同的隶属度函数,得到相应 的隶属度。这样,所有的事实都有了相应的隶属度和隶属度函数。
[0108] 步骤S2:构建Rete推理网络,将所有规则和事实输入到Rete的推理过程中。 Rete的推理包括两个过程:根据规则集合生成Rete推理网络;将事实逐个输入到 Rete推理网络进行规则匹配。图2为本发明实施例的Rete推理网络的构建模型示 意图。如图2所示,Rete推理步骤包括:
[0109] 步骤S21,定义相关概念。
[0110] 对相关概念进行如下定义:
[0111] 事实:对象之间及对象属性之间的多元关系。
[0112] 规则:是由条件和结论构成的推理语句IF语句,一般表示为if...Then。一个 规则的if部分称为LHS,then部分称为RHS。
[0113] 模式:就是指IF语句的条件。这里IF条件可能是有几个更小的条件组成的大 条件。模式就是指的不能在继续分割下去的最小的原子条件。
[0114] 步骤S22,描述Rete推理过程。
[0115] 如图2所示,所述步骤S22进一步包括如下步骤:
[0116] 步骤S221,创建根节点,所述根节点为推理网络入口;
[0117] 步骤S222,加入规则i,其中,i为所加入规则的序号,i为从1开始的自然数; 对加入规则i的过程包括如下步骤:
[0118] 步骤S222a,从规则i中取出模式1;
[0119] 步骤S222b,检查模式1对应的Alpha节点是否已存在,如果存在则记录下节 点位置,如果不存在则将模式1作为一个Alpha节点加入到网络中,同时根据Alpha 节点的模式建立Alpha内存表;
[0120] 步骤S222c,重复步骤S222a和S222b,直到规则i中所有的模式处理完毕;
[0121] 步骤S222d,,按照如下方式组合Beta节点:
[0122] 第一Beta节点的第一输入节点为Alpha节点,第二输入节点为虚拟Beta节点; 或两个输入节点均为Alpha节点;
[0123] 后序Beta节点的第一输入节点为Alpha节点,第二输入节点为之前组合完成 的Beta节点;
[0124] 将每个Beta节点的两个父节点的内存表内联建立Beta内存表;
[0125] 步骤S222e,重复步骤S222d直到所有的Beta节点处理完毕;
[0126] 步骤S222f,将Then部分封装作为最后Beta节点的输出节点,称为Action节 点,规则i加入完毕;
[0127] 步骤S223,重复步骤S222,直到所有规则处理完毕。步骤S3:在Rete推理 过程的步骤S222d,对Beta节点的两个输入节点进行模糊集合运算,常用的模糊 运算有模糊交(T范式)算子、模糊并(S范式)算子、模糊补算子和模糊蕴涵算 子等。优选的,本发明实施例采用的是模糊交算子进行模糊推理运算。因为这种 模糊算子会得到较高的匹配成功率,而且执行效率更高,该模糊交算子的定义如 下:
[0128] 两个模糊集合A和B的交集也是模糊集合,计作A∩B,通常有函数 T:[0,1]×[0,1]→[0,1]来描述,它表示由模糊集A和B的隶属度函数向A和 B的交集的隶属度函数转换的一个函数,即
[0129]
[0130] 其中 是表达函数T的二元算子。
[0131] 它满足以下基本条件:
[0132] T(0,0)=0,T(a,1)=T(1,a)=a(有界性)
[0133] T(a,b)≤T(c,d),如果a≤c且b≤d(非减性)
[0134] T(a,b)=T(b,a)(交换性)
[0135] T(a,T(b,c))=T(T(a,b),c)(结合性)
[0136] 最常用的T范式算子为:
[0137] 极小:Tmin(a,b)=min(a,b)=a∧b,
[0138] 代数积:Tap(a,b)=ab,
[0139] 有界积:Tbp(a,b)=0∨(a+b-1),
[0140] 直积:
[0141] 优选的,本发明实施例采用的模糊算子是Tmin。
[0142] 下面通过一个具体的实施例并结合附图,对本发明做进一步详细说明。
[0143] 图3为本实施例的Rete算法建立规则网络和规则匹配示例图。Rete网络是一 个事实可以在其中流动的网络。Rete网络的节点可以分为四类:根节点(root)、 类型节点(type node)、Alpha节点、Beta节点。其中,根结点是一个虚拟节点, 是构建Rete网络的入口。类型节点中存储事实的各种类型,各个事实从对应的类 型节点进入Rete网络。
[0144] 如图3所示,首先,给出如下事实:
[0145] w1:(B1^on B2)w6:(B2^color blue)
[0146] w2:(B1^on B3)w7:(B3^left-of B4)
[0147] w3:(B1^color red)w8:(B3^on table)
[0148] w4:(B2^on table)w9:(B3^color red)
[0149] w5:(B2^left-of B3)
[0150] 所有的模式(原子条件)如下:
[0151] C1:(^on)
[0152] C2:(^left-of)
[0153] C3:(^color red)
[0154] C4:(^color maize)

当前第1页 第1页 第2页 第3页