(北京航空航天大學(xué)機(jī)械工程及自動化學(xué)院,北京 100191)
故障案例庫是進(jìn)行故障診斷的基礎(chǔ),案例庫的質(zhì)量和規(guī)模決定了故障診斷的效率。雖然目前企業(yè)在長期的服務(wù)保障過程中積累了大量的故障案例知識,但通常是蘊(yùn)藏在故障信息、排故記錄、技術(shù)報告等數(shù)據(jù)或文檔中,案例庫的構(gòu)建過程缺少解析模型和推理規(guī)則的支持,不利于排故。而基于故障樹分析的故障診斷方法則利用了飛機(jī)的正向設(shè)計知識對故障進(jìn)行定位和診斷,兩者結(jié)合相互補(bǔ)充,共同實現(xiàn)案例庫的構(gòu)建。因此,需要利用排故經(jīng)驗和知識將基于故障樹分析的方法和推理規(guī)則充分融入到案例的構(gòu)建過程中,建立具有一定規(guī)模和質(zhì)量的故障案例知識庫,案例的組織方法有利于排故過程中對案例的重用,滿足案例檢索和排故引導(dǎo)等要求。
目前,國內(nèi)外學(xué)者在案例表示與案例庫組織方面進(jìn)行了大量研究。文獻(xiàn)[1]提出了基于XML的案例表示和案例庫構(gòu)建方法;文獻(xiàn)[2]通過數(shù)據(jù)挖掘技術(shù),提出一種由原始故障診斷信息構(gòu)建故障案例庫的方法,以提高案例獲取的效率;文獻(xiàn)[3]著重描述了框架表示法,并且結(jié)合Snort規(guī)則的案例進(jìn)一步作了實例分析。但是它們并沒有利用故障樹模型,案例之間的層次結(jié)構(gòu)關(guān)系也沒有體現(xiàn)出來,案例的重用和基于案例推理的故障診斷效率還有待進(jìn)一步提高。因此,有必要研究能夠提高案例重用和故障診斷效率的案例庫構(gòu)建方法。
本文從提高案例重用和故障診斷效率的角度,通過對飛機(jī)故障樹進(jìn)行數(shù)學(xué)描述和定性定量分析,結(jié)合故障診斷推理規(guī)則,從模型中提取案例,提出一種案例庫的構(gòu)建方法。在此基礎(chǔ)上將案例庫應(yīng)用于故障診斷系統(tǒng),提供一種向?qū)降呐殴手改希瑢崿F(xiàn)基于案例推理的故障診斷功能,為維修保障人員不斷積累案例知識,充分、有效地利用已有的故障案例和設(shè)計知識進(jìn)行推理和故障診斷提供有效的技術(shù)支持。
案例表示就是對案例中的信息進(jìn)行結(jié)構(gòu)化的描述,是一種按照某種固定格式組織案例信息的方法[4],案例主要信息如表1所示。常用的案例表示方法有以下幾種:
(1)面向?qū)ο蟊硎痉ǎ航柚嫦驅(qū)ο蟮某绦蛟O(shè)計語言來實現(xiàn),也具有類和實例、繼承(多重繼承)、多態(tài)、封裝等特點(diǎn),這種層次結(jié)構(gòu)及繼承機(jī)制直接支持了案例表示的模塊化和分層表示。
(2)框架表示法:在框架理論基礎(chǔ)之上發(fā)展起來的一種結(jié)構(gòu)化的知識表示方法。
(3)通用案例表示語言:CASUAL是一個靈活的、面向?qū)ο蟮?、類似框架的案例表示語言,它將案例的描述模型存儲在ASCII文件中,專門為案例表示而設(shè)計,綜合了前面兩種方法的優(yōu)點(diǎn),而且也能將規(guī)則融于案例的表示中,是最完善的案例表示方法。
本文所采用的是第2種方法,即框架表示法,將案例進(jìn)行結(jié)構(gòu)化的表示,存儲到數(shù)據(jù)庫中。
表1 案例主要信息
故障案例是某個特定故障的相關(guān)信息的集合,包括故障類型、故障現(xiàn)象、故障原因、修復(fù)方法以及故障件、所屬機(jī)型等。故障案例庫是將故障案例信息按照一定的規(guī)則組織為有利于存儲、管理和重用的數(shù)據(jù)庫。為了保證故障案例庫的質(zhì)量和規(guī)模,對故障樹進(jìn)行定性和定量分析,應(yīng)用正向設(shè)計知識通過故障樹分析建立頂事件(故障現(xiàn)象)到葉節(jié)點(diǎn) (故障原因)的邏輯關(guān)系,并將外場故障診斷和排故經(jīng)驗經(jīng)過規(guī)范化和結(jié)構(gòu)化處理后形成的推理規(guī)則融入其中,建立故障診斷模型,從中提取案例并實現(xiàn)案例庫的構(gòu)建。
定性分析和定量分析是故障樹主要的分析方法。定性分析是找出可以導(dǎo)致故障事件發(fā)生的所有事件的組合;定量分析是得出這些組合對于故障發(fā)生所起的作用[5]。本文以某型飛機(jī)液壓系統(tǒng)液壓油箱不能加油的故障樹為例來說明故障樹定性與定量分析過程。首先通過對液壓系統(tǒng)液壓油箱不能加油的故障機(jī)理、模式及故障后果的分析,得到其故障樹,如圖1所示。
故障樹模型可由故障樹的結(jié)構(gòu)函數(shù)來描述。上述模型的故障樹結(jié)構(gòu)函數(shù)為:
式中:k、m均為自然數(shù)。
故障樹的最小割集是指包含了最少數(shù)量,而又最必須的底事件的割集。最小割集發(fā)生,頂事件必然發(fā)生,其意義就在于它指出了系統(tǒng)中最薄弱的環(huán)節(jié)。因此,故障樹定性分析的主要任務(wù)就在于找出其最小割集[6]。
對于簡單的故障樹,只需將故障樹的結(jié)構(gòu)函數(shù)展開,然后運(yùn)用布爾代數(shù)運(yùn)算規(guī)則加以化簡;而復(fù)雜的故障樹則可以運(yùn)用下行法和早期不交化算法來求解其最小割集。經(jīng)過分析,圖1中的故障樹的最小割集為{X1,X2}、{X3,X4}、{X1,X4,X5}、{X2,X4,X5}。
故障樹的定量分析包括兩個部分:計算故障樹頂事件出現(xiàn)的概率和最小割集重要度。本文介紹最小割集重要度的分析過程,最小割集重要度主要有結(jié)構(gòu)重要度、關(guān)鍵重要度和概率重要度3種。它們從不同的角度反映了部件對系統(tǒng)影響的重要程度,使用的時機(jī)不同。
(1) 結(jié)構(gòu)重要度:表示部件在系統(tǒng)結(jié)構(gòu)上的重要性,它完全取決于部件在系統(tǒng)中的位置。
(2)概率重要度:表示基本事件發(fā)生概率對頂事件發(fā)生的影響程度。
(3)關(guān)鍵重要度:表示基本事件在故障樹結(jié)構(gòu)中所占地位造成的影響程度,是頂事件發(fā)生概率變化率對基本事件發(fā)生概率變化率的比值,是故障診斷最重要的參考指標(biāo),其計算公式為:
圖1中故障樹的定量分析結(jié)果見表2。由計算結(jié)果可以看出,關(guān)鍵性重要度的大小排序為X4>X1=X2>X3>X5。
圖1 故障樹Fig.1 Fault tree
表2 故障樹定量分析計算結(jié)果
因此,進(jìn)行故障診斷時應(yīng)首先將X4,X1,X2,X34個底事件作為檢查對象。依據(jù)關(guān)鍵性重要度進(jìn)行故障診斷,能快速、準(zhǔn)確找到故障點(diǎn),并有效縮短診斷時間,減少必要的檢修與拆卸,提高故障診斷效率[7]。
故障樹的分析結(jié)果包括系統(tǒng)中導(dǎo)致故障發(fā)生的各基本事件的組合以及頂事件發(fā)生的概率、各基本事件的概率重要度或關(guān)鍵重要度。基于此分析結(jié)果,為了尋找到控制頂事件發(fā)生的有效途徑以及故障診斷建議,使后續(xù)構(gòu)建的故障案例庫便于交互式排故引導(dǎo),本文對傳統(tǒng)的故障樹進(jìn)行擴(kuò)充,將故障樹分析結(jié)果與產(chǎn)生式推理規(guī)則(故障的現(xiàn)象描述、故障的檢查程序、故障的排故建議和維修決策等)相融合,最終建立故障樹所對應(yīng)的故障診斷模型[8]。
故障診斷的推理規(guī)則來源于專家排故經(jīng)驗知識,本文對規(guī)則的表示涉及到了Prolog中的兩個謂詞rule和cond,其中,謂詞rule的語法為:
Rule(< 規(guī)則號 >,< 類別 >,< 范疇名 >,< 子范疇名 >,<特性表>)
其中,規(guī)則號為規(guī)則庫中的規(guī)則編號;類別為規(guī)則庫中的故障樹的干或葉;范疇名為故障所屬系統(tǒng)或故障類型;子范疇名為故障細(xì)數(shù)或診斷結(jié)論;特性以1個或1組整數(shù)組代表,表示某種故障所對應(yīng)的特性。
謂詞cond的語法為:
Cond(< 特性號 >,< 特性描述 >)
其中,特性號為特性表中的編號;特性描述定義特性的一個因子,指故障癥狀或測試過程等。規(guī)則與特性示例見表3[9]。
表3 規(guī)則與特性示例
圖2 規(guī)則表達(dá)的二值范疇樹示例Fig.2 Rule expression of a two-value tree
規(guī)則和特性的結(jié)構(gòu)采取樹狀形式,液壓系統(tǒng)不能加油相關(guān)規(guī)則表達(dá)的二值范疇樹示例如圖2所示。樹中每個矩形框表示1個決策點(diǎn),當(dāng)給出了相應(yīng)于該決策點(diǎn)的規(guī)則是否成立的結(jié)果后,就可以得到下一步前進(jìn)的路徑,直到得出診斷結(jié)論[10]。
為了將圖2二值范疇樹中的規(guī)則應(yīng)用于故障診斷過程,本文將二值范疇樹進(jìn)行重新組織,基于故障樹分析結(jié)果,確定屬于不同故障模式的規(guī)則應(yīng)用的先后順序,并將規(guī)則中的內(nèi)容分解為可以指導(dǎo)排故的測試環(huán)節(jié),最終得到具有二叉樹數(shù)據(jù)結(jié)構(gòu)的故障診斷模型。其具體過程包括以下幾個步驟:
(1)按照故障樹定性分析結(jié)果中最小割集的不同故障模式對規(guī)則進(jìn)行分組,并由二值范疇樹中規(guī)則的邏輯層次關(guān)系對每組中的規(guī)則進(jìn)行排序。
(2)將規(guī)則中的內(nèi)容分解為可以指導(dǎo)排故的測試環(huán)節(jié),按照故障樹定量分析結(jié)果中關(guān)鍵性重要度大小順序,將每個故障模式的測試環(huán)節(jié)嵌入到故障樹的邏輯結(jié)構(gòu)中。
(3)借助二叉樹的數(shù)據(jù)結(jié)構(gòu),構(gòu)建出利于交互式故障引導(dǎo)的故障診斷模型,如圖3所示。
圖3 故障診斷模型Fig.3 Fault diagnosis model
從故障診斷模型中總結(jié)出案例的核心概念,充分考慮案例在故障診斷中的應(yīng)用,包括案例檢索以及案例重用等環(huán)節(jié),構(gòu)建案例信息模型,完成案例提取,并提出通過分類組織案例庫來實現(xiàn)案例調(diào)整的方法。
結(jié)合故障診斷要求,本文將案例知識內(nèi)容歸納為組成案例的3個核心概念,即案例描述、案例鎖定和案例診斷。將案例描述與模型中故障樹頂事件所表現(xiàn)出來的故障現(xiàn)象對應(yīng),案例鎖定與推理規(guī)則相對應(yīng),案例診斷則與診斷模型中對具體故障的修復(fù)措施相對應(yīng)。
通過對故障診斷模型的進(jìn)一步分析,發(fā)現(xiàn)通過這3個概念組織而成的案例中存在許多重疊的內(nèi)容。如在具有相同頂事件的故障樹中,不同的故障模式表現(xiàn)出相同的故障現(xiàn)象,不同的故障模式中也可能存在相同的推理規(guī)則與特性。因此,進(jìn)一步對案例描述、案例鎖定和案例診斷進(jìn)行分析和總結(jié),歸納出更簡潔的案例信息模型,如圖4所示。
該案例知識信息模型中,將案例分成3個部分:案例現(xiàn)象、案例測試和案例修復(fù)。分別對應(yīng)到故障診斷的3個步驟。故障案例所表現(xiàn)出來的現(xiàn)象和特征定義為現(xiàn)象集;確定故障案例的推理規(guī)則定義為測試集;所提供的故障修復(fù)方法,定義為故障修復(fù)集。
現(xiàn)象集是可以直接觀察或者測試得到的故障特征的集合,為了在故障診斷時縮小現(xiàn)象的檢索范圍,把它按照類別劃分為警告類、飛行參數(shù)類、目視類等。每1個案例可以包含多個故障現(xiàn)象,而每1個故障現(xiàn)象也可以出現(xiàn)在不同的案例當(dāng)中。
測試集是為了快速排除和鎖定案例而定義的一組有序的故障測試集合,為了方便測試的查找和使用,把它按照飛機(jī)系統(tǒng)來劃分,如液壓系統(tǒng)、環(huán)控系統(tǒng)等。為了準(zhǔn)確定位故障,每一條案例都包含一系列有序的測試項,通過合理的設(shè)置測試內(nèi)容來將每一條測試項的結(jié)果都簡化為是與否的選擇。
修復(fù)集是驗證及確認(rèn)故障是否排除的方法和故障件的相關(guān)信息的集合,它是按照系統(tǒng)來劃分。每個案例都有唯一對應(yīng)的1個修復(fù)項。
圖4 案例信息模型Fig.4 Case information model
在基于案例推理的故障診斷系統(tǒng)中,采用本文提出的方法構(gòu)建了案例庫,故障診斷過程如圖5所示。
故障診斷的流程分為4個步驟,分別是案例檢索、反向建立相似案例集的故障診斷模型、基于該模型的交互式排故引導(dǎo)、完成故障診斷與案例調(diào)整。具體內(nèi)容如下:
(1)利用相關(guān)檢索工具對案例現(xiàn)象進(jìn)行檢索,得出包含該故障現(xiàn)象的相似案例集。
(2)對相似案例進(jìn)行可視化處理,建立對應(yīng)排故流程,并將不同案例排故流程中相同的測試項進(jìn)行合并,反向建立故障診斷模型。
圖5 基于案例推理的故障診斷流程Fig.5 Fault diagnosis process based on case based reasoning
(3)基于該故障診斷模型,提供一種向?qū)降呐殴手改希迷撝改弦龑?dǎo)排故人員對故障進(jìn)行循序漸進(jìn)的定位和決策。
(4)當(dāng)定位到診斷模型中的一條唯一修復(fù)項時,就可以據(jù)此進(jìn)行故障診斷和排除,并根據(jù)診斷結(jié)果對案例庫進(jìn)一步改進(jìn)和升級,實現(xiàn)案例調(diào)整和案例庫的學(xué)習(xí)升級。
(1) 從提高案例重用和故障診斷效率的角度,通過對飛機(jī)故障樹進(jìn)行數(shù)學(xué)描述和定性定量分析,結(jié)合故障診斷推理規(guī)則,從模型中提取案例,提出一種案例組織以及案例庫的分類方法,利于案例庫的不斷豐富和升級學(xué)習(xí)。
(2)本文研究的案例庫已應(yīng)用于Dorado平臺開發(fā)的故障診斷系統(tǒng),為現(xiàn)場維修人員提供一種向?qū)降呐殴手改希瑢崿F(xiàn)基于案例推理的故障診斷功能,提高了故障診斷的正確率和排故效率,并為維修保障人員進(jìn)行知識積累和案例的共享、重用提供有效手段。
參考文獻(xiàn)
[1]CHAU K W, CHUNTIA C, LI C W. Knowledge management system on flow and water quality modeling[J]. Expert System With Applications, 2002,22(4):321-330.
[2]WATSON I. Applying knowledge management: techniques for building organizational memories[M]. San Francisco: Morgan Kaufmann Publishers, 2002.
[3]KOLODNER J L. An introduction to case-based reasoning[J].Artificial Intelligence Review, 1992,6(1): 3-34.
[4]WATSON I. CBR is a methodology not a technology[J].Knowledge Based Systems, 1999,12(56) : 303-308.
[5]CHECKLAND P, SCHOLES J. Soft systems methodology in action[M]. UK: Wiley, 1999.
[6]REISBECK C K, SCHANK R C. Inside case-base reasoning[M].UK: Lawrence Erlbaum Associates, 1989.
[7]LIEBOWI T Z J. Knowledge management handbook[M]. London:Crc Press,1999.
[8]CONNELL C, KLEIN J H, LOEBBECKE C. Towards a knowledge management consultation system[J]. Knowledge and Process Management, 2001,8(1): 48-54.
[9]SHIN K S, HAN I G. Case-based reasoning supported bygenetic algorithms for corporate bond rating[J]. Expert Systems With Applications,1999, 16(2):85-95.
[10]SLONIM T Y , SCHNEIDER M. Design issues in fuzzy casebased reasoning[J]. Fuzzy Sets and Systems, 2001, 117(2):251-267.