基于BHS-树的定性故障诊断方法
2011-11-24王南华
高 伟,邢 琰,2,王南华,2
(1.北京控制工程研究所,北京100190;2.空间智能控制技术重点实验室,北京100190)
基于BHS-树的定性故障诊断方法
高 伟1,邢 琰1,2,王南华1,2
(1.北京控制工程研究所,北京100190;2.空间智能控制技术重点实验室,北京100190)
基于定性模型的诊断方法,由于无需系统定量模型,尤其适用于航天器等复杂系统的故障诊断.该方法推理过程包括冲突集的确定及诊断集的生成.基于BHS-树的方法,是一种由冲突集生成诊断集的有效途径,但存在诊断结果冗余及反向递归过程复杂的问题.采取异常/正常特征量相结合的措施,有效地解决了诊断结果冗余的问题,能够准确确定诊断集;同时在系统单故障的假设前提下,对反向递归过程进行适当简化,降低了推理的复杂程度,并通过实例对上述改进进行了验证.
故障诊断;定性模型;BHS-树;结果冗余;反向递归
随着科学技术的发展,现代系统的规模和复杂程度越来越大,系统可靠性成为一个关键问题,要求系统具备一定的故障诊断能力,尤其对于航天这样高风险、高投入的领域.基于定性模型的诊断方法,由于无需系统定量模型,尤其适用于航天器等复杂系统的故障诊断,成为人工智能领域一个十分活跃的研究分支[1].该方法通过构造系统定性模型来预测系统行为,再将该预测行为与实际行为进行比较,如果二者一致则说明系统正常,反之则说明系统故障,进而通过推理诊断出系统的故障原因.此诊断思想如图 1 所示[2].
基于定性模型的推理过程分为两步:由异常特征量确定系统冲突集,以及由冲突集生成故障诊断集[3].本文仅就第二步由冲突集生成故障诊断集的过程进行研究.
图1 基于定性模型的诊断思想
在已知系统冲突集的情况下,可以利用基于BHS-树(binary hitting set-tree)的方法来求解故障诊断集,具体分为BHS-树的建立及反向递归求解最小碰集两个过程.实质就是建立一个对分二叉树,来图形化地描述由异常特征量确定的系统冲突集,再从树的叶节点向根节点反向递归求解冲突集的最小碰集,以此作为故障诊断集[4].
该方法在建树的过程中,不必进行剪枝操作,从而不会丢失真实解.但它认为冲突集的最小碰集即为故障诊断集,诊断结果与事实不符,存在冗余现象;并且从叶节点向根节点的反向递归过程比较繁琐,增加了推理的复杂程度[5].
本文采取异常/正常特征量相结合的措施,首先利用异常特征量得到系统冲突集,并通过建树和反向递归过程求解冲突集的最小碰集,再利用正常特征量确定正常部件集来对最小碰集进行筛选,从而能够准确地确定故障诊断集,解决了诊断结果冗余的问题.此外,在系统单故障的假设前提下,提出一种新的反向递归算法,简化了推理过程.
1 相关概念
通常将待诊断系统描述为一个三元组(SD,COMPS,OBS)[6],其中
SD为系统模型描述,是有限的一阶句子集合;
COMPS为系统部件,是有限的常量集合;
OBS为系统实际行为,是有限的一阶句子集合.
以图2所示的简单电路系统为例进行说明.
其中,a、b、c、d 为系统输入;x1、 x2、 x3为系统输出;c1、c2、c3、c4为待诊断的系统部件,作用是对系统输入取非,取非结果相加后传给系统输出.假设部件c1故障.
图2 简单电路系统
系统模型描述:
系统部件:
系统实际行为:
运用基于 BHS-树的方法时,涉及到冲突集、最小冲突集、最小冲突集簇、诊断集、碰集、最小碰集等相关概念.
定义1.冲突集:冲突集C是系统部件COMPS的子集,如果冲突集的组成部件全部正常,则根据系统模型描述推得的预测行为与系统实际行为矛盾,即
以图2所示系统为例,如果部件 c1、c2、c3、c4全部正常,根据系统模型描述可推得系统预测行为
分析可知,x1的预测行为与实际行为矛盾,则C1={ c1,c2,c4}及其超集 C2={c1,c2,c3,c4}就是系统冲突集.同理,x2的预测行为与实际行为也矛盾,则 C3={ c1,c3,c4}也是系统冲突集.
定义2.最小冲突集:如果冲突集C的任何子集都不能成为系统的冲突集,则称 C为系统的最小冲突集,记为 MC[6].最小冲突集,可以通过对冲突集进行去超集处理得到.
以图2所示系统为例,系统有3个冲突集C1={ c1,c2,c4},C2={c1,c2,c3,c4}和 C3={ c1,c3,c4}.其中,C2为C1和C3的超集,应该去除C2,得到系统的最小冲突集 MC1={ c1,c2,c4},MC2={ c1,c3,c4}.
定义3.最小冲突集簇:系统所有最小冲突集MC组成的集合簇,称为最小冲突集簇,记为MCS[6].
定义4.诊断集:诊断集Δ是系统部件COMPS的子集,如果诊断集的组成部件全部异常而其他部件全部正常,则根据系统模型描述推得的预测行为与系统实际行为一致,即
以图2所示系统为例,在部件c1异常而c2、c3、c4正常的条件下,根据系统模型描述推得x1=3,x2=3,x3=2,此预测行为与系统实际行为一致,则是故障诊断集.
故障诊断目的就是准确得到诊断集,以便采取相应的处理措施.基于BHS-树的方法,利用求解最小冲突集簇的最小碰集的方法得到诊断集.
定义 5.碰集:对于集合簇 G={S1,S2,…,Sn},如果存在集合H是S1∪S2∪…∪Sn的子集,并且使得对每个 Si,H∩Si都不为空,即
则集合H称为集合簇G的碰集[7].
定义6.最小碰集:如果碰集H的任何子集都不能成为集合簇G的碰集,则称H为G的最小碰集,记为MH[6].最小碰集,可以通过对碰集进行去超集处理得到.
2 基于BHS-树求解故障诊断集
如何由冲突集生成故障诊断集,是基于BHS-树的方法要解决的问题.具体分为两个过程:BHS-树的建立及反向递归求解最小碰集.
2.1 BHS-树的建立
BHS-树由根节点和叶节点组成,各节点分别包含两个集合簇.其中,根节点的集合簇记为 Cb、Hb,左、右子树根节点的集合簇记为Cl、Hl和 Cr、Hr.
图4为春节期间PM2.5中水溶性离子与碳组分各自的时间序列图。明显可见,1月27日00~100及2月1日100~2月2日00PM2.5及PM10瞬时升高过程中,SNA大幅增加,尤其NO3-、SO42-、NH4+、OC大幅升高。
假设系统最小冲突集簇 MCS={MC1,MC2,…,MCn},BHS-树 的 递 归 建 立 算 法 如下[8]:
(1)令根节点的 Cb=MCS,Hb=Φ;
(2)若 Cb=Φ,则BHS-树就是根节点本身;
(3)若 Cb≠ Φ,任取部件 a∈Cb,则 Cl={Ci-{a}|a∈Ci} 、Hl={a},同时 Cr={ Ci|a∉Ci}、Hr=Φ.
BHS-树节点的 Cb、Cl、Cr记为“〈 〉”,Hb、Hl、Hr记为“[]”.
以如图2所示系统为例,该系统最小冲突集簇MCS={ { c1,c2,c4}, { c1,c3,c4}}, 则 根 节 点 的 Cb=〈c1,c2,c4〉〈c1,c3,c4〉,Hb=Φ,建立的 BHS-树如图 3所示.
图3 简单电路系统BHS-树
2.2 反向递归求解最小碰集
在建成BHS-树以后,需要从叶节点向根节点反向递归求解各节点的候选集簇M,再对根节点的M进行去超集处理,即可求得最小碰集.具体反向递归算法如下[8]:
(1)如果BHS-树本身就是叶节点(即 Cb=Φ),则该BHS-树根节点的候选集簇M=Hb,否则从叶节点反向递归(2)至根节点;
(2)BHS-树某节点的候选集簇M={Hb, {ml∪mr|ml∈Ml,mr∈Mr} },其中,Hb与 M取自同一节点,Ml、Mr分别为该节点左、右子树根节点的候选集簇;
(3)对BHS-树根节点的候选集簇 M进行去超集处理,即可求得最小碰集.
以图2所示系统为例,反向递归过程如图4所示.
图4 反向递归过程
通过上述反向递归过程,得到根节点的候选集簇M={{ c1},{ c4}, { c2,c3}}.其中,集合 { c1},{ c4},{ c2,c3}之间不存在包含关系,则最小碰集MH={{ c1},{ c4}, { c2,c3}}.
上述最小碰集给出了3种可能的系统故障,包含实际故障部件c1,但也认为可能是部件c4故障,或部件c2、c3同时故障.此诊断结果与实际故障不符,存在冗余现象.可见,基于 BHS-树的方法,直接令冲突集的最小碰集为故障诊断集是不合理的.另外,该方法的反向递归过程比较繁琐,增加了推理的难度,尤其是当系统比较复杂的时侯,很难实现实时诊断.
3 方法改进
针对基于BHS-树的方法存在的上述问题,提出了如下两点改进.
3.1 由最小碰集确定故障诊断集
分析2.2节得到的最小碰集,可知在部件c4故障或c2、c3同时故障时,都将导致系统输出x1、x2、x3同时异常.上述结果使x1和x2的预测行为与实际行为一致,但x3的预测行为与实际行为是矛盾的,不符合诊断集的定义.最小碰集的得来,只利用了异常特征量的信息,而和正常特征量无关.信息利用不完全,是造成诊断结果冗余的根本原因.
特征量正常是有一定前提条件的,必须保证特定部件正常(假设不存在多部件同时故障,影响效果互相抵消的情况).由系统所有正常特征量,就可以得到正常部件集B.再利用B对求得的最小碰集进行筛选,排除最小碰集中包含B中部件的集合,就可以准确确定故障诊断集.
以图2所示系统为例,根据异常特征量x1和x2,得到最小冲突集簇 MCS={ { c1,c2,c4}, { c1,c3,c4}}.通过建树和反向递归,可以求得冲突集的最小碰集MH={{ c1},{ c4}, { c2,c3}}.根据正常特征量 x3,可知系统部件c2和c4正常,从而得到正常部件集B={ c2,c4}.这样,就可以排除最小碰集中所有包含 c2和c4的集合,即集合 { c4}和 { c2,c3},得到故障诊断集Δ={ c1}.此诊断结果与系统的实际故障相吻合,不存在冗余现象.
3.2 简化反向递归过程
在系统单故障的假设前提下,可以对2.2节的反向递归过程进行适当简化,从而降低推理的复杂程度.简化的反向递归算法如下:
(1)如果 BHS-树本身就是叶节点(即 Cb为空集),则该BHS-树根节点的候选集簇M=Hb;否则,自底向上递归(2)至根节点;
(2)如果BHS-树某节点的Ml和Mr同时包含非零单元素集合m,或者Ml和Mr其中之一包含非零单元素集合m,另一为空集,则该节点的候选集簇M={ Hb,m},否则 M={ Hb}.其中,Hb与M取自同一节点,Ml、Mr分别为该节点左、右子树根节点的候选集簇;
(3)利用所有正常特征量,得到正常部件集B,对根节点的候选集簇M进行筛选,若某部件ci∈M且ci∈B,则该部件应被排除,M中余下的部件集合即为故障诊断集.
以图2所示系统为例,简化的反向递归过程如图5所示.
图5 简化的反向递归过程
通过上述简化的反向递归过程,得到根节点的候选集簇M= {{ c1},{ c4}},再由正常特征量得到正常部件集B={ c2,c4},从M中排除集合 { c4},最终确定故障诊断集Δ={ c1}.
由图5可知,简化的反向递归过程,每个节点的候选集簇M中所包含的集合个数,以及各集合中组成部件的个数,都比图4有所减少.随着系统复杂性的增加,这种优势会更加明显.
4 结 论
基于BHS-树的方法,是一种由冲突集生成故障诊断集的有效途径.该方法以对分二叉树的形式图形化描述系统冲突集,并通过反向递归求解冲突集的最小碰集,以此作为故障诊断集.它在建树的过程中,不必进行剪枝操作,从而不会丢失真实解,但对系统信息利用不完全,造成了诊断结果冗余,同时反向递归比较繁琐,推理过程复杂.针对上述问题,本文对基于BHS-树的方法提出了两点改进,充分结合异常/正常特征量所表征的系统信息,解决了诊断结果冗余的问题,能够准确确定故障诊断集;同时在系统单故障的假设前提下,对反向递归过程进行了适当简化,降低了推理的复杂程度,并通过实例对改进进行了验证.
[1] 张萍,王桂增,周东华.动态系统的故障诊断方法[J].控制理论与应用,2000,17(2):153-158
[2] Kleer D J, Williams B C.Diagnosing multiple faults[J].Artificial Intelligence, 1987, 32:97-130
[3] 高伟.航天器控制系统故障诊断方法研究[D].北京控制工程研究所,2006
[4] 林笠.基于模型诊断算法及应用[D].中山大学,2002
[5] 高伟.基于定性模型的航天器控制系统故障诊断方法[J].空间控制技术与应用,2009,35(1):25-29
[6] Reiter R.A theory of diagnosis from first principles[J].Artificial Intelligence, 1987, 32:57-95
[7] 林笠.在基于模型诊断中计算最小碰集算法[J].计算机应用研究,2002,19(9):36-39
[8] 姜云飞,林笠.用对分 HS-树计算最小碰集[J].软件学报,2002,13(12):2267-2274
A BHS-Tree Based Qualitative Fault Diagnosis Approach
GAO Wei1, XING Yan1,2, WANG Nanhua1,2
(1.Beijing Institute of Control Engineering, Beijing 100190, China;2.Science and Technology on Space Intelligent Control Laboratory, Beijing 100190, China)
Because the qualitative model-based diagnosis approach has no need of quantitative system model,it is of particular for the fault diagnosis in many complicated fields such as spacecraft.Its diagnosis process can be divided into two parts:determination of the set of conflicts and generation of the set of diagnoses.A fault diagnosis approach based on BHS-tree can deal with the latter.However,this approach has two drawbacks:result redundancy and reversed recursion complexity.An improved approach is proposed to deal with two problems in this paper.The information of abnormal and normal observations is related to solve the former,and the process of reversed recursion is simplified on the assumption of single fault.The improvement is validated by an example.
fault diagnosis;qualitative model;BHS-tree;result redundancy;reversed recursion
TP306+.3
A
1674-1579(2011)02-0021-05
10.3969/j.issn.1674-1579.2011.02.004
2010-11-16
高 伟(1982-),女,河北人,工程师,研究方向为航天器控制系统总体设计(e-mail:gaowei659@sina.com).