WO2021139104A1 - 调整Rete网络结构的方法、装置和计算机设备 - Google Patents

调整Rete网络结构的方法、装置和计算机设备 Download PDF

Info

Publication number
WO2021139104A1
WO2021139104A1 PCT/CN2020/098810 CN2020098810W WO2021139104A1 WO 2021139104 A1 WO2021139104 A1 WO 2021139104A1 CN 2020098810 W CN2020098810 W CN 2020098810W WO 2021139104 A1 WO2021139104 A1 WO 2021139104A1
Authority
WO
WIPO (PCT)
Prior art keywords
time
node
rete network
nodes
rete
Prior art date
Application number
PCT/CN2020/098810
Other languages
English (en)
French (fr)
Inventor
李桃
Original Assignee
平安科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 平安科技(深圳)有限公司 filed Critical 平安科技(深圳)有限公司
Publication of WO2021139104A1 publication Critical patent/WO2021139104A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems
    • G06N5/047Pattern matching networks; Rete networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Definitions

  • the Root node is the start node of the network
  • the Terminal node is the end node
  • the Type node is used to separate different types of facts
  • the single input node represents the attribute constraints of the same object type
  • the dual input node mainly performs join operations on the constraints between different objects.
  • the existing self-adaptive Rete algorithm can automatically adjust the Rete network structure to optimize the network performance according to the time-consuming and time-consuming change of conditions saved by filtering the facts of each node obtained in each match.
  • the inventor realizes that in scenes with large changes, the time-consuming change of node filtering facts is also correspondingly large, which will cause frequent changes in the network structure, and on the contrary, the performance of the rule engine system will decrease.
  • the obtaining module is used to obtain the change trend of the data change rate in the Rete network within a specified time period including the current moment;
  • the present application also provides a computer device, including a memory and a processor, the memory stores a computer program, and the method for adjusting the Rete network structure when the processor executes the computer program includes:
  • Figure 3 is an example diagram of tokens transfer in an embodiment of the present application.
  • the above-mentioned change trend of the data change rate includes a monotonic change trend in which the data change rate continues to increase or decrease, as well as a complex change trend in which both increase and decrease are included.
  • a suitable discriminator is selected to improve the accuracy of the evaluation of adjusting the Rete network structure, so as to avoid frequent changes of the Rete network structure. For example, if the data change rate continues to increase or decrease, the monotonic change trend is selected.
  • the discriminator corresponding to the threshold judgment method that can avoid the evaluation error caused by the monotonic change trend is selected.
  • the discriminator corresponding to the simpler standard deviation discrimination method can be selected without calculating the time-consuming network adjustment.
  • the node network will be adjusted, that is, the order of the two conditional nodes will be changed.
  • the node network is: input node -> weight greater than 70kg -> height greater than 170cm -> output node.
  • the advantage of the adjusted node network is that the weight condition filters most people, the data is much less when matching the height, and the number of matches is much less overall. However, if the height of most of the input data is not greater than 170cm, but the weight is greater than 70kg, the algorithm will return to the state before the adjustment.
  • step three use the screening process in step two to generate relevant judgment parameters to determine whether the network structure needs to be adjusted; if it is determined that the network structure needs to be adjusted, adjust it. Otherwise, no adjustment is made. At this time, it is called the completion of a matching adjustment of the node network.
  • the standard deviation s is always greater than the average value. Every time the judgment conclusion is allowed to be adjusted; the state of the data change rate monotonously decreasing is contrary to the above-mentioned state of the data change rate monotonously increasing, and there is no discriminative significance. .
  • S403 Determine whether the total time saved by the node is greater than the operation time of adjusting the network
  • Figure 3 is an example of tokens transfer before matching
  • Figure 4 is the k-2th matching
  • Figure 5 is the k-1th matching
  • Figure 6 is the chart of the kth matching.
  • the time saving of adding and deleting tokens each time is 1, and the operation time of adjusting the order of two nodes at a time is 2.
  • S54 Automatically adjust the Rete network according to the priority value of each node in the Rete network.
  • the time-consuming increase of changing the condition can be described as: the specified node has Fact retain(n) tokens after the join operation, and the time-consuming deletion of the specified node is equal to the time-consuming to delete all the tokens in the join node and the time-consuming to delete the join node Time addition, changing the specified node will cause subsequent changes to other nodes.
  • the obtaining module 1 is used to obtain the change trend of the data change rate in the Rete network within a specified time period including the current moment;
  • the adjustment module 4 is used to adjust the Rete network structure according to the time-consuming data of the node.
  • the adjustment module 4 includes:
  • the second determining unit is configured to determine whether the total time saved by the node is greater than the operating time of adjusting the network
  • the adjustment module 4 includes:
  • the time-consuming increase of changing the condition can be described as: the specified node has Fact retain(n) tokens after the join operation, and the time-consuming deletion of the specified node is equal to the time-consuming to delete all the tokens in the join node and the time-consuming to delete the join node Time addition, changing the specified node will cause subsequent changes to other nodes.
  • the above computer equipment by adding a discriminator to the adaptive Rete algorithm, when the discriminator determines that the current Rete network structure can be adjusted, the adaptive Rete algorithm is started to adjust the Rete network structure, otherwise the adaptive Rete algorithm is not started to adjust the Rete network structure. In order to avoid frequent changes of the Rete network structure, resulting in a decrease in the performance of the rule engine system.
  • the above-mentioned computer-readable storage medium by adding a discriminator to the adaptive Rete algorithm, when the discriminator determines that the current Rete network structure can be adjusted, the adaptive Rete algorithm is started to adjust the Rete network structure, otherwise the adaptive Rete algorithm is not started to adjust the Rete Network structure to avoid frequent changes of Rete network structure, resulting in a decrease in the performance of the rule engine system.
  • the node time-consuming data includes a standard deviation for saving time-consuming
  • the above-mentioned processor inputs the node data in the Rete network into the designated discriminator
  • Volatile memory may include random access memory (RAM) or external cache memory.
  • RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual-rate data rate SDRAM (SSRSDRAM), enhanced SDRAM (ESDRAM), synchronous Link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种调整Rete网络结构的方法,涉及人工智能领域,包括:获取包括当前时刻的指定时间段内,Rete网络内的数据变化率的变化趋势(S1);根据所述变化趋势选择与所述数据变化率的变化趋势相适应的指定判别器(S2);将所述Rete网络中的节点数据输入到所述指定判别器中,计算节点耗时数据(S3);根据所述节点耗时数据判断是否需要调整Rete网络结构;若是,则调整Rete网络结构(S4)。通过在自适应Rete算法中加入判别器,当判别器判定当前可进行调整Rete网络结构,才启动自适应Rete算法调整Rete网络结构,否则不启动自适应Rete算法调整Rete网络结构,以避免Rete网络结构频繁变更,导致规则引擎系统的性能下降。

Description

