秦 楠 薛 鵬
(1.92199部隊 青島 266000)(2.91184部隊 青島 266000)
液壓系統是艦船的重要組成部分,其故障主要來源于油污染、泄漏、磨損等,具有多發性、不確定性和隱蔽性的特點[1~3]。多種類型的故障交叉出現,要求維修人員必須具有豐富的專業知識和維修經驗,給某型艦船液壓系統的故障診斷帶來很大難度。專家系統將大量專業知識與歷史維修案例有機融合,指導維修人員快速處理故障,可以很好地解決這一問題。目前,針對艦船液壓故障診斷問題而開發的專家系統多采用基于規則的推理方法,其診斷的智能化水平有了很大的提高,但仍存在著知識獲取困難、專家知識表述規則化困難、推理過程不易理解、在復雜系統中可能出現組合爆炸等問題。近年來,隨著人工智能技術的發展,出現了基于案例推理(case-based reasoning,CBR)的方法,文獻[4]將其應用于裝填車的液壓系統故障診斷,文獻[5]將其應用于防空火炮的故障診斷,文獻[6]將其應用于飛機電子設備的故障診斷。現有研究表明,CBR 方法具有知識獲取簡單、知識積累方便等優點,但也依然面臨著求解質量受專家主觀經驗影響、求解效率有待進一步提高等問題。本文在現有方法的基礎上進行改進,將基于案例推理方法引入某型艦船液壓故障診斷系統的設計中,進一步提高故障診斷的準確性和效率。
某型艦船液壓系統故障診斷機理可以概括為R5:案例表示(Represent)、案例檢索(Retrieve)、案例重用(Reuse)、案例修訂(Revise)和案例保留(Retain),如圖1所示。

圖1 艦船液壓故障診斷系統的案例推理工作流程
在某型艦船液壓故障診斷專家系統中,用戶首先用系統可以識別的語言在人機界面中輸入故障征兆及關鍵詞等信息,系統根據用戶描述生成結構化的查詢案例。系統根據檢索策略計算故障特征屬性和相似度,從案例庫里檢索出與查詢案例相似度最高的案例進行匹配,并根據新案例的屬性進行修正,得到適合當前故障的處理方法。用戶根據實際情況,對故障診斷效果進行評估,若未能對當前問題形成指導,則將該故障作為新案例加入案例庫,以實現案例庫的完善。
根據某型艦船液壓系統故障診斷的特點,將基于案例推理的技術應用于其故障診斷專家系統的設計中,完成故障案例的表示方法設計、故障案例的檢索策略設計、系統結構和工作流程設計。
故障案例的表示方法是案例屬性、故障特征、領域知識、數據處理方法等相關知識的集合,也是后續案例檢索、重用等步驟的基礎,其結構及內容直接影響著案例檢索及故障診斷的效能。針對某型艦船液壓系統的故障特點,本文采用基于屬性的故障案例表示方法,即每個案例可以用兩種屬性表示:故障基本屬性和故障特征屬性。
故障基本屬性可以用一個5D 向量表示:Case={N,I,S,C,M} ,式中N(NO.) 代表編號,N(NO.)={No,Ns,Nc} ,No是案例編號,Ns是子系統案例庫編號,Nc是子系統案例集編號,I(Information) 是故障發生時間、位置等信息;S(Symptom)是故障征兆;C(Causation)是產生故障模式的原因;M(Measure)是故障的維修措施。
故障特征屬性主要包括故障特征向量和故障特征權重向量,具體表示為一個2D 向量:Fault={Ti,Wi},其中,Ti是故障特征向量,可以表示為
式中:Ti為第i個案例的故障特征向量;Ti(n)為第i個案例中的第n個指標參數化處理后得到的特征值。Wi是故障特征權重向量,即采用粗糙集理論進行故障特征權重計算后得到的向量。
將基于案例推理的方法應用于艦船液壓系統的故障診斷中,核心問題是如何向用戶提供最具參考價值的歷史案例及其解決方案,為當前故障維修提供指導,即故障案例的檢索算法設計。當前,在案例檢索中廣泛采用的使用k-NN 最近鄰法計算故障案例的相似度[7~8],在相似度計算中,權重會對求解質量產生較為顯著的影響。在傳統方法中通常由領域專家給出,考慮到專家經驗的主觀性影響,以及專業領域知識有時獲取困難,本文在原有方法的基礎上進行改進,引入粗糙集理論用于計算特征屬性的權重[9~10]。
設有n個源案例,當前案例X與第k個源案例Yk(1 ≤k≤n)的相似度S(X,Yk)可以用下式計算:
式中:X={}x1,x2,...,xi,...,xj為當前案例;xi(1 ≤i≤j)為第i個特征屬性值;Wi表示第i個特征屬性的權值;d(xi,yki)為xi、yki在m維特征空間D=(D1,D2,...,Dm)上的距離:
Wi表示第i個特征屬性的權值,首先做如下定義[11~12]:對于近似空間V=(U,R),且P?R,Q?R:當IND(P)?IND(Q),知識Q依賴于知識P。知識Q對知識P的依賴可以用下式表示:
其中,CARD()表示集合的基數。
設案例庫C={c1,c2,...,ci,...cn}為一個由n個案例組成的非空有限集合,?ci(0 ≤i≤n),ci∈C。可設案例ci=(T,D),其中T為特征屬性,D為決策屬性。特征屬性T=(t1,t2,...,tj...tm)為一個非空有限集合,其中tj(1 ≤j≤m) 為案例ci的一個特征項,對應的特征項權重為wj(1 ≤j≤m)。下式可用于計算tj的權重:
使用上述方法可以在一定程度上減少專家主觀性影響,提高相似度的求解質量,為系統檢索匹配案例提供較好的計算依據。
某型艦船液壓故障診斷專家系統由人機界面、推理機、解釋機、診斷報告、診斷信息獲取、綜合數據庫、數據庫管理和案例學習8個模塊組成,如圖2所示。

