《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > Rete算法的應用研究
Rete算法的應用研究
來源:微型機與應用2013年第6期
汪璟玢,王 瑞
(福州大學 數學與計算機科學學院,福建 福州350108)
摘要: 對專家系統和基于規則的專家系統進行了研究,尤其對基于規則的專家系統中的模式匹配算法進行了深入分析和理解。在此理論基礎上,將一種高效的模式匹配算法——Rete算法引入到實際的故障的診斷系統中,以保證故障診斷的高效性和準確性。為此在實際系統中,借助規則引擎將故障信息規則化,并將故障診斷流程以層次分明的XML文檔進行表示,來模擬領域專家進行故障診斷和故障排除的功能。實踐表明,該故障診斷系統可以提高定位故障的速度和準確度。
Abstract:
Key words :

摘  要: 對專家系統和基于規則的專家系統進行了研究,尤其對基于規則的專家系統中的模式匹配算法進行了深入分析和理解。在此理論基礎上,將一種高效的模式匹配算法——Rete算法引入到實際的故障的診斷系統中,以保證故障診斷的高效性和準確性。為此在實際系統中,借助規則引擎將故障信息規則化,并將故障診斷流程以層次分明的XML文檔進行表示,來模擬領域專家進行故障診斷和故障排除的功能。實踐表明,該故障診斷系統可以提高定位故障的速度和準確度。
關鍵詞: 模式匹配;規則;Rete算法;故障診斷

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

    Rete算法通過形成一個Rete網絡,利用基于規則的系統的兩個特征,即時間冗余性(Temporal Redundancy)和結構相似性(Structural Similarity),來提高模式匹配的效率[1]。時間冗余性是指,由于在實際工作內存中的事實內容在規則推理過程中的變化是緩慢的,即在每個規則的匹配和執行周期中,真正增刪的事實只占很小的比例。因此,因工作內存中事實數據的變化而受影響規則也只占很少的一部分。這樣,只要在每個執行周期中記錄并暫時忽略己經匹配過的事實數據對象,并且只需要處理已修改的事實以及受到影響的規則[2]。而結構相似性指Rete算法考慮到了事實上很多規則的模式和模式組是很相似的,可以充分利用這種特性來提高算法的效率[3]。所以Rete算法的基本思想就是:犧牲一部分內存空間來保存并充分利用在之前模式匹配過程中的信息(事實、規則、匹配情況、規則模式等),來提高整體算法的匹配效率,達到顯著降低計算量的效果[4]。
1.2 規則的表達
    規則的表達起源于人工智能領域中的知識表達,有產生式、框架、語義網絡等表示形式[5]。也可以簡單地理解為一組條件和滿足此條件下的操作[6]。Drools使用產生式知識表示規則,可簡化表示為一個三元組(對象、屬性、值),用事件的因果關系來定義業務規則,即“當條件為真,那么執行動作”[7]。
  

2 設備故障診斷系統
2.1 系統框架

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

    圖1中,實時監控系統負責實時監測機械設備的各種信號狀態和故障發生時的各種故障現象,為故障診斷專家系統提供數據支持[10]。規則知識管理模塊實現專家知識和經驗的獲取以及知識更新[11]。診斷模塊主要由診斷推理模塊、故障征兆提取模塊、解釋機構等組成。故障征兆提取模塊從接口管理模塊中獲得實時監控系統監測到的異常信號狀態和故障現象,并從中提取有用的故障征兆信息[12]。解釋機構可以在進行故障診斷的同時給操作員一些說明信息,便于操作員明白診斷過程[13]。
2.2 設備故障診斷步驟
    本文設計的設備故障診斷的步驟如下:
    (1)故障診斷專家系統通過規則知識管理模塊獲取專家知識和經驗,以Drools規則文件的形式定義異常規則文件和故障現象規則文件。
    (2)故障診斷專家系統通過接口管理模塊從實時監控系統中得到異常信號狀態和故障現象數據。
    (3)故障征兆提取模塊從步驟(2)得到的數據中提取征兆信息并傳給診斷推理模塊。
    (4)診斷推理模塊根據征兆信息借助Drools規則引擎,運用Rete算法進行規則匹配,在匹配過程中解釋機構可以給操作員一些說明信息,便于操作員明白診斷過程。
    (5)當步驟(4)的診斷結果是故障排除流程時,系統轉而解析以XML格式存在的故障診斷流程,進而找到故障原因。如果此時仍未找到故障根源,可以借助專家會診對故障進行進一步的分析。
