999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于并行工程的軟件可靠性專家系統的研究與實現

2008-01-01 00:00:00沈一鳴范文慧
計算機應用研究 2008年5期

摘要:通過對專家系統工具的深入研究,將并行工程的思想引入了專家系統,提出了可靠性專家系統的基本框架,給出了基于并行工程的專家系統可靠性設計的方法,通過面向用戶的設計和基于仿真的測試來實現。最終基于CLIPS實現了某潛艇設計評估專家系統的可靠性驗證。

關鍵詞:專家系統; 可靠性; 并行工程; 知識庫; 仿真

中圖分類號:TP182文獻標志碼:A

文章編號:1001-3695(2008)05-1470-04

專家系統是人工智能的一個重要分支,它利用專業知識解決只有專家才能解決的問題[1]。目前,國內外的專家系統研究主要側重于神經網絡推理、機器學習、知識工程的研究,以及專家系統在不同案例下的設計等。由于專家系統適合處理非結構化的問題,使其在實際應用中獲得了很大的成功。然而,也有一些專家系統失敗的例子,如某癌癥放射治療專家系統由于給出錯誤的操作指示,造成病人死亡[2]。這些失敗專家系統的一個共同點在于忽視了專家系統可靠性的設計,不能夠保證專家系統的準確性、完備性和穩定性,沒有為專家系統提供可靠的保障。

專家系統有自身的特殊性(知識+推理),其可靠性設計指的是在開發專家系統的整個生命周期內,通過系統設計和測試檢驗,最大限度地保障專家系統準確高效地完成任務。關于專家系統可靠性設計的研究,目前國外已經做了一些理論方面的工作[3],提出了專家系統可靠性驗證的一些檢測要點,初步探討了可靠性驗證的方法。但是未能形成可靠性專家系統的設計框架,在方法的完善性和實際應用的可行性方面沒有深入研究。國內則還處于起步階段,目前沒有針對專家系統的可靠性設計進行深入的探索。只有少數關于專家系統可靠性分析的研究[4],主要側重于實時專家系統的響應速度和擾動誤差出現下的運行分析。此種可靠性分析僅當系統實現后才能進行,如果出現可靠性問題,返工將會很大。

并行工程[5]是對產品及其相關過程進行并行、一體化設計的一種系統化的工作模式。這種工作模式力圖使開發者從一開始就考慮到產品全生命周期中的所有因素,包括質量、成本、進度和用戶需求。并行工程不僅在產品研發中有重要的應用,其在軟件設計中也有很廣闊的應用前景,主要體現在軟件測試模型的研究以及提高軟件質量上。

本文通過利用工具CLIPS構建了可靠性專家系統[6],確保專家系統的準確性、完備性和穩定性。最終將基于CLIPS的專家系統可靠性設計應用到了實踐中,達到了理想的效果。

1基于并行工程的軟件可靠性專家系統的基本框架

基于并行工程的軟件可靠性專家系統的基本框架如圖1所示。其中包括知識獲取階段的面向用戶設計(design for user,DFU)、基于仿真的知識庫可靠性驗證模塊,以及專家系統的人機界面、推理機、數據庫和解釋器等幾部分[7]。

1.1知識獲取階段的DFU

知識庫用來存放本領域的專家知識和科學原理,它是專家系統進行推理的依據[7,8]。構建可靠性專家系統時,首先要確保知識源的可靠性以及從用戶角度出發的知識友好性。

為確保知識源的可靠性,知識獲取階段應采用多專家協同討論的方式,以避免或減少錯誤的產生。各專家對知識的表述未必相同,但可以提供給知識工程師更廣闊的知識表述空間。

在用戶的參與下,知識工程師將知識表述的前件轉換為用戶可以理解的形式。通過知識工程師、領域專家和用戶的多次交流反饋,使專家系統的知識庫可以友好地服務于用戶。

1.2知識庫的可靠性驗證模塊

