摘要:針對我國動車組維修的特點,為動車組維修人員能夠及時、快速地對動車組發生的故障進行分析和處理,運用人工智能的思想,結合數據庫技術,設計了一套知識表示和知識庫管理系統,對動車組故障信息及其原因信息、處理措施信息進行維護,處理了知識的正確性、完備性、冗余性、一致性檢驗,并在一定程度上實現了知識處理的自動化,對我國高速鐵路動車組維修工作起到輔助支持作用,有很強的實際意義。
關鍵詞:故障診斷;知識庫;知識庫管理系統
中圖分類號:TP182文獻標識碼:A 文章編號:1009-3044(2008)16-21243-03
Fault Diagnosis Knowledge Base Management System Designed for EMUs
LI Ting, LIU Feng, ZHANG Chun
(School of Computer, Beijing Jiaotong University, Beijing 100044, China)
Abstract: Aimed at the feature of EMUs maintenance in China, the EMUs Fault Diagnosis Knowledge Base Management System (FDKBMS) Design bases on database technology and artificial intelligence, it can realize knowledge management and check validity, completeness, redundancy, consistency of knowledge. Besides, it can also achieve knowledge's automatization, it plays a supporting role and has very strong practical significance for Chinese railway's maintenance.
Key words: Fault Diagnosis; Knowledge Base; Knowledge Base Management System
1 引言
動車組作為一種全新的鐵路客運運載設施,它具有快速、安全、高標準的服務功能,在運營的同時難免會發生故障,檢修段所會根據動車發生的故障進行原因分析,并采取相應的解決措施。鐵路動車組故障診斷知識庫管理系統(Fault Diagnosis Knowledge Base Management System,以下簡稱FDKBMS),作為動車組故障專家系統的重要組成部分,為動車組維修人員能夠及時、快速地對動車組發生的故障進行分析和處理提供了輔助支持。該系統的研究對我國高速鐵路動車組快速維修具有重要的實際意義。
2 知識表示與故障知識庫的建立
為了使計算機系統具有智能,使它能模擬人類的智能行為,就必須使它具有知識,知識是智能的基礎。但知識需要用適當的模式表示出來才能存儲到計算機中去。因此,知識的表示成為人工智能中一個十分重要的研究課題。
常用的知識表示方法主要有一階謂詞邏輯表示法、產生式表示法、框架表示法、語義網絡表示法。結合鐵路動車組檢修業務,本文采用產生式表示法進行故障知識的表示。
產生式表示法通常用于表示事實、規則以及它們之間的不確定性度量,適合于表示事實性知識和規則性知識。基于此,我們將知識庫中的知識按其結構劃分為事實性知識和規則性知識,它們分別組成了事實庫和規則庫。
事實庫:以事實表表示,由基本事實所組成。故障知識庫關心的主要是對于已發生的故障,對應的故障原因以及處理措施,因此,事實庫中的基本事實應分為三類,即故障信息(Failure,以下簡稱F)、原因信息(Cause,以下簡稱C)、處理措施信息(Resolution,以下簡稱R)。事實表的索引定義為事實的編號,其余字段是有關事實的說明信息,以及事實的分類信息,因此事實表可以看成是一個數據字典。
規則庫:是知識庫的主要部分,用規則表來表示,用來建立故障信息(F)、原因信息(C)、處理措施信息(R)三類事實之間的關系。規則的表達套用if…then…形式,當一條規則的前提是F時,其結論為C,當前提是C時,結論為R。通過設置這三種事實代碼來建立F-C-R(故障-原因-處理措施)關系,可以一對多形成樹形結構。
我們定義事實表和規則表的存儲形式如表1、表2所示。
其中,規則的條件和結論在添加到知識庫之前可以是or、and的組合,但添加到知識庫后要經過轉化,條件和結論都轉化為只含and的形式。如:規則if a or b then c and d;轉化后變成兩條規則儲存在規則庫中:
Rule1:if a then c and d;
Rule2:if b then c and d。
3 FDKBMS功能介紹
FDKBMS的主要功能是實現對動車組故障診斷知識的維護,包括瀏覽、添加、修改、刪除等操作。在一定的知識積累后會有自動擴充知識庫的功能,操作人員可以通過參考以往故障的解決辦法,方便地為新發生的故障提供合理的解決方案。其功能設計如下:
3.1 知識的查詢
對故障知識的查詢操作包括查詢故障信息、原因代碼、處理措施以及瀏覽規則。用戶可以根據知識的編號進行單條知識的查詢。也可根據事實編號,依據規則,查詢對應的原因信息或處理措施,為維修人員進行維修提供參考依據。
3.2 知識的添加、修改、刪除
知識的添加、修改、刪除包括對規則和事實的分別處理。以添加一條故障信息F及其規則操作為例,其流程如圖1所示。
圖1 知識添加流程圖
情況一:當F為新知識時,需要為其添加新原因知識C,以及處理措施知識R,并對它們進行知識檢驗,符合要求的知識方可入事實庫。然后添加對應的規則,同樣也要進行知識檢驗,通過后將新規則入庫。流程結束。
情況二:當F在知識庫中已存在時,根據已有規則,查出對應的原因知識C(可能為多條)。
若C中有符合的原因,根據規則查詢該原因對應的處理措施R(可能為多條),若R中有最適合的方案,流程結束;否則,需要添加新的R,進行知識檢驗,通過后進入事實庫。
若C中無符合的原因,則需要添加新的C與R,進行知識檢驗,通過后進入事實庫。
然后添加對應的規則,同樣也要進行知識檢驗,通過后將新規則入庫。流程結束。
3.3 知識的檢驗管理
知識的檢驗是FDKBMS中,對知識進行維護的一個重要的環節,也是系統中比較重要的一部分。對知識的任何操作都需要進行檢驗,即冗余性、完備性、一致性、正確性檢驗。
(1)知識的冗余性檢驗
冗余檢驗主要是檢查知識庫中是否存在相同的記錄。事實庫和規則庫在添加或修改一條事實或規則時都會進行檢驗,若表中存在相同的記錄,系統應提示“該事實(規則)已存在!”,讓用戶重新編輯。
(2)知識的完備性檢驗
刪除知識時尤其要進行完備性檢驗,目的是防止用戶不小心刪除了有用的信息。例如當刪除事實庫中一條原因分析的記錄時,由于有故障信息或處理措施信息與其關聯,這樣當該記錄刪除時,相應的規則就會作為錯誤的記錄存在。為此,當刪除原因分析記錄時系統應該提示在刪除該記錄同時,將規則表中與之有關的所有規則刪除。
(3)知識的一致性檢驗
在FDKBMS中,一條故障知識,產生的原因具有多樣性,同樣,一條原因知識,對應的處理措施也是多樣的,這樣維修人員檢測到故障后,輸入故障信息,即可查出對應的相關可能原因及處理措施,這樣為故障的維修提供了強有力的實踐參考,也是建立本系統的首要原因。故在知識的一致性檢驗方面,本系統的要求適當放松,對于矛盾的規則,主要依靠人工判斷是否該修改、刪除。
(4)知識的正確性檢驗
正確性檢驗以對規則的正確性檢驗為核心。對于一條規則,前提的事實一定是故障信息或者是原因信息,結論的事實一定是原因信息或是處理措施信息。在對規則進行添加、刪除、修改時,以下四種情況系統均要提示錯誤信息:
前提知識為R;
前提知識為F,結論知識為R;
前提知識為C,結論知識為F;
結論知識為F。
4 結束語
本文的動車組故障診斷知識庫管理系統(FDKBMS)是以JDeveloper作為開發工具, 采用ORACLE 10g作為后臺數據庫開發的,界面友好,功能完備,較好的表達了動車組故障診斷的知識模式并處理了知識的正確性、完備性、冗余性、一致性檢驗,通過設置大量的選擇添加功能,一定程度上實現了知識處理的自動化。
參考文獻:
[1] 陸源.王瑞峰.信號設備專家故障診斷系統知識庫的研究[J].微計算機信息,2007(28).
[2] 黃采倫,樊曉平,陳特放.列車故障在線診斷技術及應用[M].國防工業出版社,2006.
[3] 王萬良.人工智能及其應用[M].高等教育出版社,2005.
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。