2.3 設備故障診斷知識庫
    知識庫的主要功能是存儲和管理專家系統中的知識和經驗。知識庫中擁有知識的多少及知識的質量決定了一個專家系統所具有的解決問題的能力[14]。本系統采用Drools規則引擎,Drools的規則文件就是知識庫。本文以異常信號規則文件為例進行說明。
    一個設備有多個信號點,例如電機控制信號、常規電源板電壓信號等,為了保證設備的正常運轉,每個信號點的信號都需要時刻處于正常狀態。一旦設備出現某種異常信號,應該盡快地找出導致異常信號出現的故障原因,進行故障恢復,將損失降至最小。實時監控系統實時監測設備的每個信號點,當某個信號出現異常時,就會觸發Drools規則引擎,并將一個全局的異常信號狀態組合向量傳遞給Drools規則引擎,然后Drools規則引擎根據事先編譯好的異常信號規則文件進行規則匹配,找出導致信號出現異常的故障原因或者某種故障處理流程,然后按照這個處理流程進行故障排查。
    異常信號規則文件對應一個事實對象異常信號規則類(SignalRule)。根據系統對異常信號的處理方式,可以定義這個異常信號規則類,它的類圖如圖2所示。

    在SignalRule類中,屬性ruleNumber代表規則的編號,signalStatus代表實時監測系統傳遞給Drools的全局信號狀態組合向量(以0、1的組合形式出現,其中0代表某個信號正常,1代表某個信號異常),processFlow代表導致信號出現異常的故障原因所對應的故障排除流程。
2.4 設備故障診斷排除流程
    鑒于故障排除流程含有多層嵌套關系,本文將故障診斷排除流程以XML格式存儲,當Drools規則引擎借助Rete算法進行匹配的結果不是具體的故障原因而是故障排除流程時,就會解析XML文檔,按照給定的故障流程進行故障排除。
    診斷流程錄入模塊將故障診斷排除流程以XML格式進行保存。系統設計了清晰的錄入界面,方便用戶進行錄入。
    診斷流程控制模塊負責解析XML文檔并控制XML文檔中結點之間的跳轉。所謂結點之間的跳轉指在故障原因A由故障原因B間接引起的情況下,當診斷到A時,診斷流程的下一步即跳轉到B所對應的XML文檔。
    診斷流程獲取模塊獲取故障診斷專家系統的診斷結果,故障診斷專家系統的診斷結果是故障診斷流程時,診斷流程獲取模塊獲得的與這個診斷流程相對應的XML文檔名稱并傳遞給診斷流程控制模塊。
    顯示模塊以SVG圖形的格式顯示整個診斷流程,并對當前的診斷步驟以紅色進行高亮顯示。當診斷流程比較復雜時,可以幫助用戶定位當前的診斷步驟和下一步驟。
3 實驗與分析
3.1 故障診斷運行環境

    本系統的開發環境:MyEclipse 8.5+Java(JDK1.6)+Struts 1.2+ExtJs+Json。
    本系統的運行環境:Web服務器為Tomcat 6.0,數據庫為SQL Server 2008,規則引擎使用Drools 5.1,瀏覽器使用FireFox。