调整Rete网络结构的方法、装置和计算机设备
本申请要求于_2020年05月14日提交中国专利局、申请号为202010408592.6,发明名称为“调整Rete网络结构的方法、装置和计算机设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及人工智能领域,特别是涉及到调整Rete网络结构的方法、装置和计算机设备。
背景技术
规则引擎是一种产生式推理系统,产生式推理系统包括一组规则,每个规则包含一组条件(LHS)和一组动作(RHS),当规则的所有条件都满足时,该规则的动作会被加入到议程中等待执行。系统包括所有规则集合称为规则库以及工作内存(Working Memory),工作内存是一个包含数据元素的数据库,每个数据元素(Working Memory Element)都可以被规则引用、创建、修改或者删除。在Rete算法中,LHS的所有规则会被转换成一个特殊的数据流网络,称为Rete网络,共有五类节点,Root节点,Type节点,单输入节点,双输入节点,Terminal节点。Root节点是网络的开始节点,Terminal节点为结束节点,Type节点用于分离不同类型的事实,单输入节点代表同对象类型的属性约束,双输入节点主要对不同对象之间的约束进行join连接操作。现有自适应Rete算法可以针对不同的场景,依据每一次匹配得到的每个节点过滤事实节省的耗时和条件的变更耗时,自动调整Rete网络结构,使网络性能达到最优。但发明人意识到在变化较大的场景中,节点过滤事实节省的耗时变化也相应较大,会导致网络结构频繁变更,反而会使规则引擎系统的性能下降。
技术问题
本申请的主要目的为提供调整Rete网络结构的方法,旨在解决现有调整Rete网络结构太频繁影响规则引擎系统的性能的技术问题。
技术解决方案
本申请提出一种调整Rete网络结构的方法,包括:
获取包括当前时刻的指定时间段内,Rete网络内的数据变化率的变化趋势;
根据所述变化趋势选择与所述数据变化率的变化趋势相适应的指定判别器;
将所述Rete网络中的节点数据输入到所述指定判别器中,计算节点耗时数据;
根据所述节点耗时数据调整Rete网络结构。
本申请还提供了一种调整Rete网络结构的装置,包括:
获取模块,用于获取包括当前时刻的指定时间段内,Rete网络内的数据变化率的变化趋势;
选择模块,用于根据所述变化趋势选择与所述数据变化率的变化趋势相适应的指定判别器;
计算模块,用于将所述Rete网络中的节点数据输入到所述指定判别器中,计算节点耗时数据;
调整模块,用于根据所述节点耗时数据调整Rete网络结构。
本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现调整Rete网络结构的方法,包括:
获取包括当前时刻的指定时间段内,Rete网络内的数据变化率的变化趋势;
根据所述变化趋势选择与所述数据变化率的变化趋势相适应的指定判别器;
将所述Rete网络中的节点数据输入到所述指定判别器中,计算节点耗时数据;
根据所述节点耗时数据调整Rete网络结构。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现调整Rete网络结构的方法,包括:
获取包括当前时刻的指定时间段内,Rete网络内的数据变化率的变化趋势;
根据所述变化趋势选择与所述数据变化率的变化趋势相适应的指定判别器;
将所述Rete网络中的节点数据输入到所述指定判别器中,计算节点耗时数据;
根据所述节点耗时数据调整Rete网络结构。所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
有益效果
本申请通过在自适应Rete算法中加入判别器,当判别器判定当前可进行调整Rete网络结构,才启动自适应Rete算法调整Rete网络结构,否则不启动自适应Rete算法调整Rete网络结构,以避免Rete网络结构频繁变更,导致规则引擎系统的性能下降。
附图说明
图1本申请一实施例的调整Rete网络结构的方法流程示意图;
图2本申请一实施例的调整Rete网络结构的装置结构示意图;
图3本申请一实施例中tokens传递示例图;
图4本申请一实施例中第k-2次匹配示例图;
图5本申请一实施例中第k-1次匹配示例图;
图6本申请一实施例中第k次匹配示例图;
图7本申请一实施例的计算机设备内部结构示意图。
本发明的最佳实施方式
参照图1,本申请一实施例的调整Rete网络结构的方法,包括:
S1:获取包括当前时刻的指定时间段内,Rete网络内的数据变化率的变化趋势;
S2:根据所述变化趋势选择与所述数据变化率的变化趋势相适应的指定判别器;
S3:将所述Rete网络中的节点数据输入到所述指定判别器中,计算节点耗时数据;
S4:根据所述节点耗时数据调整Rete网络结构。
上述数据变化率的变化趋势包括数据变化率持续增长或持续降低的单调性变化趋势,以及同时包括增长和降低的复杂变化趋势。根据不同的变化趋势,选择合适的判别器,以提高调整Rete网络结构的评价精准性,以免频繁变换Rete网络结构。比如数据变化率持续增长或持续降低的单调性变化趋势,选用可避开单调性变化趋势带来评价误差的阈值判别法对应的判别器。当同时包括增长和降低的复杂变化趋势,可选用无需计算网络调整耗时,实现更简单的标准差判别法对应的判别器。上述的节点耗时数据包括前后数据变化的节点节省耗时之差、节省耗时的标准差、节省的总耗时和调整Rete网络结构的耗时等数据中的一种或多种。本实施例在自适应Rete算法中加入判别器,通过判别器确定当前可进行调整Rete网络结构时,才启动自适应Rete算法调整Rete网络结构,否则不启动自适应Rete算法调整Rete网络结构,以避免网络结构频繁变更,导致规则引擎系统的性能下降。而且本申请存在两种并列的判别器,用于不同变化场景下的判断,使判断结论更精准。举例地,筛选出一批身高超过170cm,体重大于70kg的人,增加判别器的规则引擎,执行步骤包括:步骤一、将身高和体重这两个规则条件按照Rete算法生成节点网络,上述节点网络包含输入节点、输出节点以及两个条件节点,上述两个条件节点包括身高超过170cm以及体重大于70kg,节点网路结构按照顺序依次是输入节点->身高超过170cm->体重大于70kg->输出节点;步骤二、规则引擎使用上述节点网络对输入数据进行匹配筛选。如果规则引擎使用自适应Rete算法,则当输入数据中大多数人身高超过了170cm,但是体重不大于70kg而被过滤掉时,会调整节点网络,即调换两个条件节点的前后顺序,调整后的节点网络为:输入节点->体重大于70kg->身高超过170cm->输出节点。调整后的节点网络的优势在于体重的条件过滤了大多数人,匹配身高的时候数据就少很多,总体上匹配的次数就少了很多。但是如果输入的数据多数身高不大于170cm,但是体重都大于70kg, 该算法又会恢复调整之前的状态。如果两种数据交替的输入,就会导致节点网络频繁调整;步骤三、使用步骤二中的筛选过程,产生相关的判断参数,以判断是否需要调整网络结构;如果判定需要调整网络结构则调整,否则不调整,此时称为完成一次节点网络的匹配调整。
进一步地,所述节点耗时数据包括节省耗时的标准差,所述将所述Rete网络中的节点数据输入到所述指定判别器中,计算节点耗时数据的步骤S3,包括:
S31:通过公式
Figure PCTCN2020098810-appb-000001
计算n个节点连续前后两次匹配Rete网络结构的节省耗时之差,其中,所述n个节点各自节省耗时C用矩阵表示为C=[C 1,C 2,C 3,...,C n],第k次匹配Rete网络结构时n个节点的节省耗时为
Figure PCTCN2020098810-appb-000002
第k+1次匹配Rete网络结构时n个节点的节省耗时为
Figure PCTCN2020098810-appb-000003
S32:根据n个节点连续两次匹配Rete网络结构的节省耗时之差,计算各节点分别对应的节省耗时之差Diff,
Figure PCTCN2020098810-appb-000004
S33:根据公式
Figure PCTCN2020098810-appb-000005
计算节省耗时的标准差。
本实施例中,标准差S可以反应出数据变化的大小,S越大,数据的变化范围越大。为了寻找一个合适的S作为判别标准,可以通过训练的得到,将前m次匹配作为训练过程,得到这m次匹配对应的m个S,并以
Figure PCTCN2020098810-appb-000006
计算m个S对应的平均值以作为所述判别标准。此方法无需计算网络调整耗时,实现简单,但是在数据变化率单调变化的场景中不适用,因为数据变化率单调变化会导致标准差s始终大于平均值或者始终小于平均值,使得每次判别的结果均相同,且失去了实际判决的意义。比如因为数据变化率单调变大会导致标准差s始终大于平均值,每次判别结论均为允许调整;数据变化率单调变小的状态跟上述数据变化率单调变大的状态相反,均无判别意义。
进一步地,所述根据所述节点耗时数据调整Rete网络结构的步骤S4,包括:
S41:通过训练前m次Rete网络的匹配过程,得到Rete网络的判别标准;
S42:判断所述节省耗时的标准差是否大于所述判别标准;
S43:若是,则允许调整Rete网络,否则不允许调整。
进一步地,所述通过训练前m次Rete网络的匹配过程,得到Rete网络的判别标准的步骤S41,包括:
S411:分析前m次匹配Rete网络对应的训练过程,得到所述前m次匹配Rete网络分别对应的m个S,S=[S1,S2,...,Sm];
S412:取所述m个S对应的平均值,或者中位数的绝对值作为所述判别标准。
参照图3至图6,图3为匹配前的tokens传递示例、图4为第k-2次匹配、图5为第k-1次匹配以及图6为第k次匹配的图表。假设匹配网络中现有节点a、b、c,每一次增删token的节省耗时为1,一次调整两个节点顺序的操作耗时为2。第k-2次匹配时:a节点的节省耗时为:C k-2(a)=12-6=6;b节点的节省耗时为:C k-2(b)=12-4=8;c节点的节省耗时为:C k-2(c)=12-7=5。第k-1次匹配时:a节点的节省耗时为:C k-1(a)=10-4=6;b节点的节省耗时为:C k-1(b)=10-3=7;c节点的节省耗时为:C k-1(c)=10-2=8。第k次匹配时:a节点的节省耗时为:C k(a)=18-5=13;b节点的节省耗时为:C k(b)=18-13=5;c节点的节省耗时为:C k(c)=18-11=7。在第k-2次和k-1次匹配中,各个节点的Diff为:Diff=[0,-1,3]。在第k-1次和k次匹配中,各个节点的Diff为:Diff= [7,-2,-1]。根据标准差判别法,可得第k-1次匹配的标准差
Figure PCTCN2020098810-appb-000007
根据标准差判别法,可得第k次匹配的标准差
Figure PCTCN2020098810-appb-000008
前两次匹配的标准差的均值为5.25,小于第k次匹配的标准差S值7.35,即
Figure PCTCN2020098810-appb-000009
因此,根据标准差判别准则,第k次匹配后允许调整。
进一步地,所述节点耗时数据包括节点节省的总耗时和调整网络的操作耗时,所述将所述Rete网络中的节点数据输入到所述指定判别器中,计算节点耗时数据的步骤S3,包括:
S301:通过公式
Figure PCTCN2020098810-appb-000010
计算各节点节省的总耗时,其中,D表示各节点节省的总耗时;
S302:通过公式Q=k*Cost计算调整网络的操作耗时,其中,Q表示调整网络的操作耗时,Cost表示调整两个节点顺序的耗时,k表示当前各节点顺序调整到期望顺序需要的次数。
本实施例中,根据所述节点耗时数据调整Rete网络结构的步骤S4,包括:
S403:判断所述节点节省的总耗时是否大于所述调整网络的操作耗时;
S404:若是,则允许调整Rete网络,否则不允许调整。
参照图3至图6,即图3为匹配前的tokens传递示例、图4为第k-2次匹配、图5为第k-1次匹配以及图6为第k次匹配的图表。假设匹配网络中现有节点a、b、c,每一次增删token的节省耗时为1,一次调整两个节点顺序的操作耗时为2。本实施例中,根据阈值判别法,由第k次匹配和第k-1次匹配结果可知,需要调整顺序的节点数为2,因此,第k次节省的总耗时为D=(13-6)+(5-7)+(7-8),即D=4。根据限制性强的节点优先排列的原则调整Rete网络,则需要将网络中节点b和节点c的顺序调换一次,即k=1,Cost=2,则调整网络的操作耗时为Q=1*2,即Q=2。因此,根据阈值判别准则,D>Q,第k次匹配后允许调整。本实施例需要计算网络调整耗时,虽然实现复杂但是判别更精准。因为调整网络结构的目的就是节省更多的耗时,所以将两个耗时相比较,调整方式是最直接的。
进一步地,所述允许调整Rete网络的步骤S43或S404之后,包括:
S51:根据
Figure PCTCN2020098810-appb-000011
计算指定节点变更f(n)次的总耗时,即变更频率权值,其中,Freq(n)为所述指定节点之后第n个节点的变更频率权值,f(n)为指定节点的变更次数,Cost join为过滤一个事实的操作耗时,Cost token为增删一个事实的增删耗时,Fact retain(i)经i个节点过滤后的剩余事实数量;
S52:根据Filter(n)=Cost token*(Fact total-Fact retain(n)),计算增加指定节点过滤掉的事实数所需要的总耗时,即过滤事实数权值,其中,Filter(n)为所述指定节点之后第n个节点的过滤事实数权值,Fact retain(n)经n个节点过滤后的剩余事实数量,Fact total为进入网络节点的总事实数量;
S53:根据Weight(n)=α*Freq(n)-β*Filter(n)计算Rete网络中每个节点的优先权值,其中,α,β均为归一化系数,且
Figure PCTCN2020098810-appb-000012
μ 1为所 有节点的条件变更频率权值的均值,σ 1为所有节点的条件变更频率权值的标准差,μ 2为所有节点过滤事实数权值的均值,σ 2为所有节点过滤事实数权值标准差;
S54:根据Rete网络中每个节点的优先权值,自动调整Rete网络。
本实施例中,为了使变更频率权值和过滤事实数权值两个不同数值具有可比性,可通过计算变更频率以及过滤事实数分别带来的耗时作为该两个数值对应的权值。指定节点变更f(n)次的总耗时,也即变更频率权值为:
Figure PCTCN2020098810-appb-000013
指定节点过滤事实节省的耗时为:增加指定节点过滤掉的事实数所需要的总耗时,也即过滤事实数权值为:Filter(n)=Cost token*(Fact total-Fact retain(n)),Filter(n)为所述指定节点之后第n个节点的过滤事实数权值,Fact retain(i)经i个节点过滤后的剩余事实数量,Fact total为进入网络节点的总事实数量。分析变更频率所带来的耗时,即条件变更所增加的耗时,Fact total为进入网络的总事实数,Fact retain(n)为n个节点join操作后剩余的事实数,其中已匹配的事实称为token,存放在join节点中,每一个可被操作的节点均称为join节点,join节点负责将与其相连的上一个节点的token数组与当前节点的token数组进行合并,并且根据条件进行匹配,匹配成功的tokens会被传递到下一个节点。Cost token为增删一次token的耗时,Cost join为一次join的操作耗时。因此,变更一次条件增加的耗时可以描述为:指定节点经过join操作后存在Fact retain(n)个token,指定节点的删除耗时等于删除join节点中所有token的耗时和删除join节点的耗时相加,变更指定节点,会导致后继其他节点的变更。本实施例中,在计算出上述变更频率权值和过滤事实数权值之后,可再次通过预设的公式将这两者进行归一化处理,如通过Weight(n)=α*Freq(n)-β*Filter(n)进行计算,得到优选权值,按照以上公式计算出Rete网络中每个节点的优先权值,优先权值越小,优先级越高,限制性就强,排序就排在Rete网络的靠前节点位置,实现Rete网络自动的进行调整,使得网络能够在该场景下达到最优性能。上述公式中,Freq(n)为变更频率权值,Filter(n)为过滤事实数权值,α,β均为归一化系数,且
Figure PCTCN2020098810-appb-000014
Figure PCTCN2020098810-appb-000015
μ 1为所有节点的条件变更频率权值的均值,σ 1为所有节点的条件变更频率权值的标准差,μ 2为所有节点过滤事实数权值的均值,σ 2为所有节点过滤事实数权值标准差。
参照图2,本申请一实施例的调整Rete网络结构的装置,包括:
获取模块1,用于获取包括当前时刻的指定时间段内,Rete网络内的数据变化率的变化趋势;
选择模块2,用于根据所述变化趋势选择与所述数据变化率的变化趋势相适应的指定判别器;
计算模块3,用于将所述Rete网络中的节点数据输入到所述指定判别器中,计算节点耗时数据;
调整模块4,用于根据所述节点耗时数据调整Rete网络结构。
上述数据变化率的变化趋势包括数据变化率持续增长或持续降低的单调性变化趋势,以及同时包括增长和降低的复杂变化趋势。根据不同的变化趋势,选择合适的判别器,以提高调整Rete网络结构的评价精准性,以免频繁变换Rete网络结构。比如数据变化率持续增长或持续降低的单调性变化趋势,选用可避开单调性变化趋势带来评价误差的阈值判别法对应的判别器。当同时包括增长和降低的复杂变化趋势,可选用无需计算网络调整耗时,实现更简单的标准差判别法对应的判别器。上述的节点耗时数据包括前后数据变化的节点节省耗时之差、节省耗时的标准差、节省的总耗时和调整Rete网络结构的耗时等数据中的一种或多种。本实施例在自适应Rete算法中加入判别器,通过判别器确定当前可进行调整Rete网络结构时,才启动自适应Rete算法调整Rete网络结构,否则不启动自适应Rete算法调整Rete网络结构,以避免网络结构频繁变更,导致规则引擎系统的性能下降。而且本申请存在两种并列的判别器,用于不同变化场景下的判断,使判断结论更精准。举例地,筛选出一批身高超过170cm,体重大于70kg的人,增加判别器的规则引擎,执行步骤包括:步骤一、将身高和体重这两个规则条件按照Rete算法生成节点网络,上述节点网络包含输入节点、输出节点以及两个条件节点,上述两个条件节点包括身高超过170cm以及体重大于70kg,节点网路结构按照顺序依次是输入节点->身高超过170cm->体重大于70kg->输出节点;步骤二、规则引擎使用上述节点网络对输入数据进行匹配筛选。如果规则引擎使用自适应Rete算法,则当输入数据中大多数人身高超过了170cm,但是体重不大于70kg而被过滤掉时,会调整节点网络,即调换两个条件节点的前后顺序,调整后的节点网络为:输入节点->体重大于70kg->身高超过170cm->输出节点。调整后的节点网络的优势在于体重的条件过滤了大多数人,匹配身高的时候数据就少很多,总体上匹配的次数就少了很多。但是如果输入的数据多数身高不大于170cm,但是体重都大于70kg,该算法又会恢复调整之前的状态。如果两种数据交替的输入,就会导致节点网络频繁调整;步骤三、使用步骤二中的筛选过程,产生相关的判断参数,以判断是否需要调整网络结构;如果判定需要调整网络结构则调整,否则不调整,此时称为完成一次节点网络的匹配调整。
进一步地,所述节点耗时数据包括节省耗时的标准差,所述计算模块3,包括:
第一计算单元,用于通过公式
Figure PCTCN2020098810-appb-000016
计算n个节点连续前后两次匹配Rete网络结构的节省耗时之差,其中,所述n个节点各自节省耗时C用矩阵表示为C=[C 1,C 2,C 3,...,C n],第k次匹配Rete网络结构时n个节点的节省耗时为
Figure PCTCN2020098810-appb-000017
第k+1次匹配Rete网络结构时n个节点的节省耗时为
Figure PCTCN2020098810-appb-000018
第二计算单元,用于根据n个节点连续两次匹配Rete网络结构的节省耗时之差,计算各节点分别对应的节省耗时之差Diff,
Figure PCTCN2020098810-appb-000019
第三计算单元,用于根据公式
Figure PCTCN2020098810-appb-000020
计算节省耗时的标准差。
本实施例中,标准差S可以反应出数据变化的大小,S越大,数据的变化范围越大。为了寻找一个合适的S作为判别标准,可以通过训练的得到,将前m次匹配作为训练过程,得到这m次匹配对应的m个S,并以
Figure PCTCN2020098810-appb-000021
计算m个S对应的平均值以作为所述判别标准。此方法无需计算网络调整耗时,实现简单,但是在数据变化率单调变化的场景中不适用,因为数据变化率单调变化会导致标准差s始终大于平均值或者始终小于平均值,使得每次判别的结果均相同,且失去了实际判决的意义。比如因为数据变化率单调变大会导致标准差s始终大于平均值,每次判别结论均为允许调整;数据变化率单调变小的状态跟上述数据变化率单调变大的状态相反,均无判别意义。
进一步地,所述调整模块4,包括:
得到单元,用于通过训练前m次Rete网络的匹配过程,得到Rete网络的判别标准;
第一判断单元,用于判断所述节省耗时的标准差是否大于所述判别标准;
第一允许单元,用于若所述节省耗时的标准差大于所述判别标准,则允许调整Rete网络,否则不允许调整。
进一步地,得到单元,包括:
分析子单元,用于分析前m次匹配Rete网络对应的训练过程,得到所述前m次匹配Rete网络分别对应的m个S,S=[S1,S2,...,Sm];
作为子单元,用于取所述m个S对应的平均值,或者中位数的绝对值作为所述判别标准。
参照图3至图6,图3为匹配前的tokens传递示例、图4为第k-2次匹配、图5为第k-1次匹配以及图6为第k次匹配的图表。假设匹配网络中现有节点a、b、c,每一次增删token的节省耗时为1,一次调整两个节点顺序的操作耗时为2。第k-2次匹配时:a节点的节省耗时为:C k-2(a)=12-6=6;b节点的节省耗时为:C k-2(b)=12-4=8;c节点的节省耗时为:C k-2(c)=12-7=5。第k-1次匹配时:a节点的节省耗时为:C k-1(a)=10-4=6;b节点的节省耗时为:C k-1(b)=10-3=7;c节点的节省耗时为:C k-1(c)=10-2=8。第k次匹配时:a节点的节省耗时为:C k(a)=18-5=13;b节点的节省耗时为:C k(b)=18-13=5;c节点的节省耗时为:C k(c)=18-11=7。在第k-2次和k-1次匹配中,各个节点的Diff为:Diff=[0,-1,3]。在第k-1次和k次匹配中,各个节点的Diff为:Diff=[7,-2,-1]。根据标准差判别法,可得第k-1次匹配的标准差
Figure PCTCN2020098810-appb-000022
根据标准差判别法,可得第k次匹配的标准差
Figure PCTCN2020098810-appb-000023
前两次匹配的标准差的均值为5.25,小于第k次匹配的标准差S值7.35,即
Figure PCTCN2020098810-appb-000024
因此,根据标准差判别准则,第k次匹配后允许调整。
进一步地,所述节点耗时数据包括节点节省的总耗时和调整网络的操作耗时,计算模块3,包括:
第四计算单元,用于通过公式
Figure PCTCN2020098810-appb-000025
计算各节点节省的总耗时,其中,D表示各节点节省的总耗时;
第五计算单元,用于通过公式Q=k*Cost计算调整网络的操作耗时,其中,Q表示调整网络的操作耗时,Cost表示调整两个节点顺序的耗时,k表示当前各节点顺序调整到期望顺序需要的次数。
本实施例中,调整模块4包括:
第二判断单元,用于判断所述节点节省的总耗时是否大于所述调整网络的操作耗时;
第二允许单元,用于若所述节点节省的总耗时大于所述调整网络的操作耗时,则允许调整Rete网络,否则不允许调整。
参照图3至图6,图3为匹配前的tokens传递示例、图4为第k-2次匹配、图5为第k-1次匹配以及图6为第k次匹配的图表。假设匹配网络中现有节点a、b、c,每一次增删token的节省耗时为1,一次调整两个节点顺序的操作耗时为2。本实施例中,根据阈值判别法,由第k次匹配和第k-1次匹配结果可知,需要调整顺序的节点数为2,因此,第k次节省的总耗时为D=(13-6)+(5-7)+(7-8),即D=4。根据限制性强的节点优先排列 的原则调整Rete网络,则需要将网络中节点b和节点c的顺序调换一次,即k=1,Cost=2,则调整网络的操作耗时为Q=1*2,即Q=2。因此,根据阈值判别准则,D>Q,第k次匹配后允许调整。本实施例需要计算网络调整耗时,虽然实现复杂但是判别更精准。因为调整网络结构的目的就是节省更多的耗时,所以将两个耗时相比较,调整方式是最直接的。
进一步地,所述调整模块4,包括:
第六计算单元,用于根据
Figure PCTCN2020098810-appb-000026
计算指定节点变更f(n)次的总耗时,即变更频率权值,其中,Freq(n)为所述指定节点之后第n个节点的变更频率权值,f(n)为指定节点的变更次数,Cost join为过滤一个事实的操作耗时,Cost token为增删一个事实的增删耗时,Fact retain(i)经i个节点过滤后的剩余事实数量;
第七计算单元,用于根据Filter(n)=Cost token*(Fact total-Fact retain(n)),计算增加指定节点过滤掉的事实数所需要的总耗时,即过滤事实数权值,其中,Filter(n)为所述指定节点之后第n个节点的过滤事实数权值,Fact retain(n)经n个节点过滤后的剩余事实数量,Fact total为进入网络节点的总事实数量;
第八计算单元,用于根据Weight(n)=α*Freq(n)-β*Filter(n)计算Rete网络中每个节点的优先权值,其中,α,β均为归一化系数,且
Figure PCTCN2020098810-appb-000027
μ 1为所有节点的条件变更频率权值的均值,σ 1为所有节点的条件变更频率权值的标准差,μ 2为所有节点过滤事实数权值的均值,σ 2为所有节点过滤事实数权值标准差;
调整单元,用于根据Rete网络中每个节点的优先权值,自动调整Rete网络。
本实施例中,为了使变更频率权值和过滤事实数权值两个不同数值具有可比性,可通过计算变更频率以及过滤事实数分别带来的耗时作为该两个数值对应的权值。指定节点变更f(n)次的总耗时,也即变更频率权值为:
Figure PCTCN2020098810-appb-000028
指定节点过滤事实节省的耗时为:增加指定节点过滤掉的事实数所需要的总耗时,也即过滤事实数权值为:Filter(n)=Cost token*(Fact total-Fact retain(n)),Filter(n)为所述指定节点之后第n个节点的过滤事实数权值,Fact retain(i)经i个节点过滤后的剩余事实数量,Fact total为进入网络节点的总事实数量。分析变更频率所带来的耗时,即条件变更所增加的耗时,Fact total为进入网络的总事实数,Fact retain(n)为n个节点join操作后剩余的事实数,其中已匹配的事实称为token,存放在join节点中,每一个可被操作的节点均称为join节点,join节点负责将与其相连的上一个节点的token数组与当前节点的token数组进行合并,并且根据条件进行匹配,匹配成功的tokens会被传递到下一个节点。Cost token为增删一次token的耗时,Cost join为一次join的操作耗时。因此,变更一次条件增加的耗时可以描述为:指 定节点经过join操作后存在Fact retain(n)个token,指定节点的删除耗时等于删除join节点中所有token的耗时和删除join节点的耗时相加,变更指定节点,会导致后继其他节点的变更。本实施例中,在计算出上述变更频率权值和过滤事实数权值之后,可再次通过预设的公式将这两者进行归一化处理,如通过Weight(n)=α*Freq(n)-β*Filter(n)进行计算,得到优选权值,按照以上公式计算出Rete网络中每个节点的优先权值,优先权值越小,优先级越高,限制性就强,排序就排在Rete网络的靠前节点位置,实现Rete网络自动的进行调整,使得网络能够在该场景下达到最优性能。上述公式中,Freq(n)为变更频率权值,Filter(n)为过滤事实数权值,α,β均为归一化系数,且
Figure PCTCN2020098810-appb-000029
Figure PCTCN2020098810-appb-000030
μ 1为所有节点的条件变更频率权值的均值,σ 1为所有节点的条件变更频率权值的标准差,μ 2为所有节点过滤事实数权值的均值,σ 2为所有节点过滤事实数权值标准差。
参照图7,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储调整Rete网络结构的过程需要的所有数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现调整Rete网络结构的方法。
上述处理器执行上述调整Rete网络结构的方法,包括:获取包括当前时刻的指定时间段内,Rete网络内的数据变化率的变化趋势;根据所述变化趋势选择与所述数据变化率的变化趋势相适应的指定判别器;将所述Rete网络中的节点数据输入到所述指定判别器中,计算节点耗时数据;根据所述节点耗时数据调整Rete网络结构。
上述计算机设备,通过在自适应Rete算法中加入判别器,当判别器判定当前可进行调整Rete网络结构,才启动自适应Rete算法调整Rete网络结构,否则不启动自适应Rete算法调整Rete网络结构,以避免Rete网络结构频繁变更,导致规则引擎系统的性能下降。
在一个实施例中,所述节点耗时数据包括节省耗时的标准差,上述处理器将所述Rete网络中的节点数据输入到所述指定判别器中,计算节点耗时数据的步骤,包括:通过公式
Figure PCTCN2020098810-appb-000031
计算n个节点连续前后两次匹配Rete网络结构的节省耗时之差,其中,所述n个节点各自节省耗时C用矩阵表示为C=[C 1,C 2,C 3,...,C n],第k次匹配Rete网络结构时n个节点的节省耗时为
Figure PCTCN2020098810-appb-000032
第k+1次匹配Rete网络结构时n个节点的节省耗时为
Figure PCTCN2020098810-appb-000033
根据n个节点连续两次匹配Rete网络结构的节省耗时之差,计算各节点分别对应的节省耗时之差Diff,
Figure PCTCN2020098810-appb-000034
根据公式
Figure PCTCN2020098810-appb-000035
计算节省耗时的标准差。
在一个实施例中,上述处理器根据所述节点耗时数据调整Rete网络结构的步骤,包括:通过训练前m次Rete网络的匹配过程,得到Rete网络的判别标准;判断所述节省耗时的标准差是否大于所述判别标准;若是,则允许调整Rete网络,否则不允许调整。
在一个实施例中,上述处理器通过训练前m次Rete网络的匹配过程,得到Rete网络的判别标准的步骤,包括:分析前m次匹配Rete网络对应的训练过程,得到所述前m次匹配Rete网络分别对应的m个S,S=[S1,S2,...,Sm];取所述m个S对应的平均值,或者中位数的绝对值作为所述判别标准。
在一个实施例中,所述节点耗时数据包括节点节省的总耗时和调整网络的操作耗时,上述处理器将所述Rete网络中的节点数据输入到所述指定判别器中,计算节点耗时数据的步骤,包括:通过公式
Figure PCTCN2020098810-appb-000036
计算各节点节省的总耗时,其中,D表示各节点节省的总耗时;通过公式Q=k*Cost计算调整网络的操作耗时,其中,Q表示调整网络的操作耗时,Cost表示调整两个节点顺序的耗时,k表示当前各节点顺序调整到期望顺序需要的次数。
在一个实施例中,上述处理器允许调整Rete网络的步骤之后,包括:根据
Figure PCTCN2020098810-appb-000037
计算指定节点变更f(n)次的总耗时,即变更频率权值,其中,Freq(n)为所述指定节点之后第n个节点的变更频率权值,f(n)为指定节点的变更次数,Cost join为过滤一个事实的操作耗时,Cost token为增删一个事实的增删耗时,Fact retain(i)经i个节点过滤后的剩余事实数量;根据Filter(n)=Cost token*(Fact total-Fact retain(n)),计算增加指定节点过滤掉的事实数所需要的总耗时,即过滤事实数权值,其中,Filter(n)为所述指定节点之后第n个节点的过滤事实数权值,Fact retain(n)经n个节点过滤后的剩余事实数量,Fact total为进入网络节点的总事实数量;根据Weight(n)=α*Freq(n)-β*Filter(n)计算Rete网络中每个节点的优先权值,其中,α,β均为归一化系数,且
Figure PCTCN2020098810-appb-000038
μ 1为所有节点的条件变更频率权值的均值,σ 1为所有节点的条件变更频率权值的标准差,μ 2为所有节点过滤事实数权值的均值,σ 2为所有节点过滤事实数权值标准差;根据Rete网络中每个节点的优先权值,自动调整Rete网络。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现调整Rete网络结构的方法,包括:获取包括当前时刻的指定时间段内,Rete网络内的数据变化率的变化趋势;根据所述变化趋势选择与所述数据变化率的变化趋势相适应的指定判别器;将所述Rete网络中的节点数据输入到所述指定判别器中,计算节点耗时数据;根据所述节点耗时数据调整Rete网络结构。
上述计算机可读存储介质,通过在自适应Rete算法中加入判别器,当判别器判定当前可进行调整Rete网络结构,才启动自适应Rete算法调整Rete网络结构,否则不启动自适应Rete算法调整Rete网络结构,以避免Rete网络结构频繁变更,导致规则引擎系统的性能下降。
在一个实施例中,所述节点耗时数据包括节省耗时的标准差,上述处理器将所述Rete网络中的节点数据输入到所述指定判别器中,计算节点耗时数据的步骤,包括:通过公式
Figure PCTCN2020098810-appb-000039
计算n个节点连续前后两次匹配Rete网络结构的节省耗时之差,其中,所述n个节点各自节省耗时C用矩阵表示为C=[C 1,C 2,C 3,...,C n],第k次匹配Rete网络结构时n个节点的节省耗时为
Figure PCTCN2020098810-appb-000040
第k+1次匹配Rete网络结构时n个节点的节省耗时为
Figure PCTCN2020098810-appb-000041
根据n个节点连续两次匹配Rete网络结构的节省耗时之差,计算各节点分别对应的节省耗时之差Diff,
Figure PCTCN2020098810-appb-000042
根据公式
Figure PCTCN2020098810-appb-000043
计算节省耗时的标准差。
在一个实施例中,上述处理器根据所述节点耗时数据判断是否需要调整Rete网络结构的步骤,包括:通过训练前m次Rete网络的匹配过程,得到Rete网络的判别标准;判断所述节省耗时的标准差是否大于所述判别标准;若是,则允许调整Rete网络,否则不允许调整。
在一个实施例中,上述处理器通过训练前m次Rete网络的匹配过程,得到Rete网络的判别标准的步骤,包括:分析前m次匹配Rete网络对应的训练过程,得到所述前m次匹配Rete网络分别对应的m个S,S=[S1,S2,...,Sm];取所述m个S对应的平均值,或者中位数的绝对值作为所述判别标准。
在一个实施例中,所述节点耗时数据包括节点节省的总耗时和调整网络的操作耗时,上述处理器将所述Rete网络中的节点数据输入到所述指定判别器中,计算节点耗时数据的步骤,包括:通过公式
Figure PCTCN2020098810-appb-000044
计算各节点节省的总耗时,其中,D表示各节点节省的总耗时;通过公式Q=k*Cost计算调整网络的操作耗时,其中,Q表示调整网络的操作耗时,Cost表示调整两个节点顺序的耗时,k表示当前各节点顺序调整到期望顺序需要的次数。
在一个实施例中,上述处理器调整Rete网络结构的步骤,包括:根据
Figure PCTCN2020098810-appb-000045
计算指定节点变更f(n)次的总耗时,即变更频率权值,其中,Freq(n)为所述指定节点之后第n个节点的变更频率权值,f(n)为指定节点的变更次数,Cost join为过滤一个事实的操作耗时,Cost token为增删一个事实的增删耗时,Fact retain(i)经i个节点过滤后的剩余事实数量;根据Filter(n)=Cost token*(Fact total-Fact retain(n)),计算增加指定节点过滤掉的事实数所需要的总耗时,即过滤事实数权值,其中,Filter(n)为所述指定节点之后第n个节点的过滤事实数权值,Fact retain(n)经n个节点过滤后的剩余事实数量,Fact total为进入网络节点的总事实数量;根据Weight(n)=α*Freq(n)-β*Filter(n)计算Rete网络中每个节点的优先权值,其中,α,β均为归一化系数,且
Figure PCTCN2020098810-appb-000046
μ 1为所有节点的条件变更频率权值的均值,σ 1为所有节点的条件变更频率权值的标准差,μ 2为所有节点过滤事实数权值的均值,σ 2为所有节点过滤事实数权值标准差;根据Rete网络中每个节点的优先权值,自动调整Rete网络。
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,所述计算机可读存储介质可以是非易失性,也可以是易失性,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (20)

  1. 一种调整Rete网络结构的方法,其中,包括:
    获取包括当前时刻的指定时间段内,Rete网络内的数据变化率的变化趋势;
    根据所述变化趋势选择与所述数据变化率的变化趋势相适应的指定判别器;
    将所述Rete网络中的节点数据输入到所述指定判别器中,计算节点耗时数据;
    根据所述节点耗时数据调整Rete网络结构。
  2. 根据权利要求1所述的调整Rete网络结构的方法,其中,所述节点耗时数据包括节省耗时的标准差,所述将所述Rete网络中的节点数据输入到所述指定判别器中,计算节点耗时数据的步骤,包括:
    通过公式
    Figure PCTCN2020098810-appb-100001
    计算n个节点连续前后两次匹配Rete网络结构的节省耗时之差,其中,所述n个节点各自节省耗时C用矩阵表示为C=[C 1,C 2,C 3,...,C n],第k次匹配Rete网络结构时n个节点的节省耗时为
    Figure PCTCN2020098810-appb-100002
    第k+1次匹配Rete网络结构时n个节点的节省耗时为
    Figure PCTCN2020098810-appb-100003
    根据n个节点连续两次匹配Rete网络结构的节省耗时之差,计算各节点分别对应的节省耗时之差Diff,
    Figure PCTCN2020098810-appb-100004
    根据公式
    Figure PCTCN2020098810-appb-100005
    计算节省耗时的标准差。
  3. 根据权利要求2所述的调整Rete网络结构的方法,其中,所述根据所述节点耗时数据调整Rete网络结构的步骤,包括:
    通过训练前m次Rete网络的匹配过程,得到Rete网络的判别标准;
    判断所述节省耗时的标准差是否大于所述判别标准;
    若是,则允许调整Rete网络,否则不允许调整。
  4. 根据权利要求3所述的调整Rete网络结构的方法,其中,所述通过训练前m次Rete网络的匹配过程,得到Rete网络的判别标准的步骤,包括:
    分析前m次匹配Rete网络对应的训练过程,得到所述前m次匹配Rete网络分别对应的m个S,S=[S1,S2,...,Sm];
    取所述m个S对应的平均值,或者中位数的绝对值作为所述判别标准。
  5. 根据权利要求3所述的调整Rete网络结构的方法,其中,所述允许调整Rete网络的步骤之后,包括:
    根据
    Figure PCTCN2020098810-appb-100006
    计算指定节点变更f(n)次的总耗时,即变更频率权值,其中,Freq(n)为所述指定节点之后第n个节点的变更频率权值,f(n)为指定节点的变更次数,Cost join为过滤一个事实的操作耗时,Cost token为增删一个事实的增删耗时,Fact retain(i)经i个节点过滤后的剩余事实数量;
    根据Filter(n)=Cost token*(Fact total-Fact retain(n)),计算增加指定节点过滤掉的事实数所需要的总耗时,即过滤事实数权值,其中,Filter(n)为所述指定节点之后第n个节点的过滤事实数权值,Fact retain(n)经n个节点过滤后的剩余事实数量,Fact total为进入网络节点的总事实数量;
    根据Weight(n)=α*Freq(n)-β*Filter(n)计算Rete网络中每个节点的优先权值, 其中,α,β均为归一化系数,且
    Figure PCTCN2020098810-appb-100007
    μ 1为所有节点的条件变更频率权值的均值,σ 1为所有节点的条件变更频率权值的标准差,μ 2为所有节点过滤事实数权值的均值,σ 2为所有节点过滤事实数权值标准差;
    根据Rete网络中每个节点的优先权值,自动调整Rete网络。
  6. 根据权利要求1所述的调整Rete网络结构的方法,其中,所述节点耗时数据包括节点节省的总耗时和调整网络的操作耗时,所述将所述Rete网络中的节点数据输入到所述指定判别器中,计算节点耗时数据的步骤,包括:
    通过公式
    Figure PCTCN2020098810-appb-100008
    计算各节点节省的总耗时,其中,D表示各节点节省的总耗时;
    通过公式Q=k*Cost计算调整网络的操作耗时,其中,Q表示调整网络的操作耗时,Cost表示调整两个节点顺序的耗时,k表示当前各节点顺序调整到期望顺序需要的次数。
  7. 一种调整Rete网络结构的装置,其中,包括:
    获取模块,用于获取包括当前时刻的指定时间段内,Rete网络内的数据变化率的变化趋势;
    选择模块,用于根据所述变化趋势选择与所述数据变化率的变化趋势相适应的指定判别器;
    计算模块,用于将所述Rete网络中的节点数据输入到所述指定判别器中,计算节点耗时数据;
    调整模块,用于根据所述节点耗时数据调整Rete网络结构。
  8. 根据权利要求7所述的调整Rete网络结构的装置,其中,所述节点耗时数据包括节省耗时的标准差,所述计算模块包括:
    第一计算单元,用于通过公式
    Figure PCTCN2020098810-appb-100009
    计算n个节点连续前后两次匹配Rete网络结构的节省耗时之差,其中,所述n个节点各自节省耗时C用矩阵表示为C=[C 1,C 2,C 3,...,C n],第k次匹配Rete网络结构时n个节点的节省耗时为
    Figure PCTCN2020098810-appb-100010
    第k+1次匹配Rete网络结构时n个节点的节省耗时为
    Figure PCTCN2020098810-appb-100011
    第二计算单元,用于根据n个节点连续两次匹配Rete网络结构的节省耗时之差,计算各节点分别对应的节省耗时之差Diff,
    Figure PCTCN2020098810-appb-100012
    第三计算单元,用于根据公式
    Figure PCTCN2020098810-appb-100013
    计算节省耗时的标准差。
  9. 一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其中,所述处理器执行所述计算机程序时实现调整Rete网络结构的方法,包括:
    获取包括当前时刻的指定时间段内,Rete网络内的数据变化率的变化趋势;
    根据所述变化趋势选择与所述数据变化率的变化趋势相适应的指定判别器;
    将所述Rete网络中的节点数据输入到所述指定判别器中,计算节点耗时数据;
    根据所述节点耗时数据调整Rete网络结构。
  10. 根据权利要求9所述的计算机设备,其中,所述节点耗时数据包括节省耗时的标准差,所述将所述Rete网络中的节点数据输入到所述指定判别器中,计算节点耗时数据的步骤,包括:
    通过公式
    Figure PCTCN2020098810-appb-100014
    计算n个节点连续前后两次匹配Rete网络结构的节省耗时之差,其中,所述n个节点各自节省耗时C用矩阵表示为C=[C 1,C 2,C 3,...,C n],第k次匹配Rete网络结构时n个节点的节省耗时为
    Figure PCTCN2020098810-appb-100015
    第k+1次匹配Rete网络结构时n个节点的节省耗时为
    Figure PCTCN2020098810-appb-100016
    根据n个节点连续两次匹配Rete网络结构的节省耗时之差,计算各节点分别对应的节省耗时之差Diff,
    Figure PCTCN2020098810-appb-100017
    根据公式
    Figure PCTCN2020098810-appb-100018
    计算节省耗时的标准差。
  11. 根据权利要求10所述的计算机设备,其中,所述根据所述节点耗时数据调整Rete网络结构的步骤,包括:
    通过训练前m次Rete网络的匹配过程,得到Rete网络的判别标准;
    判断所述节省耗时的标准差是否大于所述判别标准;
    若是,则允许调整Rete网络,否则不允许调整。
  12. 根据权利要求11所述的计算机设备,其中,所述通过训练前m次Rete网络的匹配过程,得到Rete网络的判别标准的步骤,包括:
    分析前m次匹配Rete网络对应的训练过程,得到所述前m次匹配Rete网络分别对应的m个S,S=[S1,S2,...,Sm];
    取所述m个S对应的平均值,或者中位数的绝对值作为所述判别标准。
  13. 根据权利要求11所述的计算机设备,其中,所述允许调整Rete网络的步骤之后,包括:
    根据
    Figure PCTCN2020098810-appb-100019
    计算指定节点变更f(n)次的总耗时,即变更频率权值,其中,Freq(n)为所述指定节点之后第n个节点的变更频率权值,f(n)为指定节点的变更次数,Cost join为过滤一个事实的操作耗时,Cost token为增删一个事实的增删耗时,Fact retain(i)经i个节点过滤后的剩余事实数量;
    根据Filter(n)=Cost token*(Fact total-Fact retain(n)),计算增加指定节点过滤掉的事实数所需要的总耗时,即过滤事实数权值,其中,Filter(n)为所述指定节点之后第n个节点的过滤事实数权值,Fact retain(n)经n个节点过滤后的剩余事实数量,Fact total为进入网络节点的总事实数量;
    根据Weight(n)=α*Freq(n)-β*Filter(n)计算Rete网络中每个节点的优先权值,其中,α,β均为归一化系数,且
    Figure PCTCN2020098810-appb-100020
    μ 1为所有节点的条件变更频率权值的均值,σ 1为所有节点的条件变更频率权值的标准差,μ 2为所有节点过滤事实数权值的均值,σ 2为所有节点过滤事实数权值标准差;
    根据Rete网络中每个节点的优先权值,自动调整Rete网络。
  14. 根据权利要求9所述的计算机设备,其中,所述节点耗时数据包括节点节省的总耗时和调整网络的操作耗时,所述将所述Rete网络中的节点数据输入到所述指定判别器中,计算节点耗时数据的步骤,包括:
    通过公式
    Figure PCTCN2020098810-appb-100021
    计算各节点节省的总耗时,其中,D表示各节点节省的总耗时;
    通过公式Q=k*Cost计算调整网络的操作耗时,其中,Q表示调整网络的操作耗时,Cost表示调整两个节点顺序的耗时,k表示当前各节点顺序调整到期望顺序需要的次数。
  15. 一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现调整Rete网络结构的方法,包括:
    获取包括当前时刻的指定时间段内,Rete网络内的数据变化率的变化趋势;
    根据所述变化趋势选择与所述数据变化率的变化趋势相适应的指定判别器;
    将所述Rete网络中的节点数据输入到所述指定判别器中,计算节点耗时数据;
    根据所述节点耗时数据调整Rete网络结构。
  16. 根据权利要求15所述的计算机可读存储介质,其中,所述节点耗时数据包括节省耗时的标准差,所述将所述Rete网络中的节点数据输入到所述指定判别器中,计算节点耗时数据的步骤,包括:
    通过公式
    Figure PCTCN2020098810-appb-100022
    计算n个节点连续前后两次匹配Rete网络结构的节省耗时之差,其中,所述n个节点各自节省耗时C用矩阵表示为C=[C 1,C 2,C 3,...,C n],第k次匹配Rete网络结构时n个节点的节省耗时为
    Figure PCTCN2020098810-appb-100023
    第k+1次匹配Rete网络结构时n个节点的节省耗时为
    Figure PCTCN2020098810-appb-100024
    根据n个节点连续两次匹配Rete网络结构的节省耗时之差,计算各节点分别对应的节省耗时之差Diff,
    Figure PCTCN2020098810-appb-100025
    根据公式
    Figure PCTCN2020098810-appb-100026
    计算节省耗时的标准差。
  17. 根据权利要求16所述的计算机可读存储介质,其中,所述根据所述节点耗时数据调整Rete网络结构的步骤,包括:
    通过训练前m次Rete网络的匹配过程,得到Rete网络的判别标准;
    判断所述节省耗时的标准差是否大于所述判别标准;
    若是,则允许调整Rete网络,否则不允许调整。
  18. 根据权利要求17所述的计算机可读存储介质,其中,所述通过训练前m次Rete网络的匹配过程,得到Rete网络的判别标准的步骤,包括:
    分析前m次匹配Rete网络对应的训练过程,得到所述前m次匹配Rete网络分别对应的m个S,S=[S1,S2,...,Sm];
    取所述m个S对应的平均值,或者中位数的绝对值作为所述判别标准。
  19. 根据权利要求17所述的计算机可读存储介质,其中,所述允许调整Rete网络的步骤之后,包括:
    根据
    Figure PCTCN2020098810-appb-100027
    计算指定节点变更f(n)次的总耗时,即变更频率权值,其中,Freq(n)为所述指定节点之后第n个节点的变更频率权值,f(n)为指定节点的变更次数,Cost join为过滤一个事实的操作耗时,Cost token为增删一个事实的增删耗时,Fact retain(i)经i个节点过滤后的剩余事实数量;
    根据Filter(n)=Cost token*(Fact total-Fact retain(n)),计算增加指定节点过滤掉的事实数所需要的总耗时,即过滤事实数权值,其中,Filter(n)为所述指定节点之后第n个 节点的过滤事实数权值,Fact retain(n)经n个节点过滤后的剩余事实数量,Fact total为进入网络节点的总事实数量;
    根据Weight(n)=α*Freq(n)-β*Filter(n)计算Rete网络中每个节点的优先权值,其中,α,β均为归一化系数,且
    Figure PCTCN2020098810-appb-100028
    μ 1为所有节点的条件变更频率权值的均值,σ 1为所有节点的条件变更频率权值的标准差,μ 2为所有节点过滤事实数权值的均值,σ 2为所有节点过滤事实数权值标准差;
    根据Rete网络中每个节点的优先权值,自动调整Rete网络。
  20. 根据权利要求15所述的计算机可读存储介质,其中,所述节点耗时数据包括节点节省的总耗时和调整网络的操作耗时,所述将所述Rete网络中的节点数据输入到所述指定判别器中,计算节点耗时数据的步骤,包括:
    通过公式
    Figure PCTCN2020098810-appb-100029
    计算各节点节省的总耗时,其中,D表示各节点节省的总耗时;
    通过公式Q=k*Cost计算调整网络的操作耗时,其中,Q表示调整网络的操作耗时,Cost表示调整两个节点顺序的耗时,k表示当前各节点顺序调整到期望顺序需要的次数。
