一种对DUCG进行分层递归推理的高效方法与流程

文档序号:15616523发布日期:2018-10-09 21:31阅读:367来源:国知局

本发明涉及智能信息处理技术,是对已授权中国发明专利《一种处理不确定因果关系类信息的智能系统的构造方法》(专利号:zl200680055266.x)、美国发明专利《methodforconstructinganinlligentsystemprocessinguncertaincausalrelationshipinformation》(专利号:us8,255,353b2)、中国发明专利《一种构造立体ducg智能系统用于动态故障诊断的方法》(专利号:zl2013107185964)、中国发明专利《一种基于动态不确定因果图的启发式检测系统异常原因的方法》(专利号:zl2016102820521)和待审批中国发明专利《一种扩展的处理不确定因果关系类信息的智能系统的构造方法》(申请号:201710967729.x)中所记载的技术方案的进一步扩展。使用本发明提出的技术方案,通过计算机处理,可显著提升动态不确定因果图ducg(dynamicuncertaincausalitygraph)智能系统的推理效率。



背景技术:

如上述专利说明书所记载,工业系统、社会系统和生物系统(简称对象系统)中存在大量导致系统异常的原因事件,例如线圈短路、泵故障停转、零部件失效、子系统失灵、传导通路阻塞、异物进入、某组织或机体发生变异、坏死、被污染、感染、伤害或自然失效等,称为根原因事件变量,在动态不确定因果图ducg中可用bk或bxk表示,k为事件变量标号、bkj或bxkj为变量bk或bxk的j状态。bk、bkj、bxk、bxkj可分别用符号表示,bk和bxk的区别在于bk为根原因变量,没有输入,而bxk有输入,可受其他因素影响,bxk是受影响后的bk或代表某一组bk的集成。通常j=0表示bk或bxk处于正常状态;j=1、2、3...表示bk或bxk处于各种有区别的异常状态。

在ducg中,如果图形符号中只有一个数字,该数字代表变量标号,且变量状态未知。如果符号中有两个数字,第一个数字代表变量标号,第二个数字代表变量状态。为方便起见,kj之间可用逗号隔开(下同)。

bk和bxk的状态多数情况下不能直接检测,或难以直接检测,是ducg智能系统需要推断其是否处于异常状态的变量。

此外,系统中还存在大量与bk或bxk有确定或不确定因果关系的变量,如温度、压力、流量、速度、频率、开关状态、各种化验或物理试验结果、调查结果、影像学结果、感觉、症状、体征、所处地域、时间、环境、季节、宗教、肤色、经历、年龄、性别、血缘关系、嗜好、性格、居住条件、工作条件等,称为结果变量,可用xn表示,xnk为xn的k状态,k=0、1、2、...。通常k=0表示xn处于正常状态,k≠0表示xn处于标号为k的异常状态。x变量有至少一个输入(原因),可以有或没有输出(结果)。xn和xnk可分别用符号表示。

ducg中还定义了如下变量:

逻辑门变量,可用gi表示,至少有两个输入变量和一个输出变量。gij表示gi的j状态。gi用以表达输入变量各种所关注状态的逻辑组合,这些逻辑组合用逻辑门说明表lgsi说明。例如g1用lgs1说明:g1,1=b3,1x1,1,g1,2=b3,1x1,2,g1,0=其它情况(剩余状态),等等。gijgij’=0(空集,其中j≠j’),也就是说,g的不同状态互斥。gi和gij可分别用符号表示。

记为sg的特殊g变量,可用符号表示,其状态用表示。sg与g的区别在于:sgk的输入包含且只包含bk,再加上若干x变量。sg的输入变量的状态组合彼此不要求互斥,而且除0状态外,按照状态序号高低确定优先适用等级,观测到证据后,每次只有一个优先匹配状态为真。

记为rg的反向g变量,可用符号表示,其状态用表示。rg与g的区别在于:其输出变量可用有向弧或→连接,指向输出变量。输出变量的有不同意义的状态组合构成rg的逻辑表达式。通常rg的输出变量状态在观测到证据后为已知,则rgi的某对应状态rgij为已知,被作为证据纳入推理计算,其输出变量不再向rg展开。

记为sx的特异性x变量,可用符号表示,其状态由表示。sx与x的区别在于:sxi的异常状态唯一对应某个bk或bxk或xn的某个状态,当sxij(j≠0)被观测到时,bk或bxk或xn的对应状态必然为真,无须推理计算。