構建可靠性專家系統時,知識的可靠性驗證是其中的一個重要環節。只有保證了知識的準確性、完備性、穩定性,專家系統才能夠有效地實現其功能[3]。

a)準確性。知識庫準確無誤,各條規則的內容正確,表達方式正確。

b)完備性。知識庫最大限度地包含本領域知識,可以包含用戶的問題域。

c)穩定性。在初始事實變化不大時,所得到的推論變化也不大。

本文通過基于仿真的驗證來確保專家系統的可靠性。力爭在開發專家系統的前期檢驗并消除專家系統潛在的不穩定因素。

1.3人機交互與推理

專家系統進行推理時,首先需要推理機載入本領域的知識庫;然后,用戶通過人機界面向專家系統輸入動態事實。動態事實與數據庫中存有的靜態事實共同存入事實庫,作為專家系統進行推理的前提。推理機通過快速模式匹配的RETE算法,對匹配上的規則按照沖突消解策略進行推理[9]。專家系統最終通過解釋器對得到的推理結果以及推理過程進行解釋。

2基于并行工程的軟件可靠性專家系統的設計方法

傳統的專家系統設計是一種串行的“拋過墻”式的開發模式。首先是知識工程師對用戶進行需求分析,并從領域專家那里獲取知識;然后進行系統設計、編碼實現;最后,將專家系統交付給用戶使用。實際上,如果專家系統生命周期的中、后階段出現問題,返工將會很大。基于此,本文提出一種可靠性專家系統的并行設計思想,并通過面向用戶的設計DFU和基于仿真的測試來實現。

2.1可靠性專家系統的DFU設計思想

DFU的設計思想始終以用戶為核心。在專家系統的需求調研、知識表示和可靠性驗證中,用戶一直起著非常重要的作用。用戶不僅是專家系統的使用者,并作為專家系統開發中的重要參與者而加入到開發團隊中。DFU的設計流程如圖2所示。

通過用戶的全方位參與,可靠性專家系統可以綜合考慮到用戶的技術水平、用戶對問題的表述方式和易于接受的推理解釋方式。

1)用戶層次定義對將使用專家系統的用戶進行調研,確定用戶的整體知識水平,對專家系統進行總體規劃。

2)問題表述方式在用戶的參與下,選擇用戶容易接受的問題表述方式(用戶端的事實錄入)。據此整理專家系統知識庫中規則的LHS項(left hand side,前提項;相應的RHS為結論項)。確保專家系統與用戶信息交互的友好。

3)推理解釋方式根據用戶的整體知識水平,設計專家系統的解釋器,并編寫相關的規則解釋文本,以實現對專家系統推理過程的自然語言描述。

圖2面向用戶的專家系統設計流程

2.2基于仿真驗證專家系統可靠性

通過對知識庫的推理仿真測試,可以提前發現專家系統知識庫的問題所在。這樣可以避免在專家系統開發時由于大量修改程序所帶來的困難。

2.2.1知識庫的準確性驗證

1)推理比較法由未參與知識獲取的專家組成專家評估組,根據已知事實對問題進行分析診斷,并將診斷結果與推理機的推理結果進行比較,以檢驗專家系統的準確性。

2)推理過程跟蹤法通過設置推理機的激發屬性,可以進行專家系統的單步推理,并檢測匹配事實、當前激發規則和待議事件表的實時狀態。推理過程跟蹤法由未參與知識獲取的專家組成專家評估組,對推理機的推理過程進行驗證。

3)知識庫遍歷法由參與知識獲取的專家直接對知識庫的規則進行自檢??紤]到知識庫中的規則比較零散,遍歷所有規則的工作量較大,可以將知識庫中的規則向數據庫進行映射,將每條規則的前提和結論所對應的事實均分配給數據庫表中的不同字段。這樣,將對知識庫的遍歷轉變為對數據庫的檢驗,操作方便易行。

2.2.2知識庫的完備性驗證