圖2 艦船液壓故障診斷專家系統結構圖
人機界面又稱人機接口,是用戶和專家與系統之間進行信息交流的軟件界面,它將用戶輸入的故障征兆等信息轉換為系統可以理解的表示形式,再將系統處理后的信息提供給用戶,專家也可通過該界面對案例庫和知識庫的信息進行維護、管理。推理機模塊是艦船液壓故障診斷系統的核心模塊之一,它根據用戶輸入的數據,在案例庫中按照設計好的檢索策略進行檢索,并將相似度較高的參考案例提供給用戶。解釋機模塊根據知識庫中的信息,使用戶能夠掌握系統的推理過程和診斷步驟。診斷信息獲取模塊采用檢測設備對某型艦船液壓系統的相關測試節點進行數據采集,并將結果傳送到綜合數據庫中。診斷報告模塊,將案例相似度、故障原因、維修對策等結果信息以報告的形式反饋給用戶。案例學習模塊主要通過兩種手段實現案例庫的豐富與更新:一是補充新案例以增大檢索范圍,二是對現有案例進行修正,提高推理的準確度。綜合數據庫模塊也是系統的核心模塊之一,主要由案例庫、知識庫和黑板三部分組成。其中案例庫主要存儲某型艦船液壓系統發生過的歷史故障案例信息,包含案例編號、故障時間地點、故障排除過程及結果等信息;知識庫主要存儲某型艦船液壓系統中的設備名稱、結構圖、工作原理、原始數據等資料信息;黑板則用來存放系統推理過程中產生的臨時數據。數據庫管理模塊,是專家對綜合數據庫進行維護的子系統,可以保證數據內容的準確性和完備性。某型艦船液壓故障診斷專家系統的工作流程圖如圖3所示。

圖3 艦船液壓故障診斷系統工作流程圖
某型艦船液壓故障診斷專家系統的案例數據主要來源于某型艦船2015 年以來的歷史維修記錄,包括泵、蓄能器、管路、閥件等眾多部件,利用Access 2010 建立了較為完整的某型艦船液壓系統故障案例數據庫。在此基礎上,以Visual Basic 為開發語言,SQL Server 2008 為數據庫查詢工具,在Microsoft Visual Studio 2010 平臺中開發了基于案例推理的某型艦船液壓故障診斷專家系統,系統故障案例庫編輯界面如圖4所示。

圖4 艦船液壓故障診斷專家系統案例庫編輯界面
以某型艦船發生的實際故障為例進行案例檢索,具體故障征兆為:某空氣瓶內出現大量液壓油。依據3.3 節中提到的工作流程,將故障信息輸入人機界面。系統在案例庫中進行最近鄰匹配,根據3.2 節中提到的算法計算相似度,選取相似度閾值為0.8,將相似度大于0.8 的案例作為備選結果,如表1所示。

表1 案例檢索相似度分析
在相似度最大的案例中,取匹配次數最大的案例生成維修指導信息,如表2所示。

表2 系統生成的維修指導信息表
由于本系統是在收集大量艦船液壓系統實際故障的基礎上,進行歸納整理,以案例庫和知識庫的形式存儲于數據庫中,同時根據特征屬性的權重計算相似度,對目標案例的匹配更加科學,給出的維修指導信息簡介清晰,有效提高了某型艦船液壓系統故障診斷的準確性和效率。
將基于案例推理的方法應用到某型艦船液壓故障診斷專家系統的開發設計中,具體故障案例分析結果表明:
1)引入粗糙集理論對基于案例推理的方法進行改進,提高了故障案例檢索的效率和準確率;
2)所開發的系統具有較好的診斷能力和較高的診斷效率,為某型艦船液壓系統的故障診斷提供了保障。