缺省原因变量,可用d表示,是对应的x变量的原因变量之一。例如d4是x4的缺省原因变量。pr{dn}≡1。dn可用符号表示。

还有一些其它变量,在此不一一列举。

上述变量可称为节点,变量本身及其各状态的物理意义可以根据所描述内容定义。当其为直接原因变量时,称为父变量,可用v统一表达,例如v∈{b,x,bx,d,g}等,下标不变。例如v2=x2,v3,2=b3,2,等等。直接结果变量为子变量。

hkj∈sh为待求事件,sh为待求事件hkj的集合。例如h2,1=b2,1,h3,2=bx3,2,h4,1=b4,1x3,2等。如果当前只有这三个待求事件,则sh={h2,1,h3,2,h4,1}={b2,1,bx3,2,b4,1x3,2}。

变量的一个状态就是一个事件。例如xnk、bkj、bxkj、gij、hkj或vij等都是事件。

在ducg中,作用变量fn;i表达父变量vi与标号为n的子变量(例如xn、bxn、sxn或rgn)之间的因果关系矩阵,可用有向弧→表示,从父变量指向子变量,矩阵中的元素称为作用事件fnk;ij,表达父事件vij与标号为n的子事件(例如xnk、bxnk、sxnk或rgnk)之间的因果关系,fnk;i表达父变量vi与标号为nk的子事件之间的因果关系(行向量),fn;ij表达父事件vij与标号为n的子变量之间的因果关系(列向量)。fn;i表达父变量vi与标号为n的子变量之间的因果关系(矩阵)。fnk;ij≡(rn;i/rn)ank;ij。其中rn;i>0为父变量vi与标号为n的子变量之间的因果关系强度,rn≡∑irn;i,ank;ij为vij导致标号为nk的子事件发生这一随机事件,ank;ij≡pr{ank;ij},满足fnk;ij≡pr{fnk;ij}≡(rn;i/rn)ank;ij。fnk;ij是vij对标号为nk的子事件的权重概率的贡献值,满足fnk;ij、fnk;ij、ank;ij、ank;ij分别是矩阵fn;i、fn;i、an;i、an;i的元素。vij=pr{vij},vij和vij分别是事件向量vi和参数向量vi的元素。当原因变量为di时,fnk;ij≡fnk;id,此时j=d。其它因果关系变量的表达类似。

fnk;ij可以是条件作用事件,用虚线有向弧表示。条件作用事件表达其父事件vij与标号为nk的子事件之间的条件作用关系,即根据条件事件znk;ij是否满足来判定fnk;ij是否成立。例如znk;ij=x1,2,当x1,2为真时,znk;ij满足、fnk;ij成立;当x1,2非真时,znk;ij不满足、fnk;ij不成立。当同一对父子变量之间的条件因果作用关系成立的条件事件相同时,该条件事件统一用zn;i来表示,例如zn;i=x1,2,当x1,2为真时,zn;i满足、fn;i成立、成为→;当x1,2非真时,zn;i不满足、fn;i不成立、被删除。

上述变量及其状态也可以选择用其它图形或符号表示。总之,ducg采用一套图形符号来表达人们关于对象系统的确定或不确定的因果关系知识,这些知识包含节点之间的逻辑关系和表达不确定性的参数,统称为ducg知识库,如图1所示。

所谓推理,就是人们基于知识库,根据已知证据e来推断系统异常的原因bkj或bxkj(j≠0),从而及时采取有效措施,使对象系统恢复正常。e通常由至少一个x变量的已知状态xnk构成,例如e=x1,2x2,3x3,1x4,0x5,0。一般地,

ducg智能推理也可理解为求解pr{hkj|e},hkj∈sh。

为方便起见,以下将全集记为1、空集记为0。

当收到证据e后,可采用下述规则对ducg进行化简:

规则1:如果e显示znk;ij或zn;i不满足,将fnk;ij或fn;i从ducg中删除,当e显示znk;ij或zn;i已经满足,虚线的fnk;ij或fn;i成为实线的fnk;ij或fn;i。

规则2:如果e显示vij(v∈{b,x})为真,但vij却不是xn或bxn的父事件,将fn;i从ducg中删除。

规则3:如果e显示xnk为真,但xnk不可能被vi(v∈{b,x,bx,g,d})的任何状态引起,将fn;i从ducg中删除,除非xnk是待求变量的下游变量,且它们之间没有已知证据阻断。