為了解釋知識庫的完備性,首先引入三個域的概念:前提域、結論域和問題域。這里將知識庫中每條規則的LHS組成一個集合,稱為前提域;將知識庫中每條規則的RHS組成一個集合,稱為結論域;將各個用戶要輸入的所有事實組成一個集合,稱為問題域。前提域和結論域由知識工程師整理,主要是知識獲取階段得到的專家知識;問題域是由終端用戶和未參與知識獲取的專家共同整理實現,可以作為檢驗知識庫完備性的測試集。當前提域不完全包含問題域時,知識庫一定不完備;而當前提域完全包含問題域時,知識庫不一定完備。因為即使問題域的各個事實單元均包含在前提域中,但事實單元的匹配方式未必都包含在每條規則中。

針對上述兩種情況,本文提出了兩種專家系統的完備性測試方法:

a)撤銷事實法。針對問題域大于前提域的情況,可以根據知識工程師整理的前提域設計一個知識庫。其中含有若干條規則,表示方法如下所示:

(defrulerule1 \"撤銷事實法\"?old-fact←(sea-situation 5-class)

(retract ?old-fact))

其中:(sea-situation 5-class)是一條關于海況5級的事實,作為規則前提域的事實單元。規則rule1的作用是撤銷事實庫中滿足條件的事實。驗證時,首先將此知識庫載入,并錄入問題域的事實單元;然后執行推理。當推理結束后,如果事實庫中還有事實存在,則說明問題域大于前提域,知識庫一定不完備;如果事實庫中沒有事實,則說明前提域包含問題域,但仍需利用下面的方法繼續證明。

b)比較補充法。此方法由用戶和未參與知識獲取的專家共同設計測試集。測試集中包括復雜案例(匹配項較多的知識)和邊緣案例(匹配項比較少見的知識)。在仿真界面下載入知識庫、輸入動態事實進行推理,再由專家對推理結果進行檢驗。比較補充法是專家針對專家系統知識的廣度和深度方面的擴充。

2.2.3知識庫的穩定性驗證

知識庫的穩定性指的是相似的輸入有相似的輸出。主要考查的方面是初始輸入事實的相似度,以及推理結束后事實庫中事實的相似度。通過對事實單元的比較,不難得出專家系統穩定性的優劣。因此,本文提出了知識庫穩定性的判定方法。其中:A表示首次輸入的事實模板集,共有M個事實模板,每個事實模板Ai含有ui個事實單元;B表示第二次輸入的事實模板集,共有N個事實模板,每個事實模板Bj含有vj個事實單元;Ck是A與B的交集,共有p個事實模板,每個Ck含有wk個事實單元。本文假定f(X)是計算X中事實單元個數的函數,則總體事實集A∪B可以表示為A∪B=∑Mi=1Ai+∑Nj=1Bj-∑Pk=1Ck。

當相似度η=0時,兩次輸入相異;當相似度η=1時,兩次輸入相同;當相似度0<η<1時,兩次輸入相似。系統輸出的相似度也以同樣的方式計算,通過比較系統輸入和系統輸出各自的相似度,不難得出系統的穩定性。

3基于CLIPS的專家系統可靠性驗證

由于CLIPS自身有很多優良的性質,本文考慮使用CLIPS進行專家系統的可靠性驗證,既可以利用CLIPS專家系統仿真界面實現,也可以通過CLIPS與VC++集成的測試系統進行驗證。本文針對專家系統的準確性和完備性分別探討兩種驗證方法。穩定性的驗證方法與完備性驗證相同,只不過需要在數據庫中加入一個用來存放相似事實和權值的表格,程序中加入計算函數即可,暫不贅述。

3.1CLIPS仿真界面下的專家系統可靠性驗證

專家系統工具CLIPS有獨立的仿真界面,可以通過此仿真界面進行專家系統的可靠性驗證。以準確性驗證中的推理過程跟蹤法為例:

