潘宇雄 李清東 任 章
(北京航空航天大學飛行器控制技術(shù)一體化技術(shù)國防科技重點實驗室,北京 100191)
較為完善的基于模型的故障診斷方法是由de Kleer等[1]于1987年提出的,主要包括沖突識別和候選產(chǎn)生2個部分.在沖突識別方法中,de Kleer提出了“沖突集”的概念,也就是說當系統(tǒng)有故障時可以利用某些算法得到系統(tǒng)中所有的極小沖突集作為診斷的基礎(chǔ)集合.然后采用候選產(chǎn)生方法,利用極小沖突集計算出作為候選診斷集的極小碰集.
利用極小沖突集計算出作為候選診斷集的極小碰集.在基于模型的故障診斷中,最早計算碰集的方法是由著名人工智能專家Reiter在1987年提出的采用HS-Tree求解碰集的方法[2].至今已對碰集的計算方法進行了許多研究和改進,如HSDAG[3],SE-TREE[4],布爾代數(shù)方法等[5],這些方法的最終目的都是要完備地、快速地求出所有極小碰集(即極小診斷).當待診斷系統(tǒng)的測點有限時,將產(chǎn)生極小診斷的組合爆炸問題[6].如此計算出來的極小診斷,對于系統(tǒng)最終的故障定位作用不大.因此,針對這種情況,本文提出了一種基于測點優(yōu)選和新增觀測信息的減少極小診斷的新方法.通過觀測信息的不斷增加,極小診斷將逐漸減小;當觀測信息足夠多時,將會得到唯一極小診斷.
定義1(系統(tǒng)) 一個系統(tǒng)定義為一個三元組(SD,COMPS,OBS),其中,SD 為系統(tǒng)描述,是一階謂詞的集合;COMPS為系統(tǒng)組成部件的集合,是一個有限的常量集;OBS為觀測集,是一階謂詞的有限集.以下使用一元謂詞AB(·)表示“abnormal”,AB(c)為真當且僅當 c反常,其中 c∈COMPS.
定義2(沖突集) 系統(tǒng)的沖突集是一個集合{c1,c2,…,ck}?COMPS,滿足下述條件:SD∪OBS∪{﹁ AB(c1),﹁ AB(c2),…,﹁ AB(ck)}是不一致的.如果稱某沖突集為極小沖突集,當且僅當該沖突集的任意真子集都不是沖突集[2].
定義3(極小依賴集) 稱集合{d1,d2,…,dn}?COMPS為極小依賴集,若滿足:﹁AB(d1)∧…∧﹁ AB(di-1)∧﹁AB(di+1)…∧﹁AB(dn)┝﹁AB(di).
命題1 若C={c1,…,cn}為一極小沖突集,D={d1,d2,…,dm}為一極小依賴集,則集合( C∪D)- ( C∩D)(即C與D的對稱差)也是一個極小沖突集.
定義4(P-S子系統(tǒng)) 在一個系統(tǒng)中,由一個元件及其所有的與此元件輸入直接相連的元件構(gòu)成一個P-S(Parents-Son)子系統(tǒng),也稱為以此元件為輸出的P-S子系統(tǒng).在以X為輸出的P-S子系統(tǒng)中,如果X對它的輸入元件不敏感,稱為含有故障掩蓋的P-S子系統(tǒng).
命題2 一個非故障掩蓋的P-S子系統(tǒng)要么是一個極小沖突集,否則為一個極小依賴集.
定義5(碰集) 設(shè)F是集合簇,稱H為F的一個碰集,如果H滿足
2)對每個S∈F,都有H∩S≠?.
如果稱某碰集為極小碰集,當且僅當該碰集的任意真子集都不是碰集.
求解極小碰集的過程也就是求解極小診斷的過程,其主要流程如下[4]:
步驟1 首先,根據(jù)模型系統(tǒng)的參數(shù)變量極其連接關(guān)系建立元件矩陣、元件參數(shù)矩陣和參數(shù)變量矩陣[7],然后利用這3個矩陣根據(jù)每個元件的行為模式可以推理出系統(tǒng)的預測輸出值與實際輸出值是否一致.如果不一致,則相應(yīng)輸出所對應(yīng)的P-S子系統(tǒng)所包含的元件集合為一個極小沖突集,否則為一個極小依賴集.對于m+n個輸出的系統(tǒng),可以得出極小沖突集的集合簇P={p0,p1,…,pn}和極小依賴集的集合簇 N={n0,n1,…,nm}(m,n 均為正整數(shù)).
步驟2 判斷N是否為空,如果不是,則將N中每一個集合與P中每一個集合做與運算,利用交集元件最多的2個集合pi(i=0,…,n)與nj(j=0,…,m)計算新極小沖突集pn+q(q初始為1,每計算一次q加1),并將pn+q加入集合簇P中,而從集合簇N中將nj刪除.以此類推,直至N為空時即可求出所有的極小沖突集,這時的極小沖突集的個數(shù)與系統(tǒng)輸出的個數(shù)相同.
步驟3 對集合簇P中各集合中出現(xiàn)的所有l(wèi)個元素,結(jié)合SE-Tree,按照寬度優(yōu)先的搜索順序,結(jié)合集合枚舉的方法,并且按照元素個數(shù)逐步增多的順序,逐一判斷所枚舉的當前的集合是否為集合簇的碰集,即通過計算該集合中所含各元素所關(guān)聯(lián)的不同集合的總個數(shù),由其值是否等于集合簇的長度m+n來確定.同時,在標準的SE-Tree計算過程中,加入某種節(jié)點標識(極小碰集節(jié)點(“√”),終止節(jié)點(“×”),待擴展節(jié)點(不加任何標識)),避免非極小碰集的產(chǎn)生,并從而提高搜索效率.
在前面獲取極小碰集的情況下,接下來將通過增加測點,獲得相應(yīng)的信息,減少極小碰集的數(shù)量.
相關(guān)性模型法[6]正是在系統(tǒng)結(jié)構(gòu)圖的基礎(chǔ)上,提出的一種單點故障診斷中測試點優(yōu)選方法.其主要算法如下:
假設(shè)初選的測試點集合T具有n個測試點T=[T1T2T3… Tn],被測試系統(tǒng)的故障狀態(tài)集F包含了m個元件的單點故障狀態(tài)F=[F1F2F3… Fm],此時的相關(guān)性矩陣D0為一個m行n列的矩陣,矩陣中的元素dij表示第j個測試點Tj與第i個系統(tǒng)狀態(tài)Fi的相關(guān)性,即
根據(jù)信息理論可知,利用矩陣D計算各個測試點所提供故障診斷綜合信息量[7].第j個測試點的故障診斷綜合信息量I(tj)可表示為
計算出各測試點的I(tj)之后,選用I(tj)值最大者對應(yīng)的測試點Tj為第一個故障隔離用測試點,其對應(yīng)的列矩陣為 Tj=[d1jd2j… dmj]T用Tj把矩陣D分為2個子矩陣,一個為(Tj中等于“0”的元素所對應(yīng)的行構(gòu)成的子矩陣);另一個為(Tj中等于“1”的元素所對應(yīng)的行構(gòu)成的子矩陣).
增加測點,如果測點處實際輸出值與預測輸出值相同,則相應(yīng)的P-S子系統(tǒng)的部件所構(gòu)成的是極小依賴集;反之,為極小沖突集.
由于極小碰集的元素個數(shù)為1或者2,因此極小碰集與新產(chǎn)生集合的交集元素個數(shù)只能為0、1或者2.
新增為極小沖突集時,當交集元素個數(shù)為0時,則表明實際故障元件不在此碰集中,刪除該碰集;交集元素個數(shù)為1時,則表明實際故障元件有可能在碰集中,保留該碰集;交集元素個數(shù)為2時,不能判斷這2個元件即為實際的故障元件,保留該碰集,進一步檢驗.
新增為極小依賴集時,當交集元素個數(shù)為0,則表明實際故障元件不在此碰集中,保留該碰集;交集元素個數(shù)為1時,則表明實際故障元件不在此碰集中,刪除該碰集;交集元素個數(shù)為2時,不能判斷這2個元件即為實際的故障元件,保留該碰集,進一步檢驗.
7輸入,2輸出的九元件的模型系統(tǒng),如圖1所示,A,B,C,D,E,F(xiàn),G,H 和 I分別為具有不同行為模式的元件.假設(shè)元件H發(fā)生故障,接下來將采用所提出的方法和策略快速而準確地進行故障定位.在這種假設(shè)下,系統(tǒng)輸出O1的預測值和實際值是一致的,而系統(tǒng)輸出O2的預測值和實際值是不一致的.根據(jù)命題2,能得出一個極小依賴集為{A,B,C,D,E,F(xiàn)},極小沖突集為{B,C,E,G,H,I}.根據(jù)命題1,可以得到另一個極小沖突集為{A,D,F(xiàn),G,H,I}.
圖1 兩輸出系統(tǒng)模型框圖
通過SE-tree方法,由極小沖突集簇P={{B,C,E,G,H,I},{A,D,F(xiàn),G,H,I}}可以計算出所有的極小碰集 H={{G},{H},{I},{A,B},{A,C},{A,E},{B,D},{B,F(xiàn)},{C,D},{C,F(xiàn)},{D,E},{D,F(xiàn)}}.
假設(shè)系統(tǒng)部件發(fā)生故障的概率分別為P=[0.08 0.01 0.04 0.05 0.01 0.04 0.010.02 0.08],系統(tǒng)的相關(guān)性矩陣及其故障隔離權(quán)值如表1所示.首先選擇表1中WD值最大的測試點T7作為第一個故障檢測用測試點.接著,選擇I(tj)值最大的測試點T6(T7除外)作為第一個故障隔離用測試點,則利用相應(yīng)的列矩陣 T'6=[d16d26… d96]T將相關(guān)性矩陣分割成2個矩陣和.然后,計算中的 I(tj)值,選擇I(tj)值最大的測試點T4作為第二個故障隔離用測試點.繼續(xù)分割矩陣,直到故障隔離用測試點的相應(yīng)列矩陣不再包含“0”為止.最后測點優(yōu)選的結(jié)果為 T7,T6,T4,T1.
表1 相關(guān)性矩陣
故障定位的過程由表2所示,首先,加入系統(tǒng)測試點T7,由于T7相對應(yīng)的P-S子系統(tǒng)的預測和實際輸出值是不一致的,根據(jù)命題2,能得到一個極小沖突集{B,C,E,G,H}.然后,根據(jù)極小碰集去除規(guī)則,極小碰集{I}將被去除,則剩余極小碰集為 H1={{G},{H},{A,B},{A,C},{A,E},{B,D},{B,F(xiàn)},{C,D},{C,F(xiàn)},{D,E},{D,F(xiàn)}}.接著,加入系統(tǒng)測試點 T6,根據(jù)命題2,將得到一個極小依賴集{B,C,E,G}.最終,根據(jù)極小碰集去除規(guī)則{G},{A,B},{A,C},{A,E},{B,D},{B,F(xiàn)},{C,D},{C,F(xiàn)},{D,E}和{D,F(xiàn)}將被去除,最終H2={H}將被保留.從此結(jié)果可以看出,只需要加入2個測試點,根據(jù)測點優(yōu)選策略,將實現(xiàn)故障定位.
表2 采用測點優(yōu)選策略的故障定位過程
為了驗證測點優(yōu)選策略的速度和正確性,分別添加一個測試點,驗證是否可以實現(xiàn)故障定位.如果是這樣的話,那么本文所提出來的測點優(yōu)選策略將不是最優(yōu)的.由表3可以看出必須添加超過一個測試點才能實現(xiàn)故障的定位.
表3 加單一測點后所保留的極小碰集
本文提出一種根據(jù)測點優(yōu)選策略逐步實現(xiàn)故障定位的新方法.首先,利用SE-tree等算法,可以產(chǎn)生完備的用于故障定位的極小診斷候選集合.接著,通過引入相關(guān)性矩陣和故障診斷綜合信息量,提出了測點優(yōu)選策略.最后,提出極小碰集去除規(guī)則,通過增加測試點,最終完成了故障定位.實例表明,此方法是正確可行的,符合基于模型的故障診斷專家系統(tǒng)對于診斷的快速性和準確性的要求.
References)
[1]de Kleer J,Williams B C.Diagnosing multiple faults[J].Artificial Intelligence,1987,32(1):97-130.
[2]Reiter R.A theory of diagnosis from first principles[J].Artificial Intelligence,1987,32(1):57-96.
[3]Greiner R,Smith B A,Wilkerson R W.A correction to the algorithm in Reiter’s theory of diagnosis[J].Artificial Intelligence,1989,41(1):79-88.趙相福,歐陽丹彤.可用于診斷產(chǎn)生的計算碰集的新方法[J].吉林大學學報:理學版,2006,44(3):385-390.Zhao Xiangfu,Ouyang Dantong.A new method of computing hitting sets applied to diagnosis generation[J].Journal of Jilin University:Science Edition,2006,44(3):385-390.(in Chinese)
[4]姜云飛,林笠.用布爾代數(shù)方法計算極小碰集[J].計算機學報,2003,26(8):919-924.Jiang Yunfei,Lin Li.The computation of hitting sets with boolean formulas[J].Chinese Journal of Computers,2003,26(8):919-924.(in Chinese)
[5]Ma C,Zhu D.Diagnostic method of causal network model based on swarm intelligence algorithm[C]//Intelligent Systems and Applications.Wuhan,China,2009:134-138.
[6]張立明,歐陽丹彤.一種基于ATMS的求解所有極小沖突集的新方法[J].計算機工程與科學,2007,29(11):127-130.Zhang Liming,Ouyang Dantong.A new ATMS-based method for deriving all minimal conflict sets[J].Computer Engineering and Science,2007,29(11):127-130.(in Chinese)
[7]周玉良,何廣軍.基于最大故障信息量準則的測試點優(yōu)選方法[J].彈箭與制導學報,2010,30(5):230-232.Zhou Yuliang,He Guangjun.An optimal method of selecting test point based on rule of maximum fault diagnosis information value[J].Journal of Projectiles,Rockets,Missiles and Guidance,2010,30(5):230-232.(in Chinese)