PCT/CN2020/098810 2020-05-14 2020-06-29 调整Rete网络结构的方法、装置和计算机设备 WO2021139104A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010408592.6A CN111738444B (zh) 2020-05-14 2020-05-14 调整Rete网络结构的方法、装置和计算机设备
CN202010408592.6 2020-05-14

Publications (1)

Publication Number Publication Date
WO2021139104A1 true WO2021139104A1 (zh) 2021-07-15

Family

ID=72647270

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/098810 WO2021139104A1 (zh) 2020-05-14 2020-06-29 调整Rete网络结构的方法、装置和计算机设备

Country Status (2)

Country Link
CN (1) CN111738444B (zh)
WO (1) WO2021139104A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140195473A1 (en) * 2013-01-08 2014-07-10 International Business Machines Corporation Production rule engine
CN106127306A (zh) * 2016-06-17 2016-11-16 北京理工大学 一种高共享性Rete网络构建方法
CN110135586A (zh) * 2019-04-16 2019-08-16 平安科技(深圳)有限公司 Rete网络的构建方法、装置、计算机设备和存储介质
CN110175675A (zh) * 2019-04-22 2019-08-27 平安科技(深圳)有限公司 自动调整rete网络的方法、装置、计算机设备和存储介质
CN110175676A (zh) * 2019-04-28 2019-08-27 中国科学院软件研究所 一种面向内存受限环境的高性能规则匹配方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040210630A1 (en) * 2003-04-17 2004-10-21 Microsoft Corporation Systems and methods for discovering, acquiring and maintaining nodes in a logical network
US10831733B2 (en) * 2017-12-22 2020-11-10 International Business Machines Corporation Interactive adjustment of decision rules

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140195473A1 (en) * 2013-01-08 2014-07-10 International Business Machines Corporation Production rule engine
CN106127306A (zh) * 2016-06-17 2016-11-16 北京理工大学 一种高共享性Rete网络构建方法
CN110135586A (zh) * 2019-04-16 2019-08-16 平安科技(深圳)有限公司 Rete网络的构建方法、装置、计算机设备和存储介质
CN110175675A (zh) * 2019-04-22 2019-08-27 平安科技(深圳)有限公司 自动调整rete网络的方法、装置、计算机设备和存储介质
CN110175676A (zh) * 2019-04-28 2019-08-27 中国科学院软件研究所 一种面向内存受限环境的高性能规则匹配方法