规则4:如果e显示{b,x}类型节点状态未知且无输出有向弧,将该节点及其输入有向弧从ducg中删除。

规则5:如果e显示xn0为真,且xn0与异常证据e’无任何连通关系,将xn0从ducg中删除,除非xn0是待求b或bx变量的下游(结果)变量,且中间没有任何状态已知变量阻断。

规则6:如果e显示一组状态未知节点除非通过xn0,否则不与xnk(k≠0)相连,将这组状态未知节点及与之相连的有向弧和d节点从ducg中删除。

规则7:因任何原因导致gi没有输出,将gi及其输入有向弧从ducg中删除;当gi没有输入,将gi及其输出有向弧从ducg中删除。

规则8:当有向弧没有父节点或没有子节点,将这条有向弧从ducg中删除。

规则9:当存在一组节点和有向弧与e中涉及的节点无连通关系,将这组节点和有向弧从ducg中删除。

规则10:如果e显示异常状态xnk为真,但xnk因任何原因没有输入,对xnk增加一个虚拟事件dn作为其输入,在从dn到xnk的有向弧中,ank;nd=1且ank’;nd=0,k’≠k,rn;d可以为任何值。dn可用符号表示。

规则11:如果e显示存在一组状态正常的x类型事件xn0∈si(下标0代表正常状态),它们仅与状态未知变量相连,这些状态未知变量被xn0∈si阻断而不与其它状态已知变量相连,且不包含已确定的假设事件hkj,则将这组状态未知变量和xn0∈si删除,但当xn是被关注的假设事件hkj的结果变量且中间无已知证据事件阻断时,xn0不被删除。

规则12:上述规则可以按照任何顺序单独使用、联合使用、重复使用。

还有其它一些规则,在此不一一列举。

根据化简后的ducg图,可进一步假定其中某个b变量成立时,其他b变量均不成立,从而将化简图分解为各个子化简图,简称子图,并按照上述化简规则进一步化简。有些子图在化简后,b或bx变量缺乏下游异常证据,则该子图被删掉。剩下的子图中的b或bx变量的异常状态构成系统异常的可能原因事件集合sh。即通常sh由bkj或bxkj(k≠0)构成。对hkj∈sh,求hkj=bkj或hkj=bxkj(k≠0)的验后概率:ζk=pr{e|子图k}。进而可以求出归一化排序概率:根据人们即可知道系统异常的可能原因和排序,从而采取正确的应对措施,使系统尽快恢复正常。这里的主要计算难度在于计算ζk=pr{e|子图k}。子图k也可以包含多个b变量。

通常,在一个ducg化简图或子图中,需要对其按照下述公式展开:

其中pr{ank;ij}=ank;ij,是vij导致xnk发生的概率,rn;i是vi与xn之间的因果关系强度,xn也泛指sxn。

时,再用上述公式或逻辑门表达式继续展开,直到v∈{b,d}。在展开过程中,如果遇到逻辑循环,用解环规则:一个事件不能同时既是原因,又是结果。也就是说当结果成为原因时,展开终止(该展开项为0)。这样就能获得一个关于xnk的仅包含{a,b,d}事件及{a,r}参数的积之和的逻辑表达式。根据(1)和多个xnk相乘后,通过事件运算(包括吸收,互斥,参数合并等,参见上述专利和有关文献),得到一个{a,r}参数和{a,b,d}事件构成的积之和的表达式。将{a,b,d}事件概率带入(其中pr{di}≡1),即可算得ζk=pr{e|子图k}。但展开过程会出现组合爆炸,是一个np-hard计算问题,会导致计算量呈指数增长。上述问题以及类似的其它问题均可归结为在某ducg图上计算证据e的概率pr{e}的计算效率问题。其中,当ducg图为立体ducg时[3],不同时间片ti和ti’之间存在联续的同一变量的相同状态,用无向弧——连接,代表相连的事件等价。

本发明部分既有技术参考文献:

[1]中国发明专利:“一种处理不确定因果关系类信息的智能系统的构造方法”,专利号:zl200680055266.x;授权日期:2010年4月14日;权利人:北京清睿智能科技有限公司;发明人:张勤、张湛。

[2]美国发明专利:“methodforconstructinganintelligentsystemprocessinguncertaincausalrelationshipinformation”;专利号:us8255353b2;授权日期:2012年8月28日;权利人:北京清睿智能科技有限公司;发明人:张勤、张湛。

