李志金 鄭映烽
摘 要:針對船用核動力裝置的運行特點,為輔助運行人員在線開展事故智能診斷分析,基于CLIPS工具進行事故診斷專家系統的開發研究。根據裝置的事故特點及已有的研究成果,對事故類別進行歸并,并梳理了事故診斷“專家知識”的獲取途徑,建立確定性知識、模糊性知識的數學表示方法;然后基于正向推理方法建立事故診斷的推理流程,給出專家系統的沖突消解策略,完成事故診斷推理機的設計。
關鍵詞:核動力裝置 事故診斷 專家系統 沖突消解 推理流程
中圖分類號:TL364 文獻標識碼:A 文章編號:1674-098X(2015)08(c)-0019-03
與核電廠反應堆相比,船用核動力裝置運行工況復雜多變,在裝置出現異常狀態時,更加依賴操縱員及時有效的干預。但這無疑將增加操縱人員的工作負擔,導致人因失誤概率提升[1]。因此,針對船用核動力裝置,開發在線的事故診斷專家系統,對輔助運行人員及時確定事故類型、事故原因,給出事故對策,確保反應堆的運行安全都a具有重要的意義[2]。該文在系統對比各種專家系統工具的基礎[3-4]上,選擇專家系統工具CLIPS作為基本平臺,開發完成船用核動力裝置事故診斷專家系統。
1 專家系統工具CLIPS概述
CLIPS是一種多范例編程語言,它支持基于規則的、面向對象和面向過程的編程,屬于開源程序[5]。該文主要是運用CLIPS中基于規則的專家系統部分,它的基本組成:(1)事實表:包含事故診斷推理所需的數據;(2)知識庫:包括所有的事故判斷規則;(3)推理機:對診斷過程進行總體控制。基于CLIPS專家系統其采用的是正向推理方法,其結構組成主要有產生式規則庫、工作存儲器、模式匹配器、沖突消解器和解釋機等部分構成,如圖1所示。其中產生式規則庫中的規則在CLIPS語言中由規則左件(LHS)和規則右件組成;工作存儲器主要是用于存儲事實列表,其中包括專家經驗知識和大量的運行數據信息;模式匹配器是規則左件與工作存儲器中事實進行匹配的場所;沖突消解器是處理模式匹配過程中規則之間的沖突,本專家系統主要利用優先級的控制策略來處理沖突消解這一問題;解釋器主要給出系統模式匹配的故障結果、推理的解釋及故障的處置措施。
CLIPS具有良好的兼容性、集成性和知識表示的多樣性,同時運行效率高,經濟可靠,目前已經廣泛應用于計算機、化學、醫學、地質學等各個領域。
2 船用核動力裝置事故知識的獲取和表示
船用核動力裝置事故診斷專家系統是運用特定的知識表示方法將核動力系統這一領域內的專家經驗知識按照一定的形式輸入到計算機中,使得該計算機能夠模擬專家進行推理診斷,找到故障原因。由于船用核動力裝置系統復雜,運行工況多變,事故知識多樣化。為準確描述事故信息,便于事故的準確診斷,該文對事故進行了分類,并系統研究了知識的獲取和表示方法。
2.1 事故分類及知識獲取
借鑒核動力裝置安全分析報告、事故處置規程的研究成果和事故的特點規律,從事故診斷專家系統設計的需求出發,將核動力裝置典型事故分為8類,主要包括:二回路系統排熱增加、二回路系統排熱減少,主回路流量喪失事故,一回路系統中小破口失水事故,一回路系統冷卻劑裝量增加事故,蒸汽發生器傳熱管破損事故,未能緊急停堆的預期瞬變事故,放射性屏障失效事故,專設安全系統冗余能力下降事故。在事故分類基礎上,研究確定事故診斷信息,即事故知識的獲取方法。
所謂的“知識獲取”實質上是指從專家或其他專門知識來獲得知識并向知識型系統轉移的技術。知識獲取的基本任務:(1)提煉經驗知識,對知識進行理解、選擇、分類和組織,最后形成知識庫;(2)從已有的知識中產生新的知識;(3)檢查知識的完備性、一致性和冗余性,這是對獲取的知識檢測最重要的環節,也體現了專家系統知識庫的靈活性和強大的生命力。
知識獲取是事故診斷專家系統的重要環節,同樣也是構建專家系統的難點。目前專家系統知識獲取方法從知識來源看,主要途徑有以下幾種:知識工程師以會談的形式從專家那里獲取知識,已有的研究成果中抽取知識,從實裝事故運行數據中提取知識,從外部環境不斷學習更新知識。一個成熟的知識庫應該具備知識的獲取和學習機制等能力,它們是保證專家系統的性能的重要因素。
2.2 確定性知識表示方法
針對核動力裝置事故知識的多樣性和復雜性,本專家系統對知識進行抽象合理的表達。目前專家系統的知識表示主流方法有以下幾類:謂詞邏輯表示法、產生式表示法、框架表示法、語義網絡法。其中產生式系統簡稱產生式,它是構造知識型系統和建立認知模型時常用的知識表示的形式,是人工智能系統中最典型的結構之一。與其它常規程序不同之處在于產生式系統中規則的激活不在事前硬性規定,各個產生式之間不相互調用,關鍵看規則前件與數據庫中相應數據是否匹配。產生式系統基本結構包括:(1)總數據庫:它包含了與具體任務相關的信息;(2)一套規則:它是對數據庫進行操作運算;(3)一個控制策略:它針對的是哪條規則復合條件并激活。產生式系統的優點是:(1)模塊化:每個產生式系統是相互對立、互不相關的,所以可以較容易的對知識進行添加、修改和刪除;(2)均勻性:每個產生式系統只是表示整體知識的一個部分,知識分布結構分布較細易于理解;(3)自然性:直觀知識的表示非常自然。
基于產生式系統,確定性規則的基本形式可表示為:
上式表示的是單故障征兆對應的故障。
上式表示的是多個故障征兆對應的故障。
其中和表示的是產生式的前件部分,是判斷規則是否被激活的前提條件。表示的是產生式的后件部分,是這一規則的結論或動作。當且僅當前件匹配成功時,規則的后件才能激活給出相應結論。
2.3 模糊性知識表示方法
知識的不確定性主要表現在兩個方面:一方面是證據或者事實的不確定性;另一方面是規則的不確定性。故障征兆是判斷故障的主要依據,同時也是專家系統中知識庫的主要組成部分。故障征兆又稱故障現象,在本系統中主要以兩種形式存在:(1)以自然語言的形式存在,例如穩壓器水位下降,蒸汽發生器二次側壓力等,這一類主要是通過總結前人及專家的經驗得到的;(2)以數據形式存在,在使用數據前要先對數據進行濾波,降噪等處理,形成比較直觀的征兆表達形式,而該類征兆在此處主要是通過模擬故障或艦艇實際運行數據來獲取的。
由于核動力裝置的復雜性使得其故障形成的原因和征兆的因果關系錯綜復雜,故障之間相互關聯難以分離,征兆與故障之間難以建立明確的數學模型,只能用描述性的語言把一些設備的運行狀態描繪出來,例如“壓力快速升高”、“溫度下降”等模糊性的語言。通過閱讀大量文獻及專家經驗,針對上述對征兆的描述及特點可將其分為五個變化狀態,即“快速升高”、“升高”、“正常”、“降低”、“快速降低”。這五種狀態分別對應的五種特征值,即1.0,0.5,0,-0.5,-1.0。
為了使知識的表示更為準確,采用模糊數學中求隸屬度的方式,從實際情況出發,并根據專家經驗找出滿足條件的隸屬函數,本系統采用的隸屬函數算法如式(1)所示。
(1)
式中,為參數正常值;為參數變化的最小限值;為參數變化的最大限值。
征兆模糊隸屬度函數的模糊語言描述,利用下式進行計算。
(2)
表達式(2)中,
是人為確認的系統默認閾值,這樣由式(1)、式(2)可得到不同程度描述的數學特征值。
3 核動力裝置事故診斷推理機的設計
上述知識表示方法可將得到的故障征兆轉化為計算機可識別的形式,但還需要按一定的策略進行推理得到相應的診斷結論,推理即是由一個或多個已知事實推導出未知結論的過程。推理機在專家系統中具有核心地位,該文推理機設計考慮了推理方法和推理策略兩個方面。
3.1 推理方法研究
該文所設計的專家系統是由故障征兆得到故障類型,采用的是正向推理策略,其推理流程包括:(1)判斷數據庫中已有事實能否得到診斷結論;(2)如果不能得出結論,則將綜合數據庫中的事實與規則前件相匹配,將匹配成功的規則加入到規則集;(3)在按沖突消解的策略選出一條合適的規則,執行規則得到結論事實,并把結論加入到數據庫中。正向推理流程示意如圖2所示。
3.2 沖突消解策略
在專家系統中推理機通過設定的特權值將激活的規則進行分類,這過程稱為沖突消解。沖突消解是決定下一個觸發規則的沖突,CLIPS按照議程中所給定的權限值(salience)來確定哪條規則被激活,一般規則被激活是按照由大到小的順序,salience的值設置范圍為(-10000,+10000),默認特權為0。CLIPS具有7種不同的沖突消解策略,它們分別為深度優先策略(depth)、廣度優先策略(breadth)、LEX策略、MEA策略、complexity策略、simplicity策略和隨機策略(random)。這7類沖突消解策略各有各的優點,只是每一種沖突消除策略在針對不同的軟件程序時適用程度有所區別。
深度優先策略(depth strategy)是CLIPS標準默認策略(default strategy)。它是類似于故障樹的推理策略,其搜索的起始點為頂層節點,由頂層節點向第二層某一子節點進行搜索,再由該子節點向其下一級的節點搜索直到匹配到目標節點為止,如果未找到目標節點,則返回上一層節點重新搜索,重復上述步驟,直到找到相匹配的目標節點為止,具體流程如圖3所示。
如圖3所示,該模型搜索到目標節點后,即結束搜索,其搜索路徑為:
路徑1=> A —> B —> E —>J,經優化變為=>A —> B —> E —>J;
路徑2=> A—> C—> F—>H —>K,經優化變為=>C—> F —> H —>K;
路徑3=> A—> C—> F—>I—>L,經優化變為=>I—>L;
路徑4=> A—> C—>G,經優化變為=>G;
路徑5=>A—>D,經優化變為=>D。
經過優化后的搜索路徑,在一定程度上減少了搜索時間,在搜索過程中忽略了已搜索過的節點直接進入該節點的另一未搜索的子節點中進行搜索,降低了搜索的復雜程度,提高了搜索效率。
3.3 推理流程
按照CLIPS的推理方式,專家系統的推理流程如圖4所示,其過程可分為如下幾個步驟:
(1)將初始事實表中事實按照規定的計算機的語言形式加載到綜合數據庫中;
(2)知識匹配,通過掃描知識庫中的規則知識,將知識庫中的所有知識的規則前件與綜合知識庫中的事實相互匹配;
(3)檢查是否存在匹配的規則,如果存在匹配的規則時跳轉到(4)繼續進行推理,假如不存在匹配規則時,則結束推理;
(4)將匹配成功的規則放入到議程表中,然后對規則進行執行并得到新的事實,最后新的事實重新加載到綜合知識庫中;
(5)重復上述過程,直到議程表中激活的規則執行完畢。
在此基礎上,利用CLIPS與VC++混合編程構建了船用核動力裝置事故診斷專家系統,克服了CLIPS界面不友好和VC++診斷推理存在缺陷等問題[6-7]。在實驗論證階段以主系統破口、蒸汽發生器傳熱管破損及安全閥卡開等事故作為診斷實例,結果表明船用核動力事故診斷專家系統能快速診斷出這三類故障并給出相應的處理措施。
4 結語
該文針對艦船核動力裝置的事故特點,結合已有的研究成果,對典型事故類別進行了歸并,并研究提取了事故診斷知識,建立了知識表示方法,設計推理機,開發了相應的事故診斷專家系統。在船用核動力裝置出現異常或事故瞬變時,可以輔助運行人員開展智能診斷,減少人員誤操作,對提高核動力裝置的運行安全性具有重要意義。
參考文獻
[1] 周剛,苗海,張大發.船舶動力裝置儀表與控制系統的故障診斷系統研究[J].海軍工程大學學報,2002,14(5):333-337.
[2] NASA.CLIPS Reference Manual Volume I Basic Programming Guide [M].Vesion6.24June 15th,2006.
[3] Nabeshima K,Suzudo T,Ohno T,et al.Nuclear Reactor Monitoring with the Combination of Neural Network and Expert System[J].Mathematics and Computers in Simulation,2002,60(3):233-244.
[4] Liao S H.Expert system methodologies and applications-a decade review from 1995 to 2004[J].Expert Systems with Applications,2005,28(1):93-103.
[5] 楊家濤.基于CLIPS的船舶機艙設備診斷專家系統研究[D].武漢:武漢理工大學,2012.
[6] 謝曉方,姜震.一種結合CLIPS和VC++開發專家系統的方法[J].計算機系統應用,2004(12):61-63.
[7] 鄧海平,何玉林,杜靜,等.CLIPS嵌入VC++技術的實現與應用[J].計算機工程與應用,2009(15):88-90,132.