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