[3]中国发明专利:“一种构造立体ducg智能系统用于动态故障诊断的方法”;专利号:zl201310718596.4;授权日期:2015年4月15日;权利人:北京清能智能科技有限公司;发明人:张勤、董春玲。

[4]中国发明专利:“一种基于动态不确定因果图的启发式检测系统异常原因的方法”;专利号:zl201610282052.1;授权日期:2015年2月;权利人:北京清睿智能科技有限公司;发明人:张勤。

[5]中国发明专利:“一种扩展的处理不确定因果关系类信息的智能系统的构造方法”,申请号:201710967729.x;申请日:2017年10月27日;权利人:北京清能智能科技有限公司;发明人:张勤、张湛。

[6]q.zhang.“dynamicuncertaincausalitygraphforknowledgerepresentationandreasoning:discretedagcases”,journalofcomputerscienceandtechnology,vol.27,no.1,pp.1-23,2012.

[7]q.zhang,c.dong,y.cuiandz.yang.“dynamicuncertaincausalitygraphforknowledgerepresentationandprobabilisticreasoning:statisticsbase,matrixandfaultdiagnosis”,ieeetrans.neuralnetworksandlearningsystems,vol.25,no.4,pp.645-663,2014.

[8]q.zhang.“dynamicuncertaincausalitygraphforknowledgerepresentationandprobabilisticreasoning:directedcyclicgraphandjointprobabilitydistribution”,ieeetrans.neuralnetworksandlearningsystems,vol.26,no.7,pp.1503-1517,2015.

[9]q.zhang.“dynamicuncertaincausalitygraphforknowledgerepresentationandprobabilisticreasoning:continuousvariable,uncertainevidenceandfailureforecast”,ieeetrans.systems,manandcybernetics,vol.45,no.7,pp.990-1003,2015.

[10]q.zhangands.geng.“dynamicuncertaincausalitygraphappliedtodynamicfaultdiagnosisoflargeandcomplexsystems”,ieeetrans.reliability,vol.64,no.3,pp910-927,2015

[11]q.zhangandz.zhang.“dynamicuncertaincausalitygraphappliedtodynamicfaultdiagnosesandpredictionswithnegativefeedbacks”,ieeetrans.reliability,vol.65,no.2,pp1030-1044,2016.

[12]q.zhang&q.yao.dynamicuncertaincausalitygraphforknowledgerepresentationandreasoning:utilizationofstatisticaldataanddomainknowledgeincomplexcases.ieeetrans.neuralnetworksandlearningsystems,doi:10.1109/tnnls.2017.2673243,2017.

基于上述技术背景和存在的问题,本发明公开了一种提高计算pr{e}效率的技术方案。



技术实现要素:

本发明公开了一种提高上述计算pr{e}效率的技术方案,包含如下内容:

1、一种计算机可读存储介质,其特征在于:所述存储介质上存储有计算机程序,所述计算机程序被执行时,能够执行如下方法:(1)按照b变量在一端,有向弧从b指向结果变量直到末端节点的方法排列e所在ducg图上的x和sx类型事件和变量;(2)将e中包含的证据xnk或sxnk(以下统一表示为xnk)按照由b指向xnk的路径中有向弧的多少分层,使得ti标识层,e(ti)为ti层包含的e中的证据i越大,离b越远,当有多条路径指向xnk(ti)时,以有向弧最多的路径为分层标准,当存在时间戳ti将e进行时间分层时,时间分层优先,当存在逻辑循环时,该逻辑循环包含在同一层内,t0层仅包含b类型变量;(3)将ti+1层展开所得的逻辑表达式与e(ti)相乘(逻辑与),当ti为最远层时,ti+1层展开所得逻辑表达式为全集;(4)将(3)所得逻辑表达式中的事件xnk(ti)或变量xn(ti)展开到ti-1层,当ti层中的事件或变量的父原因在ti’(i′<i-1)层时,展开到ti’层,展开过程中进行ducg的吸收、互斥和解环等逻辑运算、以及r和a参数运算,得到一个只包含ti-1层和ti’层的xnk(ti-1)或xn(ti-1)及xnk(ti’)或xn(ti’)的逻辑表达式;(5)如果i≥2,令i=i-1,重复上述(3)和(4)的运算;(6)当i=1时,计算(4)所得逻辑表达式的概率,即为pr{e}。

