一種基于決策樹的工業(yè)以太網(wǎng)網(wǎng)絡故障診斷專家系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種基于決策樹的工業(yè)以太網(wǎng)網(wǎng)絡故障診斷專家系統(tǒng),首先建立包括知識庫、推理機、知識庫管理模塊、知識獲取模塊、解釋機和控制中心的專家系統(tǒng);進一步的,再利用知識庫聯(lián)系推理機和控制中心,獲取模塊所需的數(shù)據(jù),用來存放診斷規(guī)則、系統(tǒng)的各種原始數(shù)據(jù)和系統(tǒng)診斷期間所產(chǎn)生的中間結(jié)果;通過推理機把規(guī)則庫的條件部分與全局數(shù)據(jù)庫內(nèi)容進行比較一通常稱為匹配,如果匹配成功,顯示結(jié)論部分,并根據(jù)啟用規(guī)則的動作部分修改全局數(shù)據(jù)庫,經(jīng)改變的全局數(shù)據(jù)庫又可以觸發(fā)新的規(guī)則,從而問題求解進行到下一狀態(tài),如此反復,以實現(xiàn)一個問題的最終求解;最終通過解釋機進行后期的處理,由控制中心進行新的知識庫的更新,達到專家系統(tǒng)逐步完善。
【專利說明】一種基于決策樹的工業(yè)以太網(wǎng)網(wǎng)絡故障診斷專家系統(tǒng)
【技術領域】
[0001] 本發(fā)明涉及工業(yè)以太網(wǎng)控制系統(tǒng)【技術領域】,尤其涉及一種基于決策樹的工業(yè)以太 網(wǎng)網(wǎng)絡故障診斷專家系統(tǒng)。
【背景技術】
[0002] PR0FINET 由 PR0FIBUS 國際組織(PROFIBUS International,PI)推出,是新一代 基于工業(yè)以太網(wǎng)技術的自動化總線標準。作為一項戰(zhàn)略性的技術創(chuàng)新,PR0FINET為自動化 通信領域提供了一個完整的網(wǎng)絡解決方案,囊括了諸如實時以太網(wǎng)、運動控制、分布式自動 化、故障安全以及網(wǎng)絡安全等當前自動化領域的熱點話題,并且,作為跨供應商的技術,可 以完全兼容工業(yè)以太網(wǎng)和現(xiàn)有的現(xiàn)場總線(如PROFIBUS)技術,保護現(xiàn)有投資。
[0003] 在過去的幾年間,工業(yè)機網(wǎng)絡的規(guī)模經(jīng)歷了爆炸式的增長。網(wǎng)絡的應用已經(jīng)深入 到人們生產(chǎn)的每一個角落,成為必不可少的基礎設施。隨著對網(wǎng)絡依賴性的加強,人們對網(wǎng) 絡的可靠性也提出了更高的要求:第一,有穩(wěn)定、高效、安全的網(wǎng)絡環(huán)境:第二,當網(wǎng)絡發(fā)生 故障時,能夠及時的檢測出故障原因并修復??梢钥闯?,網(wǎng)絡故障診斷對保持網(wǎng)絡的健康狀 態(tài)具有重要的意義。然而在當今網(wǎng)絡環(huán)境下,網(wǎng)絡故障診斷遇到了前所未有的困難,其主要 表現(xiàn)在以下幾個方面;控制器網(wǎng)絡無論從規(guī)模上,還是從網(wǎng)絡復雜性和業(yè)務多樣性上都有 了巨大的發(fā)展。大規(guī)模網(wǎng)絡的故障關系錯綜復雜,故障原因和故障現(xiàn)象之間的對應關系模 糊,大大提高了故障診斷的難度。
[0004] 網(wǎng)絡設備的復雜性也提高了故障診斷的難度。網(wǎng)絡設備的復雜性有兩個含義:第 一是新的網(wǎng)絡設備不斷推出,功能越來越多,越來越復雜;第二是設備提供商數(shù)量眾多,產(chǎn) 品規(guī)格和標準不統(tǒng)一。
[0005] 隨著PR0FINET的廣泛應用,控制器技術和網(wǎng)絡通信技術得到迅速發(fā)展,新的數(shù)字 通信網(wǎng)絡不僅擁有多種業(yè)務流量,而且采用了多種融合的網(wǎng)絡傳輸技術。不斷采用的網(wǎng)絡 新技術對網(wǎng)絡故障診斷提出了越來越高的要求;正是由于上述困難的存在,傳統(tǒng)的依靠網(wǎng) 絡專家人工方式進行的故障診斷已經(jīng)不能滿足需要了。當代網(wǎng)絡呼喚智能化的故障診斷技 術,以實現(xiàn)網(wǎng)絡故障診斷的自動化,將人從繁重的診斷工作中解放出來。
[0006] 智能化網(wǎng)絡故障診斷技術有下列四個方面的難點: 第一,故障發(fā)現(xiàn)網(wǎng)絡故障發(fā)生的不確定性和網(wǎng)絡軟硬件構(gòu)架的動態(tài)變化,使得包括專 家在內(nèi)的知識受到了局限。
[0007] 第二,故障定位一個設備產(chǎn)生故障會影響很多和它相連的設備或子系統(tǒng),甚至會 導致網(wǎng)絡的癱瘓,這種現(xiàn)象就叫做故障關聯(lián)。
[0008] 第三,故障檢測常規(guī)的故障檢測方法需要建立數(shù)學模型,而數(shù)學模型的復雜性和 精確性難以滿足高速網(wǎng)絡的實時需求;簡化的數(shù)學模型又導致實際控制效果不能令人滿 〇
[0009] 第四,故障表示由于網(wǎng)絡應用的多樣性與不斷更新,現(xiàn)在還不能找到一個明確的 函數(shù)能表示所有的應用層故障。
【發(fā)明內(nèi)容】
[0010] 本發(fā)明的目的是提供一種基于決策樹的工業(yè)以太網(wǎng)網(wǎng)絡故障診斷專家系統(tǒng),能 夠根據(jù)故障信息,根據(jù)故障提出問題,依據(jù)線索解決問題,最終得到求解,如此往復,建立多 種故障的解決方案,構(gòu)成強大的專家系統(tǒng)。
[0011] 本發(fā)明采用的技術方案為: 一種基于決策樹的工業(yè)以太網(wǎng)網(wǎng)絡故障診斷專家系統(tǒng),包括知識庫、推理機、知識庫管 理模塊、知識獲取模塊、解釋機和控制中心; 所述的知識庫包括全局數(shù)據(jù)庫和規(guī)則庫,全局數(shù)據(jù)庫是一組描述過程處理對象的符號 的集合,用于問題描述和環(huán)境描述;規(guī)則庫是由一組診斷規(guī)則組成,所述的一組診斷規(guī)則包 括條件部分和結(jié)論部分,條件部分是關于全局數(shù)據(jù)庫中某些數(shù)據(jù)的前提斷言,結(jié)論部分是 引起這個前提斷言的原因或者是這個前提斷言后續(xù)將要發(fā)生的類似前提; 所述的推理機是基于決策樹推理的設計,決策樹包括決策屬性節(jié)點、屬性值分枝和葉 節(jié)點,決策屬性節(jié)點是進行分類的決策屬性的集合,屬性值分枝是按照決策屬性進一步劃 分的取值特性的屬性值的集合,葉節(jié)點是決策或分類結(jié)果的集合; 所述的知識庫管理模塊包含故障管理、故障現(xiàn)象管理、特征信息維護、規(guī)則庫管理、問 題庫管理,用于對知識庫進行增加、刪除、更改操作; 所述的知識獲取模塊通過工業(yè)以太網(wǎng)網(wǎng)絡實時獲取診斷規(guī)則; 所述的解釋機是推理機同用戶的圖形接口,用來向用戶解釋推理的整個過程; 所述的控制中心用于更新知識庫。
[0012] 所述的推理機的工作過程,包括以下步驟: A :首先,推理機根據(jù)全局數(shù)據(jù)庫的當前信息,決定在當前狀態(tài)下能夠與之匹配的N條 診斷規(guī)則,稱這些規(guī)則為觸發(fā)規(guī)則; B :推理機根據(jù)控制策略選擇一條最合適的觸發(fā)規(guī)則作為啟用規(guī)則; C :推理機執(zhí)行啟用規(guī)則,并根據(jù)啟用規(guī)則的動作修改全局數(shù)據(jù)庫內(nèi)的信息,同時,經(jīng)過 修改的全局數(shù)據(jù)庫又觸發(fā)新的診斷規(guī)則,從而問題求解進行到下一狀態(tài); D :再將上述步驟A、B、C反復進行,從而實現(xiàn)一個問題的最終求解。
[0013] 所述的控制中心的工作過程包括以下步驟: E:首先,利用規(guī)則庫中的診斷規(guī)則判定故障原因,如果診斷出故障原因,則將故障原因 顯示用戶;如果經(jīng)過用戶驗證后是錯誤的原因,再經(jīng)過實際操作獲得正確的故障原因后,連 同故障表現(xiàn)數(shù)據(jù)通過知識庫管理模塊一起輸入現(xiàn)有知識庫中;如果沒有診斷出故障原因, 進一步進行人工參與,從而獲得故障原因,驗證正確后,連同故障現(xiàn)象數(shù)據(jù)通過知識庫管理 模塊一起輸入現(xiàn)有知識庫中,再調(diào)用知識獲取模塊更新現(xiàn)有知識庫; F :同時,當故障處理紀錄達到一定數(shù)量,調(diào)用知識獲取模塊運用數(shù)據(jù)挖掘方法產(chǎn)生新 的告警規(guī)則更新以前的舊規(guī)則。
[0014] 所述的前提部分和結(jié)論部分的表示法與全局數(shù)據(jù)庫中的數(shù)據(jù)表示形式保持一致。
[0015] 步驟B中所述的控制策略包括兩種情況下的策略: ⑴:推理機根據(jù)故障表現(xiàn)推理故障原因,若診斷出的故障原因不正確或者診斷不出原 因,即判定此故障原因是一個新的故障原因,那么就需要管理員自己判斷解決,待驗證維修 后可以將故障表現(xiàn)和故障原因輸入到知識庫中的問題庫,再調(diào)用知識獲取模塊更新診斷規(guī) 則表。
[0016] ⑵:當知識庫中的記錄累計達到一定數(shù)目后,有足夠的數(shù)據(jù)用來產(chǎn)生新的更適合 現(xiàn)在的規(guī)則,并且更新舊的規(guī)則以及刪除已經(jīng)失效的數(shù)據(jù)。
[0017] 本發(fā)明首先建立包括知識庫、推理機、知識庫管理模塊、知識獲取模塊、解釋機和 控制中心的專家系統(tǒng);進一步的,再利用知識庫聯(lián)系推理機和控制中心,獲取模塊所需的數(shù) 據(jù),用來存放診斷規(guī)則、系統(tǒng)的各種原始數(shù)據(jù)和系統(tǒng)診斷期間所產(chǎn)生的中間結(jié)果;通過推理 機把規(guī)則庫的條件部分與全局數(shù)據(jù)庫內(nèi)容進行比較一通常稱為匹配,如果匹配成功,顯示 結(jié)論部分,并根據(jù)啟用規(guī)則的動作部分修改全局數(shù)據(jù)庫,經(jīng)改變的全局數(shù)據(jù)庫又可以觸發(fā) 新的規(guī)則,從而問題求解進行到下一狀態(tài),如此反復,以實現(xiàn)一個問題的最終求解;最終通 過解釋機進行后期的處理,由控制中心進行新的知識庫的更新,達到專家系統(tǒng)逐步完善。
【專利附圖】
【附圖說明】
[0018] 圖1為本發(fā)明的結(jié)構(gòu)示意框圖; 圖2為本發(fā)明的知識庫結(jié)構(gòu)示意圖; 圖3為本發(fā)明的推理機的工作過程流程圖; 圖4為本發(fā)明的知識獲取模塊中決策樹的創(chuàng)建流程圖; 圖5為本發(fā)明的知識獲取模塊中決策樹創(chuàng)建示意圖。
【具體實施方式】
[0019] 如圖1所示,本發(fā)明包括知識庫、推理機、知識庫管理模塊、知識獲取模塊、解釋機 和控制中心; 所述的知識庫包括全局數(shù)據(jù)庫和規(guī)則庫,全局數(shù)據(jù)庫是一組描述過程處理對象的符號 的集合,用于問題描述和環(huán)境描述;規(guī)則庫是由一組診斷規(guī)則組成,所述的一組診斷規(guī)則包 括條件部分和結(jié)論部分,條件部分是關于全局數(shù)據(jù)庫中某些數(shù)據(jù)的前提斷言,結(jié)論部分是 引起這個前提斷言的原因或者是這個前提斷言后續(xù)將要發(fā)生的類似前提; 所述的推理機是基于決策樹推理的設計,決策樹包括決策屬性節(jié)點、屬性值分枝和葉 節(jié)點,決策屬性節(jié)點是進行分類的決策屬性的集合,屬性值分枝是按照決策屬性進一步劃 分的取值特性的屬性值的集合,葉節(jié)點是決策或分類結(jié)果的集合; 推理機工作過程包括以下步驟: A :首先,推理機根據(jù)全局數(shù)據(jù)庫的當前信息,決定在當前狀態(tài)下能夠與之匹配的N條 診斷規(guī)則,稱這些規(guī)則為觸發(fā)規(guī)則; B :推理機根據(jù)控制策略選擇一條最合適的觸發(fā)規(guī)則作為啟用規(guī)則; C :推理機執(zhí)行啟用規(guī)則,并根據(jù)啟用規(guī)則的動作修改全局數(shù)據(jù)庫內(nèi)的信息,同時,經(jīng)過 修改的全局數(shù)據(jù)庫又觸發(fā)新的診斷規(guī)則,從而問題求解進行到下一狀態(tài); D :再將上述步驟A、B、C反復進行,從而實現(xiàn)一個問題的最終求解; 所述的知識庫管理模塊包含故障管理、故障現(xiàn)象管理、特征信息維護、規(guī)則庫管理、問 題庫管理,用于對知識庫進行增加、刪除、更改操作; 所述的知識獲取模塊通過工業(yè)以太網(wǎng)網(wǎng)絡實時獲取診斷規(guī)則; 所述的解釋機是推理機同用戶的圖形接口,用來向用戶解釋推理的整個過程; 所述的控制中心用于更新知識庫; 控制中心的工作過程包括以下步驟: E:首先,利用規(guī)則庫中的診斷規(guī)則判定故障原因,如果診斷出故障原因,則將故障原因 顯示用戶;如果經(jīng)過用戶驗證后是錯誤的原因,再經(jīng)過實際操作獲得正確的故障原因后,連 同故障表現(xiàn)數(shù)據(jù)通過知識庫管理模塊一起輸入現(xiàn)有知識庫中;如果沒有診斷出故障原因, 進一步進行人工參與,從而獲得故障原因,驗證正確后,連同故障現(xiàn)象數(shù)據(jù)通過知識庫管理 模塊一起輸入現(xiàn)有知識庫中,再調(diào)用知識獲取模塊更新現(xiàn)有知識庫; F :同時,當故障處理紀錄達到一定數(shù)量,調(diào)用知識獲取模塊運用數(shù)據(jù)挖掘方法產(chǎn)生新 的告警規(guī)則更新以前的舊規(guī)則。
[0020] 所述的前提部分和結(jié)論部分的表示法與全局數(shù)據(jù)庫中的數(shù)據(jù)表示形式保持一致。
[0021] 步驟B中所述的控制策略解決整個問題求解過程的功能模塊的選擇和應用順序, 即決定先做什么,后做什么,并根據(jù)問題求解的當前狀態(tài)分別作不同的工作,還能確定一旦 出現(xiàn)異常情況如何處理等。
[0022] 控制策略包括兩種情況下的策略: ⑴:推理機根據(jù)故障表現(xiàn)推理故障原因,若診斷出的故障原因不正確或者診斷不出原 因,即判定此故障原因是一個新的故障原因,那么就需要管理員自己判斷解決,待驗證維修 后可以將故障表現(xiàn)和故障原因輸入到知識庫中的問題庫,再調(diào)用知識獲取模塊更新診斷規(guī) 則表。
[0023] ⑵:當知識庫中的記錄累計達到一定數(shù)目后,有足夠的數(shù)據(jù)用來產(chǎn)生新的更適合 現(xiàn)在的規(guī)則,并且更新舊的規(guī)則以及刪除已經(jīng)失效的數(shù)據(jù)。
[0024] 一、知識庫 知識庫是系統(tǒng)的核心,每一個操作都與知識庫相關,它是聯(lián)系推理機和控制中心的紐 帶,該系統(tǒng)的知識獲取模塊所需的數(shù)據(jù)也來自于此。用來存放診斷規(guī)則、系統(tǒng)的各種原始數(shù) 據(jù)和系統(tǒng)診斷期間所產(chǎn)生的中間結(jié)果。其中有些診斷規(guī)則是通過知識庫管理模塊由管理員 手工輸入的,有些是通過知識獲取模塊得到的。
[0025] 知識庫是把人工智能技術引入己有的數(shù)據(jù)庫系統(tǒng),特別是關系型數(shù)據(jù)庫系統(tǒng),建 立知識庫。知識庫由數(shù)據(jù)信息庫和規(guī)則庫組成,是診斷推理的依據(jù),它包含有關系統(tǒng)的物理 知識、經(jīng)驗知識、設備運動過程狀態(tài)知識等。
[0026] 知識庫是工業(yè)以太網(wǎng)的故障診斷中的專家系統(tǒng)中的基本部分,知識庫由全局數(shù)據(jù) 庫與規(guī)則庫組成的。全局數(shù)據(jù)庫是一組描述過程處理對象的符號的集合。在處理具體問題 時,它用于問題描述和環(huán)境描述,包括與特定問題有關的各種臨時信息。通常把全局數(shù)據(jù)庫 稱為短期記憶器。對全局數(shù)據(jù)庫組織、數(shù)據(jù)表示方法等,系統(tǒng)沒有具體規(guī)定,一般根據(jù)問題 領域的特點選擇合適的表示方法,如集合、線性表、鏈表、樹結(jié)構(gòu)、圖等都可用于表示全局數(shù) 據(jù)庫中的數(shù)據(jù)。在建立全局數(shù)據(jù)庫時,應注意使庫中數(shù)據(jù)便于檢索。規(guī)則庫是由一組診斷 規(guī)則組成的。在基于決策樹的故障診斷系統(tǒng)中,一個規(guī)則的條件部分通常是關于全局數(shù)據(jù) 庫中某些數(shù)據(jù)的斷言,而結(jié)論部分一般是引起這個前提斷言的原因、或者是這個前提斷言 后續(xù)將要發(fā)生的類似前提與全局數(shù)據(jù)庫不同,規(guī)則庫中的知識并不是關于某一具體的特定 問題,而是針對整個領域問題的。與全局數(shù)據(jù)庫相比,規(guī)則庫相對穩(wěn)定,所以稱規(guī)則庫為長 期記憶器。一般來說,在選擇規(guī)則的表示方法時,應該注意,如果可能的話,前提部分和結(jié)論 部分的表示法與全局數(shù)據(jù)庫中的數(shù)據(jù)表示形式保持一致,這樣便于前提與全局數(shù)據(jù)庫的內(nèi) 容進行比較,判別前提部分是否成立。
[0027] 知識庫的設計是基于決策樹的知識表示,決策樹的內(nèi)部屬性節(jié)點、屬性值分支和 葉子節(jié)點構(gòu)成了一種樹形數(shù)據(jù)結(jié)構(gòu)。通過決策樹的學習算法生成一棵決策樹,它就可以實 現(xiàn)對未知事例進行分類或進行決策分析。因此可以認為一棵學習完成的決策樹中包含了一 定的知識,也就是說,決策樹具有表達知識的能力。決策樹的內(nèi)部節(jié)點是屬性的集合,分支 是屬性值的集合,而葉節(jié)點是決策或分類結(jié)果的集合。決策樹就是利用屬性及其取值來表 示知識的前提部分,而用葉節(jié)點表示知識的結(jié)論部分,從而把專家知識以決策樹的形式表 示出來。一條決策樹分類規(guī)則就是確定故障分類決策的一個知識,也就是說基于這個知識 即可判定故障的類型。這正是利用決策樹建立網(wǎng)絡故障診斷專家系統(tǒng)知識庫的基本依據(jù)。
[0028] 為了說明決策樹知識表示方法,作為示例,給出一組判斷故障的規(guī)則。
[0029] 規(guī)則1 :if主機網(wǎng)卡工作正常and主機配置正確and主機CPU利用率> 90, then 主機系統(tǒng)故障故障。
[0030] 規(guī)則2 :if主機網(wǎng)卡工作不正常and主機網(wǎng)卡不能收到包,then主機網(wǎng)絡硬件故 障。
[0031] 通過這種方法,決策規(guī)則集合變成了關系數(shù)據(jù)庫中的一個表格,表格中條件屬性 和決策屬性之間的邏輯關系通過規(guī)則字典來體現(xiàn)。每條決策規(guī)則變成了一條數(shù)據(jù)記錄。
[0032] 本系統(tǒng)設計的知識庫具體由故障與故障現(xiàn)象信息庫、特征信息庫、問題庫和規(guī)則 庫構(gòu)成,各個庫之間是靠故障現(xiàn)象相關聯(lián)的。故障與現(xiàn)象信息庫記錄每個設備的故障現(xiàn)象 和故障現(xiàn)象對應的故障,包含故障現(xiàn)象表、故障表、現(xiàn)象與故障關聯(lián)表;特征信息庫是每個 故障現(xiàn)象對應的特征信號用于決策樹建立,包含特征信息表、特征信息取值表、現(xiàn)象與特征 信息關聯(lián)表;問題庫是記錄診斷過程中不能處理的故障等,包含臨時故障表、問題表;規(guī)則 庫用于存儲診斷規(guī)則,本系統(tǒng)直接保存決策樹。
[0033] 二、知識庫管理模塊 知識庫管理模塊主要是對知識庫進行增加、刪除、更改等各種操作。
[0034] 知識庫管理模塊包含故障管理、故障現(xiàn)象管理、特征信息維護、規(guī)則庫管理、問題 庫管理等。在故障管理中,每個故障包含該故障的編碼和故障的描述,故障發(fā)生的位置以及 該故障的診斷代價等信息。用戶可以通過選擇網(wǎng)絡構(gòu)成的設備來選擇設備對應的故障,方 便用戶查找相應的故障。
[0035] 三、推理機 推理機負責把規(guī)則庫的條件部分與全局數(shù)據(jù)庫內(nèi)容進行比較一通常稱為匹配,如果匹 配成功,顯示結(jié)論部分。具體地說,推理機根據(jù)全局數(shù)據(jù)庫的當前信息,決定在當前狀態(tài)下 能夠與之匹配的所有規(guī)則,稱這些規(guī)則為觸發(fā)規(guī)則,再從被觸發(fā)的規(guī)則中選擇一條規(guī)則,成 為啟用規(guī)則,推理機執(zhí)行啟用規(guī)則,并根據(jù)啟用規(guī)則的動作部分修改全局數(shù)據(jù)庫,經(jīng)改變的 全局數(shù)據(jù)庫又可以觸發(fā)新的規(guī)則,從而問題求解進行到下一狀態(tài),如此反復,以實現(xiàn)一個問 題的最終求解。由于在問題求解的每一個狀態(tài)下,被全局數(shù)據(jù)庫匹配的規(guī)則可能不止一條, 需要推理機采用合適的控制策略以選擇究竟哪一條觸發(fā)規(guī)則被啟用,這一過程稱為沖突消 解。推理機的工作即以這種"匹配一沖突消解一操作"的三個周期循環(huán)運轉(zhuǎn),直至解決問題 為止。
[0036] 推理機的工作原理基于決策樹的推測完成,所以,推理機的工作即為決策樹的推 理過程,決策樹的推理與知識庫之間相輔相成。
[0037] 推理機的推理過程: 步驟一,將知識庫中全局數(shù)據(jù)庫的當前信息作為根節(jié)點,決定在當前狀態(tài)下能夠與之 匹配的所有規(guī)則庫中的條件規(guī)則,稱這些匹配的條件規(guī)則為觸發(fā)規(guī)則。
[0038] 步驟二,再根據(jù)控制策略,從觸發(fā)規(guī)則中選擇一條規(guī)則,成為啟用規(guī)則。
[0039] 步驟三,推理機執(zhí)行啟用規(guī)則。
[0040] 步驟四,根據(jù)啟用規(guī)則的動作,修改全局數(shù)據(jù)庫。
[0041] 步驟五,經(jīng)改變的全局數(shù)據(jù)庫又可以觸發(fā)新的規(guī)則,從而問題求解進行到下一狀 態(tài)。步驟六,如此反復,以實現(xiàn)一個問題的最終求解,推理完畢。
[0042] 如前文所述,在推理的過程中根據(jù)事實尋找匹配規(guī)則時,如果有且僅有一條規(guī)則 匹配成功,則系統(tǒng)可以直接執(zhí)行這條規(guī)則;但往往匹配成功的規(guī)則會超過一條,這時必須進 行沖突消解,從多條規(guī)則中選取一條進行執(zhí)行。由于本項目的專家系統(tǒng)采用基于決策樹的 知識獲取機制,獲得的每個規(guī)則在數(shù)據(jù)庫中都對應著被使用的頻率。那么使用頻率高的規(guī) 貝U,在網(wǎng)絡事件中存在的可能性也就越大。這就是采用支持度排序進行沖突消解的基本思 想。沖突消解具體的做法是,當多條規(guī)則匹配成功時,將所有匹配成功的規(guī)則全部按被使用 的頻率從大到小的順序排列,選取支持度最高的規(guī)則,建立其規(guī)則對象以執(zhí)行下一步推理 過程。
[0043] 控制策略主要解決整個問題求解過程的功能模塊的選擇和應用順序,即決定先做 什么,后做什么,并根據(jù)問題求解的當前狀態(tài)分別作不同的工作,還能確定一旦出現(xiàn)異常情 況如何處理等。系統(tǒng)有兩個流程:第一個流程是推理機根據(jù)故障表現(xiàn)去推理故障原因,如果 診斷出的故障原因不正確或者診斷不出原因,即是一個新的故障原因,那么就需要管理員 自己判斷解決,待驗證維修后可以將故障表現(xiàn)和故障原因輸入到知識庫中的問題庫,再調(diào) 用知識獲取模塊更新診斷規(guī)則表。第二個流程是當知識庫中的記錄累計達到一定數(shù)目后才 會發(fā)生,這時有足夠的數(shù)據(jù)用來產(chǎn)生新的更適合現(xiàn)在的規(guī)則并且更新舊的規(guī)則以及刪除已 經(jīng)失效的數(shù)據(jù)。系統(tǒng)需要統(tǒng)計自上次更新知識庫后知識庫中的記錄數(shù),是否達到指定的數(shù) 目。如果未達到指定數(shù)目,那么繼續(xù)統(tǒng)計,如果已達到則調(diào)用知識獲取模塊采用本系統(tǒng)提出 的決策樹分類算法挖掘出新的診斷知識,更新知識庫,并且將上次更新時間作為下次更新 的失效時間,將當前時間作為下次更新的上次更新時間。
[0044] 四、知識獲取模塊 知識獲取模塊是用以部分的代替專家進行專門知識的自動獲取,實現(xiàn)系統(tǒng)的自學習, 不斷完善知識庫的。知識庫中的知識不是完備的、全面的、實時的,因此這些知識是需要不 斷地進行更新和補充的。本系統(tǒng)的知識獲取模塊負責診斷規(guī)則的獲取。
[0045] 要實現(xiàn)知識的自動獲取,即機器學習。因此,研究基于決策樹的知識獲取方法實際 上就是研究決策樹學習的學習算法。
[0046] 決策樹構(gòu)造可以分兩步進行。第一步,決策樹的生成:由訓練樣本集生成決策樹。 一般情況下,訓練樣本數(shù)據(jù)集是一格根據(jù)實際需要由歷史的、有一定綜合程度的、用于數(shù)據(jù) 分析處理的數(shù)據(jù)集合。第二步,決策樹的剪枝:對上一階段生成的決策樹進行檢驗、校正和 修正。這一步的作用主要是用新的樣本數(shù)據(jù)集(稱為測試數(shù)據(jù)集)中的數(shù)據(jù)校驗決策樹生成 過程步驟一產(chǎn)生的初步規(guī)則,將那些影響預測準確性的分枝剪除。
[0047] 決策樹生成的過程中,輸入為訓練樣本數(shù)據(jù)集,終輸出結(jié)果就是決策樹。決策樹中 包含節(jié)點、分支、葉子三種元素。其中,決策樹的每一個決策節(jié)點對應著進行分類的一個決 策屬性(測試屬性),分支對應著按該屬性進一步劃分的取值特征,葉子代表類或類的分布。 首先,根據(jù)用戶的實際需要選擇類別標識屬性和決策樹的決策屬性集,決策屬性集是指在 候選屬性(除了類別標識屬性之外的所有屬性)中選擇的屬性集,然后開始構(gòu)造決策樹,決 策樹歸納的基本算法是貪心算法,即以自頂向下遞歸的各個擊破的方式構(gòu)造決策樹。算法 描述如下: 步驟1 :樹以代表訓練樣本的單個節(jié)點開始。
[0048] 步驟2 :如果訓練樣本均在同一個類,則該節(jié)點成為葉節(jié)點,并用該類標記,否則, 選擇最有分類能力的屬性節(jié)點作為決策樹的當前葉節(jié)點。
[0049] 步驟3 :根據(jù)當前節(jié)點屬性取值的不同,將訓練樣本數(shù)據(jù)集劃分為若干子集,每個 取值形成一個分枝。
[0050] 步驟4 :針對步驟B3得到的一個子集,重復進行步驟B3,遞歸形成每個劃分樣本 上的決策樹。
[0051] 步驟5 :遞歸劃分步驟當且僅當下列條件之一成立時停止: (1)給定節(jié)點的所有樣本屬于同一類。
[0052] (2)沒有剩余屬性可以用來進一步劃分樣本;在這種情況下,使用多數(shù)表決,將給 定的節(jié)點轉(zhuǎn)換成樹葉,并以樣本中元組個數(shù)最多的類別作為類別標記,同時也可以存放該 節(jié)點樣本的類別分布。
[0053] (3)如果某一分枝沒有樣本,則以樣本的多數(shù)類創(chuàng)建一個葉節(jié)點。
[0054] 步驟6 :當步驟B中的決策樹構(gòu)造完畢后,需要對構(gòu)造完成的決策樹進行校驗、修 正; 6-1 :使用新的訓練樣本數(shù)據(jù)集中的數(shù)據(jù)校驗構(gòu)造完成的決策樹產(chǎn)生的初步規(guī)則; 6-2 :將影響預測準確性的分枝剪除,修正完畢。
[0055] 決策樹生成后,需要從決策樹中提取分類規(guī)則,一般需要進行兩個步驟,首先獲得 簡單規(guī)則,然后精簡規(guī)則屬性。
[0056] 1、獲得簡單規(guī)則 對于生成好的決策樹,可以非常容易地從中提取分類規(guī)則,并以if-then的形式表示。 我們對從根到樹葉的每條路徑創(chuàng)建一個規(guī)則,沿著給定路徑上的每個屬性-值對形成規(guī)則 前件(if部分)的一個合取項,葉節(jié)點包含類預測,形成規(guī)則后件(then部分)。If-then規(guī) 則易于理解,特別是當給定的樹很大時。
[0057] 2、精簡規(guī)則屬性 從決策樹上直接獲得的簡單規(guī)則,一般都包含了很多無關的屬性,在不影響規(guī)則預測 效果的情況下,應盡量刪除那些不必要的規(guī)則。
[0058] 設規(guī)則的形式為W, If CthenCLASSD 精簡之后的規(guī)則形式為R ifC' Then CLASS D 其中C'是從C中刪除條件Q之后的形式。這樣,規(guī)則W'覆蓋的實例可分為以下4 個部分:滿足條件C,屬于類D的;滿足條件C,屬于其他類的;滿足條件C',但不滿足條件 Q,屬于類D的;滿足條件C',但不滿足條件Q,屬于其他類的,以上四類實例分別用Y1、 F1,Y2,F(xiàn)2來表示。規(guī)則W覆蓋了 Y1+F1個實例,其中誤判實例數(shù)目為F1。規(guī)則R覆蓋 Y1+F1+Y2+F2。所以規(guī)則R的誤判概率為Ucf (El,Y1 + E1),規(guī)則R -的誤判概率為UCF (E1+E2, Y1+E1+Y2+E2)。如果 Ucf (Fl,Yl+Fl)>=Ucf (F1+F2, Y1+F1+Y2+F2),則可以從條 件C中刪除條件Q。
[0059] 獲得最優(yōu)規(guī)則前件集是一個重要問題。一種貪婪搜索方法是,每次從條件集合中 刪除一個對預測效果影響最小的條件,如果刪除該條件后,誤判概率減少了,則上述過程繼 續(xù)。如果刪除后,誤判概率增加了,則不能夠刪除該條件,而整個精簡過程也同時結(jié)束。
[0060] 將決策樹轉(zhuǎn)化為規(guī)則后,由于他們易于理解的,所以它們可以構(gòu)成專家系統(tǒng)的基 礎。規(guī)則的剪枝將比樹的剪枝算法提供更高的準確率,因為規(guī)則的剪枝相當于在樹的剪枝 中只剪一個葉節(jié)點,而這在樹的剪枝中是做不到的。
[0061] 為了驗證構(gòu)造決策樹方法在系統(tǒng)知識獲取上的有效性,選取網(wǎng)絡設備信息中的7 種屬性組成故障識別參數(shù)集A。其中A1代表網(wǎng)卡狀態(tài)、A2代表配置是否正確、A 3代表CPU 利用率、A4代表DISK利用率、A 5代表網(wǎng)卡收包錯誤率、A6代表是否重啟動、A7代表網(wǎng)卡 是否捕獲到包,共8 0個樣本實例來建立故障決策樹,其中選取20個作為測試數(shù)據(jù)。選取 的樣本數(shù)據(jù)如表4. 1所示。
[0062] 表4. 1樣本數(shù)據(jù)
【權(quán)利要求】
1. 一種基于決策樹的工業(yè)以太網(wǎng)網(wǎng)絡故障診斷專家系統(tǒng),其特征在于:包括知識庫、 推理機、知識庫管理模塊、知識獲取模塊、解釋機和控制中心; 所述的知識庫包括全局數(shù)據(jù)庫和規(guī)則庫,全局數(shù)據(jù)庫是一組描述過程處理對象的符號 的集合,用于問題描述和環(huán)境描述;規(guī)則庫是由一組診斷規(guī)則組成,所述的一組診斷規(guī)則包 括條件部分和結(jié)論部分,條件部分是關于全局數(shù)據(jù)庫中某些數(shù)據(jù)的前提斷言,結(jié)論部分是 引起這個前提斷言的原因或者是這個前提斷言后續(xù)將要發(fā)生的類似前提; 所述的推理機是基于決策樹推理的設計,決策樹包括決策屬性節(jié)點、屬性值分枝和葉 節(jié)點,決策屬性節(jié)點是進行分類的決策屬性的集合,屬性值分枝是按照決策屬性進一步劃 分的取值特性的屬性值的集合,葉節(jié)點是決策或分類結(jié)果的集合; 所述的知識庫管理模塊包含故障管理、故障現(xiàn)象管理、特征信息維護、規(guī)則庫管理、問 題庫管理,用于對知識庫進行增加、刪除、更改操作; 所述的知識獲取模塊通過工業(yè)以太網(wǎng)網(wǎng)絡實時獲取診斷規(guī)則; 所述的解釋機是推理機同用戶的圖形接口,用來向用戶解釋推理的整個過程; 所述的控制中心用于更新知識庫。
2. 根據(jù)權(quán)利要求1所述的基于決策樹的工業(yè)以太網(wǎng)網(wǎng)絡故障診斷專家系統(tǒng),其特征在 于:所述的推理機的工作過程,包括以下步驟: A :首先,推理機根據(jù)全局數(shù)據(jù)庫的當前信息,決定在當前狀態(tài)下能夠與之匹配的N條 診斷規(guī)則,稱這些規(guī)則為觸發(fā)規(guī)則; B :推理機根據(jù)控制策略選擇一條最合適的觸發(fā)規(guī)則作為啟用規(guī)則; C :推理機執(zhí)行啟用規(guī)則,并根據(jù)啟用規(guī)則的動作修改全局數(shù)據(jù)庫內(nèi)的信息,同時,經(jīng)過 修改的全局數(shù)據(jù)庫又觸發(fā)新的診斷規(guī)則,從而問題求解進行到下一狀態(tài); D :再將上述步驟A、B、C反復進行,從而實現(xiàn)一個問題的最終求解。
3. 據(jù)權(quán)利要求2所述的基于決策樹的工業(yè)以太網(wǎng)網(wǎng)絡故障診斷專家系統(tǒng),其特征在 于:所述的控制中心的工作過程包括以下步驟: E:首先,利用規(guī)則庫中的診斷規(guī)則判定故障原因,如果診斷出故障原因,則將故障原因 顯示用戶;如果經(jīng)過用戶驗證后是錯誤的原因,再經(jīng)過實際操作獲得正確的故障原因后,連 同故障表現(xiàn)數(shù)據(jù)通過知識庫管理模塊一起輸入現(xiàn)有知識庫中;如果沒有診斷出故障原因, 進一步進行人工參與,從而獲得故障原因,驗證正確后,連同故障現(xiàn)象數(shù)據(jù)通過知識庫管理 模塊一起輸入現(xiàn)有知識庫中,再調(diào)用知識獲取模塊更新現(xiàn)有知識庫; F :同時,當故障處理紀錄達到一定數(shù)量,調(diào)用知識獲取模塊運用數(shù)據(jù)挖掘方法產(chǎn)生新 的告警規(guī)則更新以前的舊規(guī)則。
4. 根據(jù)權(quán)利要求3所述的基于決策樹的工業(yè)以太網(wǎng)網(wǎng)絡故障診斷專家系統(tǒng),其特征在 于:所述的前提部分和結(jié)論部分的表示法與全局數(shù)據(jù)庫中的數(shù)據(jù)表示形式保持一致。
5. 根據(jù)權(quán)利要求4所述的基于決策樹的工業(yè)以太網(wǎng)網(wǎng)絡故障診斷專家系統(tǒng),其特征在 于:步驟B中所述的控制策略包括兩種情況下的策略: ⑴:推理機根據(jù)故障表現(xiàn)推理故障原因,若診斷出的故障原因不正確或者診斷不出原 因,即判定此故障原因是一個新的故障原因,那么就需要管理員自己判斷解決,待驗證維修 后可以將故障表現(xiàn)和故障原因輸入到知識庫中的問題庫,再調(diào)用知識獲取模塊更新診斷規(guī) 則表; ⑵:當知識庫中的記錄累計達到一定數(shù)目后,有足夠的數(shù)據(jù)用來產(chǎn)生新的更適合現(xiàn)在 的規(guī)則,并且更新舊的規(guī)則以及刪除已經(jīng)失效的數(shù)據(jù)。
【文檔編號】H04L12/24GK104506338SQ201410673294
【公開日】2015年4月8日 申請日期:2014年11月21日 優(yōu)先權(quán)日:2014年11月21日
【發(fā)明者】孟瑾, 吳雪芹, 王德吉, 張乾, 楊立, 孟霞, 劉博
申請人:河南中煙工業(yè)有限責任公司