3.2 規則匹配效率測試
    Rete算法的執行效率主要由規則文件編譯和規則匹配兩部分組成。本系統中,在系統啟動運行時即創建監聽器,分別對異常信號規則文件和故障現象規則文件進行編譯,之后使用規則引擎時只需進行規則匹配,而不需要再次對規則文件進行編譯,提高了程序的響應速度。這種設計方式下,可以忽略規則引擎進行規則編譯的效率,所以Rete算法的執行效率就是規則匹配效率。
    以故障現象規則匹配為例進行說明,其測試用例如表1所示。

    由測試結果可以看出,無論規則為多少條,使用Rete算法進行規則匹配的運行耗時都在16 ms左右。將規則文件編譯和規則匹配分離開來,用戶在使用系統時,不必理會規則文件編譯的時間,只需響應規則匹配的時間,使得系統執行效率增加的同時,又提高了用戶的體驗效果。
    本文設計的故障診斷專家系統已經應用于實際項目中,即使是初級故障排除人員在該系統的逐步指導下也能快速準確地定位故障,獲得了用戶的好評。該系統以產生式規則的形式表達專家的知識和經驗,使得用戶能夠充分利用這些經驗真實地模擬專家排故過程,通過測試結果可以看到:將Rete算法應用在故障診斷中可以提高故障診斷的定位速度。本系統具有一定的通用性,從技術角度和實用角度來說,都具有一定的意義。此外,將故障診斷中的知識和領域專家經驗以規則的形式保存在規則文件中,一旦有新的專家知識和經驗需要表達,只需要更改規則文件,而不需要對系統的源代碼進行更改。