2、如1中步骤(3)所述,当ti不是最远层,且ti+1层展开所得逻辑表达式中不存在xn(ti)时,将ti+1层展开所得逻辑表达式中的xnk(ti)删除,尽可能计算剩余部分的r和a参数表达式的数值,再将其作为整体乘以e(ti),并进行后续计算。

3、如1中步骤(3)所述,当ti不是最远层,且ti+1层展开所得逻辑表达式中存在xn(ti)时,删掉ti+1层展开所得逻辑表达式中的xnk(ti),尽可能提取公因式xn(ti),计算逻辑表达式中r和a参数的数值,再乘以e(ti),并进行后续计算。

附图说明

图1分层的ducg示例。

具体实施方式

如图1所示ducg图,既是按照立体ducg的时间戳ti分层的,也是按照1(1)和1(2)分层的。不同的ti代表不同的时间片或层。其中t0层也可以与t1合并为t1层。

其中,

rn;i=1,b1=(-0.2)t,b2=(-0.3)tf7,1;4=a7,1;4=(-0.4),f5,0;1=a5,0;1=(-0.4),

以上为方便起见,参数表达中采用了fn;i=(rn;i/rn)an;i的简捷表达方式,其中第二个等号左端的变量和右端的数值一一对应。严格的表达方式应为fn;i=(rn;i/rn)an;i,pr{(rn;i/rn)an;i}=(rn;i/rn)an;i。a矩阵中的符号“-”表示不关心,计算上等价于0。

本例中,根据1(1),b1、b2在上端,末端节点x5,0、x8,2和x9,1在下端,因果关系为从上到下。有两个下标的变量状态已知,是e中的事件,不同的第二个下标代表相同第一个下标变量的不同状态。e=e(t1)e(t2)e(t3),其中e(t1)=x3,1(t1),e(t2)=x3,1(t2)x6,1(t2)x7,1(t2),e(t3)=x5,0(t3)x8,2(t3)x9,1(t3)。离b最远的分层为t3。需要说明的是:x5,0尽管离b1只有1条有向弧,但根据1(2)时间优先放在t3层,与立体ducg按时间的分层一致。此外,x3,1和x4之间存在逻辑循环,根据1(2)须在同一层内。x3,1(t1)与x3,1(t2)是同一变量的同一状态连续出现在不同的分层,故用直线连接,表示两者等价,指向仍然是从离b的近端指向远端,与立体ducg的时间分层方式一致。x9,1与x4之间有两条路径相连:x4→x9,1和x4→x6,1→x9,1。根据1(2),取多的作为分层依据,故x9,1分在t3层。变量x4的状态未知,故不属于e。

根据1(3),t3为离b最远层,t3+1层的逻辑表达式为全集ω,所得逻辑表达式为ωe(t3)=x5,0(t3)x8,2(t3)x9,1(t3)。根据1(4),将x5,0(t3)xa,2(t3)x9,1(t3)往近b端展开一层,得

其中,x5,0的直接父变量为b1,不在t2层,从而展开到b1。又由于f5,0;1b1和f9,1;4x4(t1)涉及待展开变量,无法计算其a和r参数值。算符“*”为ducg定义的一种事件和数值矩阵逻辑运算,即维数相同的矩阵的对应元素相乘,或一个行向量与一个列数相同的矩阵中每行对应元素相乘。

根据权利要求1(5),令i=3-1=2,重复权利要求1(3),将上次展开所得逻辑表达式与e(t2)相乘,同时由于不存在xn(t2),根据权利要求2,将上式中的x3,1(t2)和x6,1(t2)删除,得

根据权利要求1(4),将上式中的x3,1(t2)、x6,1(t2)和x7,1(t2)展开到t1层,得

根据权利要求1(5),令i=2-1=1,重复权利要求1(3),将上次展开所得逻辑表达式与e(t1)=x3,1(t1)相乘,同时由于存在x4(t1),根据权利要求3,将上式中的x3,1(t1)删除,得

其中为从rn中删除rn;m,是在解环过程中产生的。

根据权利要求1(6),计算上式的概率值,可得pr{e}。即

其中:

所以,

最后应说明的是,以上方式仅用以描述本发明的技术方案而不是对本技术方法进行限制,本发明在应用上可以延伸为其他的修改、变化、应用和实施例,并且因此认为所有这样的修改、变化、应用、实施例都在本发明的精神和教导范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1