一种小型专家系统推理过程及冲突集控制解决方法
【专利摘要】本发明涉及一种小型专家系统推理过程及冲突集控制解决方法,主要从推理时间冗余性、规则结构相似性和规则模式类型三方面进行综合考虑,采用正向推理,基于优先级和链表的冲突集解决策略,优先级按照规则可信度进行设定,可信度越高则优先级越高;大大减少了匹配运算和冲突集中计算的开销,提高了专家系统推理机的执行效率。
【专利说明】一种小型专家系统推理过程及冲突集控制解决方法【技术领域】
[0001]本发明涉及专家系统领域,尤其是一种小型专家系统推理过程及冲突集控制解决方法。
【背景技术】
[0002]产生式系统的执行效率一直是专家系统设计人员的关注焦点。在产生式系统中,大部分的时间消耗在模式匹配工作上。因此研究,高效实用的模式匹配算法,对提高系统的效率有重要的意义。
[0003]Forgy与1979年提出Rete算法。这是一种快速匹配算法,目前比较流行的商用产生式系统语速,如OPS、CLIPS等都是基于Rete算法实现的。目前多数产生式专家系统的推理机制均采用Rete匹配算法,或对其改进方式。Rete算法为了实现速度,保留了以往的匹配信息,因此占用了大量的存储空间,更适合大型专家系统中应用。
[0004]冲突消解过程,是指在进行模式匹配后,若同时有两条以上的规则为竞选规则,系统必须从中选择一条来执行的过程。冲突消解策略即执行冲突消解过程所依据的原则。
[0005]目前,冲突集设计有以下几个常见的原则:
[0006](a)就近原则:即最新激活的规则先执行,将冲突集设计成一个先进后出的栈。
[0007](b)公平原则:即先激活的规则先执行,将冲突集设计成先进先出的栈。
[0008](C)优先级原则:即优先级高的规则先执行。规则优先级的评定可由规则可信度、与事实匹配程度等方式确定 。
[0009]就近原则和公平原则实施起来简单,但是由于没有任何背景信息做指导,常会导致推理盲目性,推理时间缓慢,效率不高等不利后果;优先级原则效率比前两种有所提高,但是每次产生一个新事实,都必须重新计算优先级,然后在多个待执行的规则中就行调度,增加了开销。
【发明内容】
[0010]本发明要解决的技术问题是:提出一种小型专家系统推理过程及冲突集控制解决方法,从推理时间冗余性、规则结构相似性和规则模式类型三方面进行综合考虑,大大减少了匹配运算和冲突集中计算的开销,提高了专家系统推理机的执行效率。
[0011]本发明所采用的技术方案为:一种小型专家系统推理过程及冲突集控制解决方法,包括以下步骤:
[0012]I)将具有相同模式结构的规则,建立浅层次的连接关系;将所有规则的模式统一进行编号,同时为每个模式设置标志位,初始值为“O”;为每条规则设置标志位,初始值均为“O”。
[0013]2)将初始事实放入内存的事实库中;
[0014]3)从事实库中逐一取出未用过的事实与所有模式先进行模式类型是否匹配的判别;[0015]4)将实现匹配的模式的标志位进行设置;
[0016]5)通过扫描规则库,将所有模式均被设置为与步骤4)中相同的规则送入冲突集,等待选择执行;
[0017]6)冲突集中将待选的规则,按可信度的高低,建立链表;将信度高的规则优先级就高,被置于链表前部;将信度低的规则,被至于链表的后部。
[0018]7)执行链表中优先级最高的节点,并将新事实送入事实库中,同时该节点被删除;
[0019]8 )重复执行步骤(3 ),直至输出目标结果,或者推理超时结束。
[0020]本发明所述的步骤3)中的判别方式为:事实类型与模式类型不同的,则跳过,不予匹配;模式类型相同的,则进行匹配计算;通过这样的简单预处理,避免后面进行匹配计算的开销。
[0021 ] 具体的说,本发明所述的步骤4)中,将实现匹配的模式的标志位设置为“ I ” ;所述的步骤5)中,将所有模式均被置“I”的规则送入冲突集,等待选择执行。所述的步骤7)中,执行链表中优先级最高的节点,并将新事实送入事实库中,同时该节点被删除,该规则的标志位被置“ I ”,表示本次推理中,该规则将不会再被执行,避免的冗余操作。
[0022]本发明的有益效果是:本发明推理方向为正向推理,采用的基于优先级和链表的冲突集解决策略;优先级按照规则可信度进行设定,可信度越高则优先级越高;大大减少了匹配运算和冲突集 中计算的开销,提高了专家系统推理机的执行效率。
【专利附图】
【附图说明】
[0023]下面结合附图和实施例对本发明进一步说明。
[0024]图1是本发明规则浅层连接示意图;
[0025]图2是本发明推理过程示意图;
[0026]图3是本发明链表节点的基本结构;
[0027]图4是本发明冲突集的工作过程;
[0028]图5是本发明执行时间降低率曲线。
【具体实施方式】
[0029]现在结合附图和优选实施例对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。
[0030]如图1所示,将具有相同模式结构的规则,建立浅层次的连接关系,将所有规则的模式统一进行编号,例如i=l,2,…N.同时为每个模式设置标志位,初始值为“O”;为每条规则设置标志位,初始值均为“O” ;
[0031 ] 推理详细过程如图2所示:
[0032]1、将初始事实放入内存的事实库中;
[0033]2、从事实库中逐一取出未用过的事实与所有模式先进行模式类型的判别,事实类型与模式类型不同的,则跳过,不予匹配;模式类型相同的,则进行匹配计算;
[0034]3、将实现匹配的模式的标志位置“ I” ;
[0035]4、通过扫描规则库,将所有模式均被置“I”的规则送入冲突集,等待选择执行;冲突集中将待选的规则,按可信度的高低,建立链表。可信度高的规则优先级就高,被置于链表前部,可信度低的规则,被至于链表的后部。
[0036]5、执行链表中优先级最高的节点,并将新事实送入事实库中,同时该节点被删除,该规则的标志位被置“I”;
[0037]6、重复执行步骤2,直至输出目标结果,或者推理超时结束。
[0038]该推理方向为正向推理,采用的基于优先级和链表的冲突集解决策略。优先级按照规则可信度进行设定,可信度越高则优先级越高。
[0039]并且从图1可以看出,当规则库中规则模式的结构相似度越高,则事实与模式匹配的次数将会越低,而事实上,大部分规则库中的规则模式确实具有很高的相似性。通过建立这样的浅层连接,既避免了 Rete算法中大量深层次的连接所带来的额外开销,又较好的实现了匹配次数的降低,降低了匹配开销。
[0040]链表中节点的基本结构如图3所示。
[0041]冲突集的工作过程如图4所示。
[0042]目前,很多投入商业运行的专家系统的推理机制采用Rete匹配算法或其某方面的改进。为了验证新算法的在执行时间上有所提高,将新算法与标准Rete匹配算法进行仿真,采用JProfiler平台对两种不同算法运行时间进行跟踪监视,得到如图5所示的运行时间曲线。
[0043]横坐标表示规则数量,纵坐标表示执行时间降低率。
[0044]
【权利要求】
1.一种小型专家系统推理过程及冲突集控制解决方法,其特征在于包括以下步骤: 1)将具有相同模式结构的规则,建立浅层次的连接关系; 2)将初始事实放入内存的事实库中; 3)从事实库中逐一取出未用过的事实与所有模式先进行模式类型是否匹配的判别; 4)将实现匹配的模式的标志位进行设置; 5)通过扫描规则库,将所有模式均被设置为与步骤4)中相同的规则送入冲突集,等待选择执行; 6)冲突集中将待选的规则,按可信度的高低,建立链表; 7)执行链表中优先级最高的节点,并将新事实送入事实库中,同时该节点被删除; 8)重复执行步骤(3),直至输出目标结果,或者推理超时结束。
2.如权利要求1所述的一种小型专家系统推理过程及冲突集控制解决方法,其特征在于:所述的步骤I)中,将所有规则的模式统一进行编号,同时为每个模式设置标志位,初始值为“O” ;为每条规则设置标志位,初始值均为“O”。
3.如权利要求1所述的一种小型专家系统推理过程及冲突集控制解决方法,其特征在于:所述的步骤3)中的判别方式为:事实类型与模式类型不同的,则跳过,不予匹配;模式类型相同的,则进行匹配计算。
4.如权利要求1所述的一种小型专家系统推理过程及冲突集控制解决方法,其特征在于:所述的步骤4)中,将实现匹配的模式的标志位设置为“I”;所述的步骤5)中,将所有模式均被置“I”的规则送入冲突集,等待选择执行;所述的步骤7)中,执行链表中优先级最高的节点,并将新事实送入事实库中,同时该节点被删除,该规则的标志位被置“ I ”。
5.如权利要求1所述的一种小型专家系统推理过程及冲突集控制解决方法,其特征在于:所述的步骤6)中,将信度高的规则优先级就高,被置于链表前部;将信度低的规则,被至于链表的后部。
【文档编号】G06N5/04GK103761572SQ201410047259
【公开日】2014年4月30日 申请日期:2014年2月11日 优先权日:2014年2月11日
【发明者】史兵, 马正华, 苗乃明, 赵德安 申请人:常州大学