在CLIPS專家系統仿真界面下,設置菜單Execution欄目下的Watch_option選項的fact、rules和activation屬性,進行單步推理(step)。專家通過考查CLIPS的推理過程中的各項參數來驗證專家系統的準確性。然而,在CLIPS的仿真界面下,事實只能夠被一條條地錄入。因此,在初始事實較多的情況下輸入工作的任務量是很大的??梢酝ㄟ^設計批處理命令的方式,將大量的事實、函數存入批處理文件中,然后執行批處理文件。此種方法可以大大提高仿真測試的效率。CLIPS仿真界面如圖3所示。

3.2CLIPS與VC++集成下的專家系統可靠性驗證

CLIPS具有很好的兼容性和可擴展性,本文使用的6.21版本的源代碼可以與VC++實現無縫集成[10,11]。在實際開發中,可以通過將CLIPS作為推理機嵌入VC++中,構造一個可靠性的測試系統,實現專家系統的可靠性驗證。

CLIPS為VC++提供了很多外部函數,使事實操作更為便捷。可見,CLIPS與VC++集成下的專家系統可靠性驗證為2.2.2節中的撤銷事實法提供了很大的空間。因此,本文使用CLIPS與VC++集成的方式來實現專家系統知識庫的完備性驗證。其中部分源程序如下:

char *filename1,*filename2;

filename1 = \"savefacts.dat\";//目標事實

filename2 = \"facts.dat\"; // 問題域

UpdateData(TRUE);

InitializeEnvironment();

IncrementGCLocks();

Load(\"test.clp\");// 撤銷事實法的知識庫

Reset(); //初始化

LoadFacts(filename2);//事實載入

Run(-1);//執行推理

SaveFacts(filename1,LOCAL_SAVE,NULL);

Evaluate();// 判斷完備性函數

UpdateData(FALSE);

DecrementGCLocks();

4應用實例

基于并行工程的軟件可靠性專家系統研究以船舶系統工程部的一個項目為背景,得到了潛艇航路選擇的設計指標和大量的仿真數據。其中某型號艇的航路選擇的專家經驗如下:

a)在多方位多距離的目標要素解算下,如果魚雷發射前10 min時本潛艇舷角在±60°左右,或在-120°~-180°,或在120°~180°,則發射前10 min本潛艇舷角不滿足要求……

b)敵方為水下目標時,如果魚雷自導開機與目標距離小于2 500 m,則……

c)海況5級,魚雷進入尾流時,如果魚雷與目標的距離小于300 m,或魚雷與目標的距離大于目標行駛速度與相關系數(61.73)的乘積值時,則……

……

這些知識是用自然語言描述的,最終需要將其轉換為專家系統知識庫中的if-then規則形式。為檢驗本知識庫的準確性,由未參與知識獲取的專家在CLIPS仿真界面下進行驗證,檢查到知識庫中的幾處比較函數的錯誤。同時,本文通過2.2.2節中的方法建立了專家系統知識庫完備性驗證模塊,如圖4所示。根據定義的驗證知識,此模塊檢查到航路選擇知識庫的完備性缺陷,并將不完備因素寫入事實文件中以便給設計者提供參考。

5結束語

本文針對目前廣泛存在的忽視專家系統可靠性設計的現狀,提出了基于并行工程的可靠性專家系統的設計思想,從并行工程的DFx系列擴展岀DFU方法;同時利用CLIPS仿真實現了專家系統的可靠性設計,充分保證了專家系統知識的準確、完備和穩定。最后,在潛艇武器設計評估專家系統的航路選擇知識庫設計中成功地將專家系統的準確性和完備性進行了驗證。通過檢驗發現并糾正錯誤、添加了缺少的知識,為實際的潛艇武器設計評估專家系統提供了有效的保障支持。

參考文獻:

[1]GIARRATANO J.專家系統原理與編程[M].印鑒,劉星成,湯庸,譯. 北京:機械工業出版社, 2000.

[2]HOFFMAN R E.VVE for small expert systems [R/OL].(1995)[2007-06-08]. http://www.tfhrc.gov/advanc/vve/toc.htm .