參考文獻
[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] 海濱.基于業務規則方法的MIS系統研究與實現[D].天津:天津大學,2007.
[4] 汪峰.基于規則軟件開發的研究及其在醫療保險系統中的應用[D].天津:天津大學,2009.
[5] 繳明洋,譚慶平.Java規則引擎計算研究[J].計算機與信息技術,2006,6(3):41-43.
[6] 戎月莉.計算機模糊控制原理及應用[M].北京:北京航空航天大學出版社,1995.
[7] 張淵,夏清國.基于Rete算法的JAVA規則引擎[J].科學技術與工程,2006,6(11):1548-1550.
[8] 楊智.基于Rete算法規則引擎的研究及其實現與應用[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] 彭磊.規則引擎原理分析[J].福建電腦,2006(9):42-45.
[13] 楊智.基于Rete算法規則引擎的研究及其實現與應用[D].沈陽:東北大學,2007.
[14] 航電設備故障診斷專家系統研究與實現[D].北京:北京航空航天大學,2007.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国内外成人在线| 亚洲人体1000| 欧美精品一区二区三| 久久av一区二区三区漫画| 国产精品99久久久久久白浆小说| 亚洲第一色中文字幕| 亚洲欧美日韩国产| 一区二区欧美日韩| 99成人精品| 亚洲精品视频在线观看网站| 激情综合网址| 红桃视频欧美| 国产一区二区三区四区老人| 国产伦精品一区二区三区免费迷| 国产精品久久久久毛片大屁完整版| 欧美三级小说| 欧美日韩中文字幕精品| 欧美日韩免费观看一区 | 亚洲社区在线观看| 亚洲精品资源| 日韩视频精品| 一区二区欧美激情| 亚洲视频网在线直播| 一区二区精品在线| 在线亚洲自拍| 亚洲主播在线| 久久不射电影网| 久久综合给合| 欧美1区3d| 欧美欧美天天天天操| 欧美日韩国产成人在线91| 欧美人妖另类| 欧美日韩中文字幕在线| 国产精品久久久久久久久久三级 | 亚洲天堂第二页| 亚洲综合成人在线| 性欧美办公室18xxxxhd| 久久国产欧美日韩精品| 亚洲国产小视频在线观看| 亚洲精品国产精品久久清纯直播 | 99综合视频| 亚洲一区视频在线| 欧美在线精品一区| 毛片av中文字幕一区二区| 欧美另类videos死尸| 国产精品久久久久久av福利软件 | 一区二区三区久久久| 亚洲午夜精品在线| 午夜精品美女自拍福到在线| 久久精品免费电影| 欧美国产第二页| 国产精品毛片高清在线完整版| 国产午夜精品久久久久久免费视| 一区二区三区在线免费视频 | 久久本道综合色狠狠五月| 亚洲激情二区| 亚洲男人第一av网站| 久久久不卡网国产精品一区| 蜜臀91精品一区二区三区| 欧美视频网址| 国产有码一区二区| 亚洲全黄一级网站| 亚洲欧美国产不卡| 亚洲日本aⅴ片在线观看香蕉| 亚洲视频中文| 久久综合99re88久久爱| 欧美三级视频在线观看| 狠狠色狠狠色综合日日小说| 亚洲日本va午夜在线电影| 亚洲免费影视| 亚洲最新在线视频| 久久久久久伊人| 欧美色图首页| 影音先锋欧美精品| 国产精品99久久久久久久久久久久| 欧美中文日韩| 午夜国产不卡在线观看视频| 欧美xx视频| 国产欧美精品在线观看| 亚洲精品123区| 午夜亚洲一区| 亚洲午夜一二三区视频| 久热精品视频在线观看一区| 国产精品magnet| 亚洲国产高清aⅴ视频| 午夜精品一区二区三区电影天堂| 日韩亚洲欧美成人一区| 久久美女艺术照精彩视频福利播放| 欧美日韩在线播放一区| 一区二区在线免费观看| 亚洲综合电影一区二区三区| 日韩一级精品| 玖玖在线精品| 国产午夜精品视频| 亚洲午夜av电影| 在线一区二区三区四区| 欧美jjzz| 尤物精品国产第一福利三区| 欧美一级视频精品观看| 亚洲综合欧美日韩| 欧美日韩午夜在线| 亚洲精品女av网站| 亚洲美女毛片| 欧美不卡在线视频| 国内偷自视频区视频综合| 午夜视频在线观看一区二区三区 | 欧美屁股在线| 亚洲国产精品一区制服丝袜 | 亚洲毛片在线观看| 91久久精品国产91久久性色| 久久精品一区二区| 国产日本欧美一区二区| 亚洲一区网站| 亚洲欧美不卡| 国产精品盗摄久久久| 亚洲精品在线免费观看视频| 亚洲精选一区| 欧美国产日韩亚洲一区| 伊人夜夜躁av伊人久久| 久久精品免视看| 久久久久www| 国产综合香蕉五月婷在线| 欧美一级视频精品观看| 久久精品一区二区国产| 午夜精品久久久久久久99樱桃| 亚洲一区久久| 国产精品a久久久久久| 一区二区高清| 亚洲一二三区视频在线观看| 欧美日韩一区二区欧美激情| 日韩亚洲一区在线播放| 夜色激情一区二区| 欧美日韩一二三四五区| 日韩视频免费观看高清在线视频| 夜夜精品视频一区二区| 欧美日韩一区在线| 中文精品一区二区三区| 亚洲欧美日韩国产成人| 国产欧美日韩综合精品二区| 欧美综合第一页| 免费在线视频一区| 亚洲欧洲另类| 亚洲桃花岛网站| 国产精品免费看| 香蕉久久精品日日躁夜夜躁| 久久精品最新地址| 红桃视频国产一区| 亚洲精一区二区三区| 欧美日韩中文字幕日韩欧美| 亚洲香蕉伊综合在人在线视看| 欧美一区二区精品久久911| 国产偷国产偷精品高清尤物| 亚洲国产视频一区| 欧美人成在线| 亚洲免费人成在线视频观看| 久久久亚洲综合| 亚洲欧洲视频在线| 亚洲一区二区在线播放| 国产日产欧美一区| 91久久国产自产拍夜夜嗨 | 日韩亚洲精品在线| 欧美三级网址| 久久大逼视频| 欧美亚洲第一页| 久久精品免费播放| 欧美色一级片| 久久激情综合| 欧美日本三区| 欧美一激情一区二区三区| 欧美二区乱c少妇| 午夜日本精品| 欧美理论在线播放| 久久福利电影| 国产精品av免费在线观看| 亚洲高清av| 国产精品美女午夜av| 亚洲国产婷婷香蕉久久久久久| 欧美色图一区二区三区| 亚洲高清色综合| 国产精品欧美在线| 亚洲精品三级| 国产日韩一区二区三区在线播放 | 欧美专区在线观看| 欧美日韩免费观看一区二区三区| 欧美一区高清| 欧美性色aⅴ视频一区日韩精品| 亚洲高清免费在线| 国产精品社区| 在线亚洲美日韩| 亚洲国产成人午夜在线一区| 欧美一区二区三区视频在线 | 欧美一级在线亚洲天堂| 欧美视频网址| 亚洲精品小视频在线观看| 国产日韩精品视频一区| 亚洲视频一二三| 亚洲国产一区二区视频| 久久久一二三| 亚洲欧美日韩一区二区| 欧美日韩亚洲一区二区三区在线 |