Also Published As

Publication number Publication date
CN111738444A (zh) 2020-10-02
CN111738444B (zh) 2023-08-18

Similar Documents

Publication Publication Date Title
WO2021042843A1 (zh) 告警信息的决策方法、装置、计算机设备及存储介质
Rosenman et al. Combining observational and experimental datasets using shrinkage estimators
TWI543102B (zh) 異因分析與校正方法與系統
WO2021258992A1 (zh) 基于大数据的用户行为监测方法、装置、设备及介质
JP2021533474A (ja) ノード分類方法、モデル訓練方法並びに、その装置、機器及びコンピュータプログラム
CN110866546B (zh) 一种共识节点的评估方法及装置
Xia et al. A neuro-fuzzy model for function point calibration
CN110533489B (zh) 应用于模型训练的样本获取方法及装置、设备、存储介质
US10430536B1 (en) Method and apparatus for yield calculation using statistical timing data that accounts for path and stage delay correlation
CN114781272A (zh) 碳排放量预测方法、装置、设备及存储介质
Römisch et al. Stability of ε-approximate solutions to convex stochastic programs
WO2020211254A1 (zh) Rete网络的构建方法、装置、计算机设备和存储介质
CN114861224B (zh) 基于风险和ucon访问控制模型的医疗数据系统
CN110442942A (zh) 一种基于贝叶斯混合的多层次系统可靠性分析方法
Jalal et al. Using Monte Carlo normal distributions to evaluate structural models with nonnormal data
WO2020215574A1 (zh) 自动调整rete网络的方法、装置、计算机设备和存储介质
WO2021139104A1 (zh) 调整Rete网络结构的方法、装置和计算机设备
CN111275059B (zh) 一种图像处理方法、装置和计算机可读存储介质
WO2023221592A9 (zh) 模型协同训练方法及相关装置
Zhang et al. Fast likelihood‐based inference for latent count models using the saddlepoint approximation
CN111859238A (zh) 基于模型的预测数据变化频率的方法、装置和计算机设备
CN116821169A (zh) 金融数据的处理方法、装置、计算机设备和存储介质
CN113269247B (zh) 投诉预警模型的训练方法、装置、计算机设备及存储介质
Zou et al. FRLN: Federated Residual Ladder Network for Data-Protected QoS Prediction
TWI725543B (zh) 預測造成系統異常之稀有事件的方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20912534

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20912534

Country of ref document: EP

Kind code of ref document: A1