[3]RAM S,RAM S.Validation of expert system for innovation management : issues , methodology,and empirical assessment [J]. J Prod Innov Manag ,1996,13:53-68.

[4]張俊星,張紀會,張宏勛.實時專家系統可靠性分析的隨機Petri網模型[J].信息與控制, 1998,27(2):113-118.

[5]熊光楞.并行工程的理論與實踐[M].北京:清華大學出版社,2001.

[6]吳鶴齡.專家系統工具CLIPS及其應用[M].北京:北京理工大學出版社,1991.

[7]蔡自興,徐光佑.人工智能及其應用[M]. 北京:清華大學出版社,2003.

[8]何新貴. 知識處理與專家系統[M]. 北京:國防工業出版社, 1990.

[9]尹朝慶, 尹皓.人工智能與專家系統[M]. 北京:中國水利電力出版社, 2002.

[10]鄧海平,何玉林,杜靜,等.CLIPS嵌入VC++技術的實現與應用[J].計算機工程與應用,2005,41(15):88-90.

[11]STB of NASA. Advanced programming guide, CLIPS 6.21 reference manual [EB/OL].(2003-06-15)[2007-06-08]. http://www.ghg.net/clips/download/documentation/apg.pdf.

“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”

主站蜘蛛池模板: 国产福利免费观看| 亚洲一级色| 在线观看91香蕉国产免费| 人人妻人人澡人人爽欧美一区| 久久综合丝袜长腿丝袜| 精品超清无码视频在线观看| 欧亚日韩Av| 五月六月伊人狠狠丁香网| 99视频全部免费| 免费激情网站| 久久免费视频6| 天堂成人av| 国产永久无码观看在线| 欧美色伊人| 日本一区二区三区精品国产| 欧美日韩中文国产| 欧美亚洲中文精品三区| 国产性生交xxxxx免费| 国产精品内射视频| 精品日韩亚洲欧美高清a| 亚洲最大福利网站| 欧美v在线| 五月天久久综合| 91啦中文字幕| 韩国自拍偷自拍亚洲精品| 午夜精品福利影院| 欧洲熟妇精品视频| 偷拍久久网| 亚洲精品在线91| 激情亚洲天堂| 久久网综合| 亚洲中文字幕久久精品无码一区| 国产亚洲精品在天天在线麻豆| 真人高潮娇喘嗯啊在线观看| 99精品免费在线| 欧美不卡在线视频| 免费看美女自慰的网站| 国产香蕉97碰碰视频VA碰碰看| 四虎成人在线视频| 国产综合精品日本亚洲777| 国产欧美精品专区一区二区| 91美女在线| 国产女人在线| 97久久免费视频| 9啪在线视频| 国产无吗一区二区三区在线欢| 亚洲天堂网在线观看视频| 欧美成人看片一区二区三区| 自慰网址在线观看| 1769国产精品免费视频| 色综合狠狠操| 日韩在线成年视频人网站观看| 狠狠久久综合伊人不卡| 91在线国内在线播放老师| 青草视频免费在线观看| 中文字幕免费在线视频| 国产女人18毛片水真多1| 日韩视频免费| 久久黄色视频影| 欧美精品v欧洲精品| 色综合五月婷婷| 一级毛片免费观看不卡视频| 欧美三级不卡在线观看视频| 国内熟女少妇一线天| 草草线在成年免费视频2| 亚洲人成网线在线播放va| 免费国产在线精品一区| 一级毛片在线播放免费| 国产无码网站在线观看| 四虎精品黑人视频| 久久国产V一级毛多内射| 在线一级毛片| 日日拍夜夜操| 亚洲精品桃花岛av在线| 毛片最新网址| 国产日韩欧美精品区性色| 亚洲成人在线免费| 色一情一乱一伦一区二区三区小说 | 国产女人18水真多毛片18精品 | 婷婷午夜影院| 午夜国产理论| 中国国语毛片免费观看视频|