• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      Rete算法的應用研究

      2013-05-14 11:33:54汪璟玢
      關鍵詞:引擎故障診斷規(guī)則

      汪璟玢,王 瑞

      (福州大學 數(shù)學與計算機科學學院,福建 福州350108)

      隨著科學技術的進步,現(xiàn)代工業(yè)設備日益向大型化、復雜化、高效化、精密化和自動化的方向發(fā)展。這些發(fā)展在帶來機遇的同時也迎來了挑戰(zhàn),一方面提高了生產(chǎn)效率,創(chuàng)造了巨大的社會效益和經(jīng)濟效益;另一方面,對大型設備和系統(tǒng)的可靠運行提出了更高的要求。在這些可靠性要求較高的應用中,故障診斷的主動需求性越來越高。由于機械設備的結構復雜性,在實際維修時,傳統(tǒng)的故障診斷多是在機器出現(xiàn)運行故障后拆開檢查才知道哪部分發(fā)生故障,實時性明顯得不到保證。從傳統(tǒng)故障診斷中提煉出成功的故障排查經(jīng)驗,將其以產(chǎn)生式規(guī)則的形式表達,借助Rete算法,設計出一種既能完整表達、記錄專家經(jīng)驗,又能真實模擬專家排故過程的故障診斷專家系統(tǒng),可以減少人力消耗,縮短故障維護時間,提高維修效率。

      1 Rete算法

      1.1 Rete模式匹配算法

      Rete算法通過形成一個Rete網(wǎng)絡,利用基于規(guī)則的系統(tǒng)的兩個特征,即時間冗余性(Temporal Redundancy)和結構相似性(Structural Similarity),來提高模式匹配的效率[1]。時間冗余性是指,由于在實際工作內存中的事實內容在規(guī)則推理過程中的變化是緩慢的,即在每個規(guī)則的匹配和執(zhí)行周期中,真正增刪的事實只占很小的比例。因此,因工作內存中事實數(shù)據(jù)的變化而受影響規(guī)則也只占很少的一部分。這樣,只要在每個執(zhí)行周期中記錄并暫時忽略己經(jīng)匹配過的事實數(shù)據(jù)對象,并且只需要處理已修改的事實以及受到影響的規(guī)則[2]。而結構相似性指Rete算法考慮到了事實上很多規(guī)則的模式和模式組是很相似的,可以充分利用這種特性來提高算法的效率[3]。所以Rete算法的基本思想就是:犧牲一部分內存空間來保存并充分利用在之前模式匹配過程中的信息(事實、規(guī)則、匹配情況、規(guī)則模式等),來提高整體算法的匹配效率,達到顯著降低計算量的效果[4]。

      1.2 規(guī)則的表達

      規(guī)則的表達起源于人工智能領域中的知識表達,有產(chǎn)生式、框架、語義網(wǎng)絡等表示形式[5]。也可以簡單地理解為一組條件和滿足此條件下的操作[6]。Drools使用產(chǎn)生式知識表示規(guī)則,可簡化表示為一個三元組(對象、屬性、值),用事件的因果關系來定義業(yè)務規(guī)則,即“當條件為真,那么執(zhí)行動作”[7]。

      產(chǎn)生式規(guī)則由條件和結論兩部分組成,分別稱為規(guī)則的前件和后件[8],通常表示為如下形式:

      其中,Cn為條件名稱;Fn為對條件Cn的描述。

      2 設備故障診斷系統(tǒng)

      2.1 系統(tǒng)框架

      本文設計的故障診斷專家系統(tǒng)與實時監(jiān)控系統(tǒng)構成了診斷系統(tǒng)的兩大核心組成部分,兩者通過接口管理模塊進行交互[9]。故障診斷系統(tǒng)的系統(tǒng)框架圖如圖1所示。

      圖1 診斷系統(tǒng)框架圖

      圖1中,實時監(jiān)控系統(tǒng)負責實時監(jiān)測機械設備的各種信號狀態(tài)和故障發(fā)生時的各種故障現(xiàn)象,為故障診斷專家系統(tǒng)提供數(shù)據(jù)支持[10]。規(guī)則知識管理模塊實現(xiàn)專家知識和經(jīng)驗的獲取以及知識更新[11]。診斷模塊主要由診斷推理模塊、故障征兆提取模塊、解釋機構等組成。故障征兆提取模塊從接口管理模塊中獲得實時監(jiān)控系統(tǒng)監(jiān)測到的異常信號狀態(tài)和故障現(xiàn)象,并從中提取有用的故障征兆信息[12]。解釋機構可以在進行故障診斷的同時給操作員一些說明信息,便于操作員明白診斷過程[13]。

      2.2 設備故障診斷步驟

      本文設計的設備故障診斷的步驟如下:

      (1)故障診斷專家系統(tǒng)通過規(guī)則知識管理模塊獲取專家知識和經(jīng)驗,以Drools規(guī)則文件的形式定義異常規(guī)則文件和故障現(xiàn)象規(guī)則文件。

      (2)故障診斷專家系統(tǒng)通過接口管理模塊從實時監(jiān)控系統(tǒng)中得到異常信號狀態(tài)和故障現(xiàn)象數(shù)據(jù)。

      (3)故障征兆提取模塊從步驟(2)得到的數(shù)據(jù)中提取征兆信息并傳給診斷推理模塊。

      (4)診斷推理模塊根據(jù)征兆信息借助Drools規(guī)則引擎,運用Rete算法進行規(guī)則匹配,在匹配過程中解釋機構可以給操作員一些說明信息,便于操作員明白診斷過程。

      (5)當步驟(4)的診斷結果是故障排除流程時,系統(tǒng)轉而解析以XML格式存在的故障診斷流程,進而找到故障原因。如果此時仍未找到故障根源,可以借助專家會診對故障進行進一步的分析。

      2.3 設備故障診斷知識庫

      知識庫的主要功能是存儲和管理專家系統(tǒng)中的知識和經(jīng)驗。知識庫中擁有知識的多少及知識的質量決定了一個專家系統(tǒng)所具有的解決問題的能力[14]。本系統(tǒng)采用Drools規(guī)則引擎,Drools的規(guī)則文件就是知識庫。本文以異常信號規(guī)則文件為例進行說明。

      一個設備有多個信號點,例如電機控制信號、常規(guī)電源板電壓信號等,為了保證設備的正常運轉,每個信號點的信號都需要時刻處于正常狀態(tài)。一旦設備出現(xiàn)某種異常信號,應該盡快地找出導致異常信號出現(xiàn)的故障原因,進行故障恢復,將損失降至最小。實時監(jiān)控系統(tǒng)實時監(jiān)測設備的每個信號點,當某個信號出現(xiàn)異常時,就會觸發(fā)Drools規(guī)則引擎,并將一個全局的異常信號狀態(tài)組合向量傳遞給Drools規(guī)則引擎,然后Drools規(guī)則引擎根據(jù)事先編譯好的異常信號規(guī)則文件進行規(guī)則匹配,找出導致信號出現(xiàn)異常的故障原因或者某種故障處理流程,然后按照這個處理流程進行故障排查。

      異常信號規(guī)則文件對應一個事實對象異常信號規(guī)則類(SignalRule)。根據(jù)系統(tǒng)對異常信號的處理方式,可以定義這個異常信號規(guī)則類,它的類圖如圖2所示。

      圖2 異常信號規(guī)則類圖

      在SignalRule類中,屬性ruleNumber代表規(guī)則的編號,signalStatus代表實時監(jiān)測系統(tǒng)傳遞給Drools的全局信號狀態(tài)組合向量(以0、1的組合形式出現(xiàn),其中 0代表某個信號正常,1代表某個信號異常),processFlow代表導致信號出現(xiàn)異常的故障原因所對應的故障排除流程。

      2.4 設備故障診斷排除流程

      鑒于故障排除流程含有多層嵌套關系,本文將故障診斷排除流程以XML格式存儲,當Drools規(guī)則引擎借助Rete算法進行匹配的結果不是具體的故障原因而是故障排除流程時,就會解析XML文檔,按照給定的故障流程進行故障排除。

      診斷流程錄入模塊將故障診斷排除流程以XML格式進行保存。系統(tǒng)設計了清晰的錄入界面,方便用戶進行錄入。

      診斷流程控制模塊負責解析XML文檔并控制XML文檔中結點之間的跳轉。所謂結點之間的跳轉指在故障原因A由故障原因B間接引起的情況下,當診斷到A時,診斷流程的下一步即跳轉到B所對應的XML文檔。

      診斷流程獲取模塊獲取故障診斷專家系統(tǒng)的診斷結果,故障診斷專家系統(tǒng)的診斷結果是故障診斷流程時,診斷流程獲取模塊獲得的與這個診斷流程相對應的XML文檔名稱并傳遞給診斷流程控制模塊。

      顯示模塊以SVG圖形的格式顯示整個診斷流程,并對當前的診斷步驟以紅色進行高亮顯示。當診斷流程比較復雜時,可以幫助用戶定位當前的診斷步驟和下一步驟。

      3 實驗與分析

      3.1 故障診斷運行環(huán)境

      本系統(tǒng)的開發(fā)環(huán)境:MyEclipse 8.5+Java(JDK1.6)+Struts 1.2+ExtJs+Json。

      本系統(tǒng)的運行環(huán)境:Web服務器為Tomcat 6.0,數(shù)據(jù)庫為SQL Server 2008,規(guī)則引擎使用 Drools 5.1,瀏覽器使用 FireFox。

      3.2 規(guī)則匹配效率測試

      Rete算法的執(zhí)行效率主要由規(guī)則文件編譯和規(guī)則匹配兩部分組成。本系統(tǒng)中,在系統(tǒng)啟動運行時即創(chuàng)建監(jiān)聽器,分別對異常信號規(guī)則文件和故障現(xiàn)象規(guī)則文件進行編譯,之后使用規(guī)則引擎時只需進行規(guī)則匹配,而不需要再次對規(guī)則文件進行編譯,提高了程序的響應速度。這種設計方式下,可以忽略規(guī)則引擎進行規(guī)則編譯的效率,所以Rete算法的執(zhí)行效率就是規(guī)則匹配效率。

      以故障現(xiàn)象規(guī)則匹配為例進行說明,其測試用例如表1所示。

      表1 故障現(xiàn)象規(guī)則匹配效率測試結果

      由測試結果可以看出,無論規(guī)則為多少條,使用Rete算法進行規(guī)則匹配的運行耗時都在16ms左右。將規(guī)則文件編譯和規(guī)則匹配分離開來,用戶在使用系統(tǒng)時,不必理會規(guī)則文件編譯的時間,只需響應規(guī)則匹配的時間,使得系統(tǒng)執(zhí)行效率增加的同時,又提高了用戶的體驗效果。

      本文設計的故障診斷專家系統(tǒng)已經(jīng)應用于實際項目中,即使是初級故障排除人員在該系統(tǒng)的逐步指導下也能快速準確地定位故障,獲得了用戶的好評。該系統(tǒng)以產(chǎn)生式規(guī)則的形式表達專家的知識和經(jīng)驗,使得用戶能夠充分利用這些經(jīng)驗真實地模擬專家排故過程,通過測試結果可以看到:將Rete算法應用在故障診斷中可以提高故障診斷的定位速度。本系統(tǒng)具有一定的通用性,從技術角度和實用角度來說,都具有一定的意義。此外,將故障診斷中的知識和領域專家經(jīng)驗以規(guī)則的形式保存在規(guī)則文件中,一旦有新的專家知識和經(jīng)驗需要表達,只需要更改規(guī)則文件,而不需要對系統(tǒng)的源代碼進行更改。

      [1]ISHIDA T.An optimization algorithm for production systems[J].IEEE Transactions on Knowledge and Data Engineering,1994,6(4):549-558.

      [2]FORGY C L.Rete:a fast algorithm for the many pattern/many object pattern match problem[J].Artificial Intelligence,1982,19(1):17-37.

      [3]海濱.基于業(yè)務規(guī)則方法的 MIS系統(tǒng)研究與實現(xiàn)[D].天津:天津大學,2007.

      [4]汪峰.基于規(guī)則軟件開發(fā)的研究及其在醫(yī)療保險系統(tǒng)中的應用[D].天津:天津大學,2009.

      [5]繳明洋,譚慶平.Java規(guī)則引擎計算研究[J].計算機與信息技術,2006,6(3):41-43.

      [6]戎月莉.計算機模糊控制原理及應用[M].北京:北京航空航天大學出版社,1995.

      [7]張淵,夏清國.基于Rete算法的 JAVA規(guī)則引擎[J].科學技術與工程,2006,6(11):1548-1550.

      [8]楊智.基于Rete算法規(guī)則引擎的研究及其實現(xiàn)與應用[D].沈陽:東北大學,2007.

      [9]PROCTOR M,NEALE M,LIN P,et al.Drools Documentation[EB/OL].http://www.drools.com.2006.

      [10]WISEMAN G.A rule engine primer[A].2006.

      [11]ABRAHAM A.Rule-based expert systems[D].Stillwater:Oklahoma State University,2005.

      [12]彭磊.規(guī)則引擎原理分析[J].福建電腦,2006(9):42-45.

      [13]楊智.基于Rete算法規(guī)則引擎的研究及其實現(xiàn)與應用[D].沈陽:東北大學,2007.

      [14]航電設備故障診斷專家系統(tǒng)研究與實現(xiàn)[D].北京:北京航空航天大學,2007.

      猜你喜歡
      引擎故障診斷規(guī)則
      撐竿跳規(guī)則的制定
      數(shù)獨的規(guī)則和演變
      讓規(guī)則不規(guī)則
      Coco薇(2017年11期)2018-01-03 20:59:57
      藍谷: “涉藍”新引擎
      商周刊(2017年22期)2017-11-09 05:08:31
      TPP反腐敗規(guī)則對我國的啟示
      因果圖定性分析法及其在故障診斷中的應用
      無形的引擎
      河南電力(2015年5期)2015-06-08 06:01:46
      基于Cocos2d引擎的PuzzleGame開發(fā)
      基于LCD和排列熵的滾動軸承故障診斷
      基于WPD-HHT的滾動軸承故障診斷
      機械與電子(2014年1期)2014-02-28 02:07:31
      富锦市| 达日县| 镶黄旗| 合作市| 邹平县| 资源县| 保德县| 枞阳县| 西华县| 崇左市| 肇庆市| 绥阳县| 广东省| 北海市| 清徐县| 丰镇市| 隆尧县| 鹿泉市| 米林县| 博乐市| 康平县| 徐水县| 黄龙县| 西安市| 得荣县| 邛崃市| 潞城市| 城固县| 南京市| 澎湖县| 绥江县| 兴安盟| 济阳县| 卢龙县| 乌拉特中旗| 龙岩市| 申扎县| 资兴市| 金昌市| 眉山市| 鹤岗市|