(海軍駐蘭州地區(qū)軍事代表室 蘭州 730070)
飛機武器發(fā)控通道是指用于控制和管理飛機所攜帶的各種武器,涉及“機載武器控制系統(tǒng)(又稱懸掛物管理系統(tǒng))—發(fā)射裝置—機載武器”的航空武器綜合體。目前,部隊維護人員通過相關(guān)測試設(shè)備可以對某型飛機武器發(fā)控通道進行維護,但維護工作中存在故障定位周期長、故障隔離與定位不準確和故障排除效率低等狀況。因此,本文將人工智能技術(shù)應(yīng)用到武器發(fā)控通道故障診斷領(lǐng)域[1],通過建立故障診斷專家系統(tǒng),對導(dǎo)彈發(fā)射通道故障進行快速準確定位,并提出專家級維修建議。
傳統(tǒng)的診斷類專家系統(tǒng)大都采用基于規(guī)則推理(Rule-Based Reasoning,RBR)的方法,這種方法適合于專家知識易用規(guī)則表達的簡單系統(tǒng)。但是,對于武器發(fā)控通道這樣復(fù)雜的系統(tǒng),許多故障現(xiàn)象是難以用結(jié)構(gòu)化數(shù)據(jù)來表達的,如果全部用規(guī)則的形式來表示故障診斷知識,不僅提煉規(guī)則相當困難,而且規(guī)則庫也十分龐大和復(fù)雜。因此,單純采用基于規(guī)則的方法并不是很有效。論文采用基于案例推理(Case-Based Reasoning,CBR)與基于規(guī)則推理相結(jié)合的思想,將過去已有的大量診斷案例和可能發(fā)生的故障和排除方案作為知識的來源,同時與傳統(tǒng)的基于規(guī)則推理方法相結(jié)合,設(shè)計了基于CBR 和RBR 混合推理的武器發(fā)控通道故障診斷專家系統(tǒng)[2]。
基于CBR 和RBR 的武器發(fā)控通道故障診斷專家系統(tǒng)結(jié)構(gòu)模型如圖1所示。
圖1 故障診斷專家系統(tǒng)結(jié)構(gòu)模型
系統(tǒng)主要由基于CBR 的高層診斷模塊和基于RBR 的低層診斷模塊構(gòu)成,其設(shè)計思想是基于分層診斷的策略[3]。高層診斷模塊由診斷信息獲取模塊、案例庫、案例庫管理單元、CBR 推理機、動態(tài)數(shù)據(jù)庫和自學習模塊組成,完成基于案例的診斷推理。高層診斷原則上主要用于診斷過程的剪枝,即縮小狀態(tài)空間的搜索范圍,以提高系統(tǒng)工作的效率。低層診斷模塊實際上是一個典型的基于規(guī)則的專家系統(tǒng),主要由知識庫、RBR 推理機、動態(tài)數(shù)據(jù)庫、知識獲取單元、解釋單元等部分組成。當用戶提交一個診斷任務(wù)時,首先由高層診斷模塊進行診斷,將故障范圍確定到功能單元級部位。高層診斷模塊的求解方案都是以定位到功能單元級部位的子故障描述作為最小解單元,這些功能單元級的子故障又作為低層診斷單元的診斷任務(wù)進行進一步診斷。按照層次診斷策略設(shè)計的武器發(fā)控通道故障診斷專家系統(tǒng),不僅降低了知識提取和組織的難度,而且大大提高了系統(tǒng)的工作效率。
武器發(fā)控通道是個復(fù)雜的大系統(tǒng)。作為一個對象系統(tǒng),武器發(fā)控通道具有結(jié)構(gòu)層次性,可以將其劃分為若干系統(tǒng),然后進一步劃分為若干分系統(tǒng)、子系統(tǒng)和功能單元。通過分析武器發(fā)控通道故障的產(chǎn)生及傳播機理,可以總結(jié)出武器發(fā)控通道的故障具有層次性、相關(guān)性、時間性和不確定性等特點。針對診斷對象的上述特性,采用分層和分類的方法對知識庫及其管理系統(tǒng)進行合理設(shè)計[4]。
武器發(fā)控特點結(jié)構(gòu)復(fù)雜,進行故障診斷所需要的知識覆蓋面很廣,為了很好地組織和記憶知識,并便于檢索和維護,將完成診斷任務(wù)時有關(guān)具體對象的知識分為以下五類:
1)功能結(jié)構(gòu)知識:指對發(fā)控通道結(jié)構(gòu)和性能的描述知識,主要包括測控設(shè)備的結(jié)構(gòu)層次,功能層次,相互間的輸入、輸出行為關(guān)系以及設(shè)備本身的工作原理等。
2)專家經(jīng)驗知識:指對發(fā)控通道故障、征兆和原因等直接聯(lián)系的專家啟發(fā)式經(jīng)驗知識,它是領(lǐng)域?qū)<业慕?jīng)驗總結(jié),常以規(guī)則的形式存在于專家的頭腦而被專家非常靈活的應(yīng)用。
3)信號特征知識:指在發(fā)控通道進行診斷時,許多參數(shù)是無法檢測的,因此,大量應(yīng)用的是運行過程中產(chǎn)生的外部直接可觀測的信號(如振動、噪聲、溫度等),通過對這些特征參數(shù)信號的分析,能比較準確地診斷設(shè)備故障。
4)環(huán)境知識:表示與診斷對象有關(guān)的外圍知識,如設(shè)備使用時間、工作環(huán)境與故障頻率及故障類型分布等。
5)控制知識:表示對領(lǐng)域知識的運用起指導(dǎo)作用的知識,即表示問題求解的控制策略。
知識庫是專家知識的存儲器,其結(jié)構(gòu)是否合理關(guān)系著系統(tǒng)診斷的效率。知識庫的表示方法很多,復(fù)雜系統(tǒng)的知識往往需要將多種不同的表示方法相結(jié)合才能有效表達出領(lǐng)域知識,本文主要采用了產(chǎn)生式表示法和基于案例的表示法。
1)產(chǎn)生式表示法
產(chǎn)生式表示法又稱規(guī)則表示法,其基本形式是:
如果〈前提〉,那么〈結(jié)論〉〈可信度〉。
將所有的武器發(fā)控通道故障統(tǒng)一編號,以數(shù)值故障為例。以“故障編號L(或S)”的形式組合,作為規(guī)則的前提。故障編號是指將數(shù)值故障進行編號,如編號1是指導(dǎo)彈發(fā)射電壓,編號2是指某部件電壓測量。如果實際測得的數(shù)值量比標準量偏大,用L(Large)表示,如果偏小,用S(Small)表示。按這種方式建立規(guī)則知識庫,如表1所示。
表1 規(guī)則知識庫結(jié)構(gòu)
2)案例表示法
案例是故障診斷知識的一種表示模式,它將專家的知識與經(jīng)驗用描述案例的數(shù)據(jù)結(jié)構(gòu)和眾多的案例表示出來。實際就是專家求解問題的一個具體例子。用案例進行知識表示并不是一種新的知識表示方法,而是在以往各種表示方法(如產(chǎn)生式、語義網(wǎng)絡(luò)、框架、面向?qū)ο蟮龋┥系囊患壋橄?。其實現(xiàn)方法也是基于現(xiàn)有的各種知識表示方法。在武器發(fā)控通道故障診斷專家系統(tǒng)中,基于案例的知識表示采用了“而向?qū)ο螅蚣堋钡闹R表示方法來建立案例知識庫,其結(jié)構(gòu)如表2所示。
表2 案例知識庫結(jié)構(gòu)
知識庫的維護是對知識庫進行類似于數(shù)據(jù)庫對數(shù)據(jù)的維護。通常,對知識庫的維護包括:知識庫的建立、刪除、查詢、更新等。
基于案例的推理機制的工作流程如圖2所示。
圖2 CBR 推理的工作流程
問題的提交是指用戶按照某種格式向系統(tǒng)描述面臨的問題;索引建立是指在分析用戶提交問題描述的基礎(chǔ)上,建立索引關(guān)系;檢索與匹配是基于一定的索引方式和類似度定義,完成新問題與案例庫中案例的匹配及相似案例的檢索;修改與適配是基于一定的適配規(guī)則或在用戶的自覺參與下,完成對檢索出的案例的解策略的修改,使它能夠解決當前問題;驗證是對適配得出的解策略的有效性檢驗(一般是通過實踐來檢驗),判斷它是否真有效;案例存儲是指將有效的解策略及其問題描述構(gòu)造成一個新案例,存入案例庫并維護有關(guān)的索引[5]。
1)索引策略。本文采用了基于最近相鄰法、歸納法和基于知識法綜合的面向?qū)ο蟮陌咐饕龣C制。首先用歸納法按照武器發(fā)控通道結(jié)構(gòu)的層次性建立案例的分類索引,這個分類索引與武器發(fā)控通道結(jié)構(gòu)層次直接對應(yīng)。然后用最近鄰法在同屬一類的案例集中進行最近鄰索引,即為每個案例建立最重要特征的索引。
2)檢索和匹配策略。與案例的索引相對應(yīng),CBR 系統(tǒng)中案例的檢索也有三種:相聯(lián)檢索、層次檢索和基于知識的檢索。這里采用了三者結(jié)合面向?qū)ο蟮臋z索策略,首先利用案例的分類信息進行分類檢索,確定案例所處的類別。然后在同屬一類的案例集中進行最近鄰匹配,找到相似度最高的案例。同時,也可根據(jù)案例中最重要的特征進行檢索,這樣可以縮短檢索時間。
檢索到一個相似案例集后,需確定出當前案例同案例集中哪一個最相似,這就要用到匹配算法,即計算兩個案例的相似度。匹配算法公式如下:
式中,i表示第i個匹配的關(guān)鍵特征;相似度[i]表示案例間第i個關(guān)鍵特征的相似度;權(quán)重[i]表示第i個關(guān)鍵特征的權(quán)重因子。
3)適配策略。通過最近鄰匹配檢索到的最相似的案例,若與當前案例不完全相同,則歷史案例的解決方案只能部分滿足當前問題的求解,這種情況下就需調(diào)整和修改舊的方案來適配新問題。適配方法通常有置換和轉(zhuǎn)移兩種。本文采用了置換的適配策略,即案例求解方案的組成部分能被置換,其中包括故障的檢查方法、原因分析和維修建議等部分,置換的多少取決于選擇的案例與當前解決問題的差異大小。
4)測試與存儲。通過匹配檢索,找出相似案例并修改得出診斷報告后,若通過實際測試或?qū)嵺`檢驗,證明方案正確,則作為一個新的案例被存儲在案例庫中,若不正確則需繼續(xù)調(diào)整、修改方案。
基于規(guī)則的推理機制的工作流程如圖3所示。
在武器發(fā)控通道故障診斷系統(tǒng)基于規(guī)則的推理中,采用了基于數(shù)據(jù)驅(qū)動控制策略,即正向推理。其基本思想是:從問題已有的信息(事實)開始,正向使用規(guī)則,當規(guī)則的條件部分與已有的事實匹配時,就把該規(guī)則作為可用規(guī)則放入候選規(guī)則隊列中,然后通過沖突消解,在候選隊列中選擇一條規(guī)則作為啟用規(guī)則進行處理,并將其結(jié)論放入數(shù)據(jù)庫中,作為下一步推理時的證據(jù)[6]。如此重復(fù)這個過程,直到再無可用規(guī)則可被選用或者求得了所要求的解為止。
圖3 RBR 推理的工作流程
沖突消解過程,是指在進行模式匹配后,若有兩條以上的規(guī)則成為競選規(guī)則,系統(tǒng)必須從中選擇一條來執(zhí)行的過程。根據(jù)武器發(fā)控通道的結(jié)構(gòu)層次性和故障的層次性,如果用樹形結(jié)構(gòu)來描述問題求解過程,武器發(fā)控通道的故障診斷過程通常呈現(xiàn)出窄而深的鏈樹形狀。一顆窄而深的樹適合采用深度優(yōu)先的方法進行搜索。因此,在設(shè)計沖突消解策略時采用了深度優(yōu)先的搜索方法。
1)解釋模塊。負責回答用戶提出的各種問題,并能對專家系統(tǒng)的求解過程和求解結(jié)果給出合理解釋。本專家系統(tǒng)解釋模塊的設(shè)計采用的是預(yù)置文本法,即將每一個問題求解方式的解釋框架采用易于被用戶理解的形式事先組織好,插入數(shù)據(jù)庫中。在執(zhí)行目標的過程中,同時生成解釋信息。一旦用戶詢問,只需把相應(yīng)的解釋信息填入解釋框架,并組織成合適的文本提交給用戶。
2)診斷信息獲取模塊。完整的診斷信息是進行故障診斷的先決條件。故障診斷信息是指系統(tǒng)發(fā)生故障時的異常狀態(tài),導(dǎo)彈發(fā)射通道故障診斷信息主要包括:多功能顯示器、平顯顯示的故障信息、系統(tǒng)的自檢故障信息、自研檢測設(shè)備提取的信息及檢測結(jié)果和飛行員反映的空中信息等。
3)診斷報告。用于給出診斷最終結(jié)果和維修建議。
4)人機界面。用戶與專家系統(tǒng)交互的接口。包括輸入和輸出兩大部分。一方面,它把信息進行識別、理解輸入給系統(tǒng);另一方面,把專家系統(tǒng)產(chǎn)生的結(jié)果的內(nèi)部形式轉(zhuǎn)換成人類能夠接受的形式輸出給用戶。良好的人機界面為用戶的使用提供了方便的途徑,同時也為系統(tǒng)的維護和改進提供了有效的工具。
武器發(fā)控通道故障診斷專家系統(tǒng)采用Delphi與CLIPS 混合編程的方法進行軟件實現(xiàn)[7]。CLIPS(C Language Integrated Production System)是由美國航空航局(NASA)的人工智能部開發(fā)的通用專家系統(tǒng)工具,功能完善,語法簡捷。由于CLIPS是為人工智能設(shè)計的,對數(shù)據(jù)的處理不是它的技術(shù)優(yōu)勢;另一方而,設(shè)計者出于可移植性和易于集成的考慮,其操作是基于命令行式的,而且目前也沒有漢化版,不支持漢字的輸入輸出,所以不適合用來編制符合現(xiàn)代軟件工程要求的用戶交互界面。因此,采用了CLIPS和Delphi混合編程的開發(fā)方法。用CLIPS編寫核心的基于規(guī)則診斷推理部分,用Delphi編寫用戶界面、數(shù)據(jù)庫管理以及高層的基于案例推理模塊。
如何實現(xiàn)CLIPS與Delphi的混合編程是系統(tǒng)實現(xiàn)的關(guān)鍵問題。論文采用了動態(tài)鏈接庫(DLL)方式,通過調(diào)用動態(tài)連接庫clips.dll實現(xiàn)CLIPS的混合編程,該動態(tài)庫倒出了CLIPS中所有的函數(shù)。但是DDL 方式并不符合面向?qū)ο蟮木幊淘瓌t,為了使該動態(tài)庫更方便地在Delphi環(huán)境中開發(fā)面向?qū)ο蟮某绦?,設(shè)計了一個類,該類把clips.dll的所有函數(shù)封裝起來,在程序中對動態(tài)庫采用靜態(tài)調(diào)用,同時將CLIPS設(shè)計為一個面向?qū)ο蟮念悾蟠蠓奖懔藢LIPS的嵌入使用,也更加符合面向?qū)ο蟮某绦蛟O(shè)計風格。
本文綜合運用基于CBR 和RBR 的推理機制,設(shè)計了某型飛機武器發(fā)控通道故障診斷專家系統(tǒng),并以Delphi和CLIPS混合編程方式予以實現(xiàn)。實際應(yīng)用表明,通過高效的推理,能夠給出合理的維修建議,提高了某型飛機武器發(fā)控通道的故障診斷效率。
[1]史慧,王偉,高戈,等.智能故障診斷專家系統(tǒng)開發(fā)平臺[J].計算機測量與控制,2005,13(11):1167-1169.
[2]敖志剛.人工智能與專家系統(tǒng)導(dǎo)論[M].合肥:中國科學技術(shù)大學出版社,2002:78-82.
[3]武波,馬玉祥,等.專家系統(tǒng)[M].北京:理工大學出版社,2001.
[4]蔡自興,約翰.德爾金,等.高級專家系統(tǒng):原理、設(shè)計及應(yīng)用[M].北京:科學出版社,2005.
[5]胡良名,徐誠,李萬平.基于案例推理的自行火炮故障診斷專家系統(tǒng)[J].火炮發(fā)射與控制學報,2006(2):53-56.
[6]韓兆福,葛銀茂,程江濤,等.故障樹分析法在某型飛機火控系統(tǒng)故障診斷中的應(yīng)用[J].中國測試技術(shù),2006,32(3):39-41.
[7]Joseph Giarratano,Gray Riley.專家系統(tǒng)原理與編程[M].北京:機械工業(yè)出版社,2000.