1. 程式人生 > >故障診斷專家系統研究之四-----知識庫結構

故障診斷專家系統研究之四-----知識庫結構

知識庫結構

§1知識庫概述

知識庫同知識表示和推理機構成專家系統的三個核心組成部分。知識表示研究如何將專家的知識和經驗以一定的結構合乎邏輯地表達出來,而知識庫則是研究知識的存貯結構,保證知識的明確性、相容性、簡潔性及可維護性。嚴格地說,知識表示和知識庫是分不開的,有何種知識表示,就有基於該種知識表示的知識庫結構。

關於知識庫的定義,各行各業都根據自己的需要對知識庫有著不同的定義,眾說紛紜。但對知識庫都有一個共同的看法:知識庫——特定領域的知識和資料的集合,即強調知識庫是一個集合、一個知識和資料的集合,而這些知識和資料又屬於一個特定的領域,如:燃氣輪機知識領域。

知識庫的研究和發展得益於一些概念和技術的整合。這些概念和技術所涉及的主要領域有:資料庫技術、形式邏輯和自然語言處理等,資料庫技術的發展使得知識庫能處理資料共享的問題;形式邏輯使得複雜知識能夠向簡單事實一樣被表示、存貯和推理;自然語言處理方法的研究使得知識庫能夠處理一些複雜的物件、事件序列和模糊的知識,但知識庫並非僅僅是藉助於其它領域技術和方法的簡單組合,它有著自己的鮮明特點:

1. 明確性包含兩個方面:一是知識庫結構的明確性,由於知識庫是特定領域的資料和知識的集合,因此,知識庫結構應與自己所應用的物件明確地保持一致;二是知識庫中知識存貯方式的明確性,即知識不應隱含地存放。

2. 相容性知識庫中的知識必須保持邏輯上的嚴格一致,同時必須嚴格遵守事先規定好的某些規範,不能有矛盾性的知識或不合規範的知識存在。

3. 簡潔性即知識庫中的知識不應該雷同或冗餘,若某一知識能從其它知識演繹而得到,則應該把該知識從知識庫中剔除。

4. 可維護性即知識是可以增加、刪除和修改的,這是知識庫的功能中的重點和難點。

在本文中,針對燃氣輪機特有的知識表示結構,結合關係型資料庫的思想,提出了燃氣輪機知識庫的層次模型

結構。該結構能有效地避免知識冗餘,通過知識關聯和多級索引機構,極大地提高了知識庫的搜尋效率。

§2燃氣輪機知識庫分類及總體結構

在第三章,討論了燃氣輪機知識的分類及每類知識的表示方法。本文把關於燃氣輪機的知識分為兩大類:深層知識和淺層知識。其中,深層知識又可分為知識元和關聯;淺層知識又分為斷言、規則和徵兆,如圖41所示:

41燃氣輪機知識分類

一個設計良好的知識庫,除了應具備前面提到的明確性、相容性、簡潔性和可維護性外,在結構上還應具備很強的獨立性,當根據需要對知識庫進行擴充或修改時,而不會影響系統的其他部分。同時,知識庫內部也應具有鮮明的結構化、層次化特點,這也是系統可維護性的要求。

因此,將知識毫無區別地混雜在一起存放是不明智的,這樣既不便於檢索也不便於維護。本文采用的方法是,將如圖

41所示的每一類知識單獨存放在不同的知識庫中,根據不同類知識之間的依賴關係,構築其相應知識庫之間的結構關係。這樣,不僅保證了知識庫的結構化、層次化特點,而且知識庫結構同知識表示在邏輯上保持一致,使整個系統結構顯得完整、緊湊。更重要的是,存取知識庫時不必經過格式的轉換,提高了系統的效率。

鑑於上述分析,本文采用的知識庫分類方式同燃氣輪機知識的分類方式一樣,給每一類知識都構築自己的知識庫,因此燃氣輪機知識庫的分類方式如圖42所示。

觀察燃氣輪機知識庫分類圖(圖42),燃氣輪機知識庫由11個庫組成,如何組織這11個庫之間的關係及其內部的結構是本章討論的重點。淺層知識總是基於結構化原理等深層知識之上,因而在知識庫模型中,深層知識庫應該在底部,淺層知識庫則應該在頂部;深層知識庫又包括知識元庫和關聯庫,其中知識元庫是基礎,它記載和描述了構成任一條燃氣輪機知識的最基本元素(系統名,子系統名,物件名,狀態描述),關聯庫則存放著各知識元庫中知識元之間的所屬關係,關聯庫的存在以知識元庫的存在為前提,因而在深層知識庫中,知識元庫在底部,關聯庫在頂部;淺層知識庫包括斷言庫、規則庫、徵兆庫和行動庫,由定義33和圖36,斷言庫事實上表現為各層知識元庫根據相應關聯而構成的一個四元關係集,也就是說,斷言可直接從深層知識庫中抽取,同時,斷言又是構成規則和徵兆的前件和後件的基本元素,因而斷言庫在深層知識庫之上且位於淺層知識庫的底部;規則和徵兆則是基於斷言的產生式結構,故規則庫和徵兆庫位於斷言庫之上,在淺層知識庫的頂部;行動本應屬於規則的一個域,為了使規則的描述得到簡化,故把行動從規則中分離出來,使其單獨構成一個庫,因此,行動庫是規則庫的一個附件。由於行動庫存放的只是給使用者提供維修措施的一組字元流,不需要特殊的儲存結構,因此本文後幾節將重點討論其它幾種的知識庫結構。

42燃氣輪機知識庫分類

鑑於上述分析,本文提出的燃氣輪機知識庫模型如下:

43燃氣輪機知識庫模型

§3知識元庫

如圖43所示,知識元庫包括系統名庫、子系統名庫、物件名庫和狀態描述庫。這四個庫是整個燃氣輪機知識庫的基礎,它記載和描述著燃氣輪機所有系統、部件及引數的名稱和關於它們可能狀態的描述。對應圖36,就主機系統而言,這四個庫事實上分別對應著圖中的四層節點集。

考察下述深層知識:

41主機系統由壓氣機、燃燒室和渦輪等子系統構成;壓氣機包括出口溫度、出口壓力、壓比和葉片等物件(引數和部件);燃燒室包括燃油噴射量等物件(引數);渦輪包括輪間溫度、平均排氣量和靜子、密封件等物件(引數和部件)。而每一物件有過高、過低、過大、過小、變形、磨損和斷裂等狀態描述(異常狀態)。

為了能夠清晰地從上述知識中抽取各層知識元,不妨把它表示成四層樹形結構圖的形式:

4441的圖解表示

系統名庫對應第一層節點集

系統名庫:{主機系統}

子系統名庫對應第二層節點集

子系統名庫:{壓氣機,燃燒室,渦輪}

物件名庫對應第三層節點集

物件名庫:{出口溫度,出口壓力、壓比,葉片,燃油噴射量,輪間溫度,平均排氣量,靜子,密封件}

狀態描述庫對應第四層節點集

狀態描述庫:{過高,過低,磨損,變形,斷裂,過大,過小}

但是,上述具體的知識元庫只是說明了知識元在相應知識元庫中的結構,這種庫結構是離散化的,並沒有完整地儲存例41中的深層知識,而關聯庫的存在則使得這一問題得到解決。

§4關聯庫

關聯分為一、二、三級,相應地關聯庫也分為一級、二級、三級關聯庫,它反映了各層知識元之間的所屬關係:

一級關聯庫:系統名庫子系統名庫

二級關聯庫:子系統名庫物件名庫

三級關聯庫:物件名庫狀態描述庫

如第三章所述,關聯分為關聯首部和關聯體部。就一級關聯而言,關聯首部存放系統名在系統名庫中的序號,關聯體部則存放子系統名在子系統名庫中的序號,關聯體一般有多個序號,呈現典型的一對多的形式,這一點也符合燃氣輪機的基本結構。在關聯庫中,關聯也以這種形式存放,由於關聯庫是多個關聯的集合,因此涉及到關聯在關聯庫中的相對位置的排序問題。在同一個關聯庫中不可能存在兩個關聯其首部相同,對於這種情況系統會自動地將其合併為一條關聯(見第六章--知識獲取),因此可以採用關聯首部作為關鍵值,以該值的大小順序(本文中採用由小到大的順序)來安排各關聯庫中關聯的相對位置,這樣做的好處是知識獲取時可以採用二分查詢法查詢關聯(見第六章-知識獲取),因為這種方法可以有效地提高知識庫的搜尋效率。

回到例41,給出關聯庫中該知識的結構(如圖45),為保證論述的整體性和完整性,圖中結合了知識元庫一塊描述,事實上,這也是例41在深層知識庫中的結構。

§5斷言庫

在燃氣輪機知識庫的11個庫之中,從知識庫的產生方式來說,斷言庫是最特殊的。因為其它所有庫中的知識均由知識工程師和專家合作,以一定的形式存入知識庫中,而斷言庫則是自動生成的。

由定義33,斷言事實上就是從燃氣輪機各系統四層樹形結構圖根節點到葉節點的而得到的描述,也就是基於燃氣輪機四層知識元庫之上的一個關係,而這種關係的建立不是隨機的,它依賴於四層知識元庫之間的三級關聯。因此,斷言庫依賴於深層知識庫的存在而存在,一旦確立了深層知識庫,則斷言庫事實上已經被確定。因此,斷言庫完全可以以深層知識庫為基礎,由系統自動地建立。在討論系統如何自動建立斷言庫之前,先介紹一個重要的概念--關聯的連線運算。

考察下述斷言

斷言1主機系統透平輪間溫度過高

4541的深層知識庫結構

根據§333節的討論,該斷言的框架表示如下

(框架名:斷言1

(槽1:主機系統)

(槽2:透平)

(槽3:輪間溫度)

(槽4:過高)

更進一步地,結合圖45,上述各槽值可以採用在對應知識元庫中的序號來表示:

(框架名:斷言1

(槽11

(槽23

(槽36

(槽41

為方便起見,改寫成下列形式:

1361

上述形式中,忽略了斷言框架的名稱,因為斷言庫中每一斷言框架的名稱可以採用斷言在斷言庫中的序號來表示,而斷言本身並沒有必要知道它在斷言庫中的位置。因此,上述儲存結構中只記載了知識元“主機系統”、“透平”、“輪間溫度”、“過高”在相應知識元庫中的序號,這也是斷言在斷言庫中的儲存結構。相應地,斷言“主機系統壓氣機葉片斷裂”也可以表示為下列形式:

1145

事實上,斷言的這種儲存結構可以從關聯庫中得到體現,就斷言(1361)而言(不妨設該斷言為ass1〕,根據系統名序號1在一級斷言庫中尋找關聯首部為1的關聯項con1=1123),發現斷言ass1的子系統名序號3出現在關聯項con1的關聯體中;根據子系統名序號3到二級關聯庫中尋找關聯首部為3的關聯項con2=36789),發現斷言ass1的物件名序號6出現在關聯項con2的關聯體中;根據物件名序號6到三級關聯庫中尋找關聯首部為6的關聯項con3=612),發現斷言ass1的狀態描述名序號1出現在關聯項con3的關聯體中。因此,斷言(1361)完全可以從關聯項con1con2con3中抽取,同樣,從con1con2con3中還可以抽取斷言(1362(對應“主機系統透平輪間溫度過低”)。斷言的這種生成方式可表示為

con1*con2*con3{1361),(1362}

其中,* 稱為連線符號。

定義41設為任意關聯項,為關聯項的首部,為關聯項的第個關聯體。又令

關聯項分別屬於一、二、三級關聯庫,如果

那麼稱關聯項經過連線生成斷言集

={(),

……

}

記為

其中,為的關聯體數量,*為連線運算子。

按照定義41,考察前述關聯

因此,

若上述關聯項分別遍歷一、二、三級關聯庫中所有關聯項,則可以得到諸多不同的斷言集,而斷言庫正是由所有這些斷言集構成。關於斷言庫的構成,本文給出如下結論

結論41設分別為一、二、三級關聯庫, ,則對於任意的,通過連線運算而生成的斷言集構成斷言庫。

在深層知識庫基礎之上,採用關聯的連線運算可自動地生成斷言庫。至於斷言在斷言庫中的排列次序同關聯庫一樣,以斷言框架的第一個值(系統名)為關鍵字,由小到大排列,對於系統名相同的斷言則以斷言的第二個值(子系統名)為關鍵字,餘類推。這樣做的目的是為了能夠採用二分查詢法,提高斷言庫的搜尋效率。對應圖45的深層知識庫生成的斷言庫如圖46所示,圖中把斷言庫分成三塊,是為了能夠更清晰地觀察到斷言庫的排序結構。事實上,斷言在斷言庫中是連續存放的。

46由圖45生成的斷言庫結構


§6規則庫

在第三章,本文討論了規則的知識表示方式,確定了採用基於斷言框架的產生式結構來表示規則,並給出規則的一個表達模式:

r=(故障現象,故障原因,規則強度,行動方案〕

那麼,規則在規則庫中的具體儲存結構如何?本節將在產生式結構的基礎之上作進一步的探討。為了討論問題的方便,先不考慮規則強度與行動方案。即認為規則由下述兩部分構成:

r=(故障現象;故障原因)=(AB

至於規則強度與行動方案稍後再討論。

針對燃氣輪機的具體執行情況,按照規則前件的形式分類,規則的形式不外乎下述四種情況:

1.規則前件為單個斷言,即故障B只表現為一種故障現象。

形式1

2.規則前件為多個斷言相“或”,即故障B可能誘發多個故障現象,而這些現象可以不同時出現。

形式2

3.規則前件為多個斷言相“與”,即故障B可能誘發多個故障現象,而這些現象肯定同時出現。

形式3

4.規則前件為多個斷言以“與”和“或”的形式相組合,即故障B可能誘發多個故障現象,而其中一些現象可能單獨出現,另外一些現象要麼不出現,要麼同時出現,

形式4

這裡,符號均為單個斷言,而則有可能是斷言的組合形式。

其實,上述四種形式可以進一步地縮減,對於形式4可以通過變換將其前件化為合取正規化的形式[5]

這裡均為多個斷言相“與”的形式,從而可用形式3表示。如規則

可以化為兩條規則

對於形式2,可用形式1表示。如規則

可以化為三條規則

因此,上述四種規則形式可以歸結為形式1和形式3

形式1

形式3

而形式1則又是形式3的一個特例,當n=1時,形式3就變成形式1

鑑於上述分析,關於燃氣輪機的所有規則均可採用形式3描述,因此,本文在規則庫中採用形式3來儲存規則。

燃氣輪機實際執行時情況比較複雜,對於一個或若干個故障現象,都可能對應若干個故障原因,這些原因中可能有些發生,有些並沒有發生。因此,諸多原因中各自的可能性是不一樣的,因而規則強度也不一樣。同樣,對於每一個具體的故障原因都有其具體的解決辦法或行動方案。因此,規則強度和行動方案同故障原因之間存在著相互對應的關係,可將它們歸結為一類,併入規則後件之中。於是規則的形式又統一到第三章描述的規則表示的形式上:

這裡,規則前件A是如形式3中多個斷言相“與”的形式;規則後件B則是多個可能的故障原因(附帶規則強度與行動方案)的排列。因此,規則的儲存結構應該如圖47所示:

47規則的儲存結構圖

實際儲存時,為了節省儲存容量,提高匹配速度,上述各斷言均採用該斷言在斷言庫中的索引號表示。如圖47中的規則1在規則庫中的實際形式為:

48規則的實際儲存形式

燃氣輪機實際執行過程中,經常遇到的一個問題是效率和壓比過低,根據專家經驗可能是由於壓氣機葉片變形、磨損或斷裂引起,當然也有可能是由輔助系統的故障引起,如放氣機構工作不正常,進氣導流氣結冰等。為了能夠沿用圖46中例41的斷言庫,這裡只考慮壓氣機葉片的故障引起壓比過低的情況,因為關於壓氣機效率和輔助系統的斷言在圖46中並未列出。以前面討論的形式3對這一規則作一描述:

設斷言 A1=主機系統壓氣機壓比過低;

A2=主機系統壓氣機葉片變形;

A3=主機系統壓氣機葉片磨損;

A4=主機系統壓氣機葉片斷裂;

則上述專家經驗可表示為規則

r=(A1

相關推薦

故障診斷專家系統研究-----知識庫結構

知識庫結構§1知識庫概述知識庫同知識表示和推理機構成專家系統的三個核心組成部分。知識表示研究如何將專家的知識和經驗以一定的結構合乎邏輯地表達出來,而知識庫則是研究知識的存貯結構,保證知識的明確性、相容性、簡潔性及可維護性。嚴格地說,知識表示和知識庫是分不開的,有何種知識表示,就有基於該種知識表示的知識庫結

熊貓豬新系統測試:Ubuntu 14.04

快捷 ubunt 博客 簡單的 paint 執行 易用 linux操作系統 linux下 眼下貓豬在辦公室一般用的就是烏班圖系統,一方面原因是老本本性能跑不起來Windows,更重要的是本貓認為Linux系統更開放些.況且如今用的也比較熟了,全然能夠脫離Wi

定製Android系統開發——系統服務實現的分析

在上一篇博文中,我給出了實現系統服務的步驟,這篇博文則將分析一下,為什麼這樣的實現方式能夠實現客戶端/伺服器模式。 RadioManagerService 首先來看一下RadioManagerService是如何建立的。 如果我沒有記錯的話,Syste

Elastic search 系統學習: 文件API

一、Index API 1、插入文件 curl -XPUT 'localhost:9200/twitter/tweet/1?pretty' -H 'Content-Type: application/json' -d' {     "user" : "kimchy",   

系統部署B/S結構、C/S結構剖析

對於企業在部署其業務系統時,是選擇B/S結構還是選擇C/S結構,小編可不敢妄下斷言,不過由於工作的原因,筆者接觸過典型的C/S結構也接觸過B/S結構,工作內容主要是對公司的日常IT事務進行支援和維護,作為IT維護人員明顯感到C/S結構與B/S結構的不同,在此小編簡單整理了些資料與大家分享。 C/S結構,

linux系統程式設計struct flock 結構

該結構是在lock.h檔案中定義。 lock.h File 功能 定義一些檔案的鎖的選項 Description The flockstructure in the/usr/include/s

buildroot構建項目(七)--- u-boot 2017.11 適配開發板修改 4 ---- 系統啟動初始化

ack tar span mov tel 變量初始化 清零 ppi ntb   設置完寄存器控制器後,則跳出cpu_init_crit,進入_main 函數。即進入crt0.S (arch\arm\lib)   跟著代碼流程慢慢走 一、crt0.S 1.1 第一步執行代碼

系統學習redis——redis數據類型hash類型及操作

。。 del code 操作 redis數據類型 src hms 添加 數據類型 hashes數據類型 Redis的hash是一個string類型的field(字段)和value的映射表。它的添加、刪除操作都是0/1(平均操作法)。hash特別適合用於存儲對象。相較於將對象

基於Springboot技術的部落格系統實踐及應用(Elasticsearch)

本部落格從全文搜尋、ES簡介、ES核心概念、ES與SpringBoot整合以及ES實戰共五個方面進行詳細介紹和應用。 1、全文搜尋介紹 全文搜尋搜尋的物件主要有兩種: 1、結構化資料:具有固定格式或固定長度的資料,例如,資料庫,元資料 2、非結構化資料:無固定格式或者無固定長度的

am335x系統升級kernel ethernet()

目前linux驅動開發主要在於dts檔案的開發,幾乎所有的驅動都是現成的, 關鍵在於三點:   1) 瞭解硬體的介面   2)  知道如何初始化硬體   3) 如何通過dts傳遞所需要的資訊 關於網絡卡首先得知道phy地址,時鐘用的是外部時鐘,介面用的是RMII介面,管腳需要做相

【看論文】《基於機器視覺的番茄收割機實時分揀系統研究_袁紫薇》

論文資訊 題目:基於機器視覺的番茄收割機實時分揀系統研究 作者:袁紫薇 作者單位:長安大學 論文性質:碩士學位論文 提交日期:2017.4.28 摘要 本文立足於農業機械的發展,研製出一種番茄聯合收割機用成熟番茄識別和分揀的方法; 研究內容: (1)針對從成熟

Spring Boot 系統:Spring Boot 整合JPA

上一篇我們講了Spring Boot 整合jbdcTemplate 來進行資料的持久化。 這篇我們來說下怎麼通過Spring Boot 整合JPA來實現資料的持久化。 一、程式碼實現 1、修改pom.xml,引入依賴。 <!-- 引入jpa 依賴 -->

區塊鏈儲存系統中,對於穩定幣的研究DAI

在研究區塊鏈儲存的時候,區塊鏈的Token激勵機制非常關鍵。它可以驅動使用者將企業級儲存、伺服器、PC、移動儲存等剩餘儲存空間貢獻出來。使用者資料因而可以分散式得存放到不同節點上,每個節點實際存放的資料只是資料的一些切片,而且這些切片還以加密的方式儲存起來。 不過當前各類區

區塊鏈儲存系統中,對於穩定幣的研究DAI(二)

緊接著上回未講完的繼續。 眾所周知,在Maker體系中存在兩種主要的貨幣,一個是我們熟知的DAI——穩定貨幣。它本身作為擁有資產背書的硬通貨,產生於無需准許的信貸系統中。 也就是說,隨意一個使用者都可以鎖定他們的數字資產,然後生成DAI。DAI的價格受系統

物聯網安全研究二:IoT系統攻擊面定義分析

在前文中,我們瞭解了IoT技術的基本架構,本文我將來說說IoT安全,在此過程中,我們會嘗試定義一種新方法來理解IoT安全,同時也會建立一個結構化流程來方便認知IoT相關的攻擊研究和滲透測試。 依據前文我們定義的IoT體系結構,現在我們可以非常清晰地分離出物聯網系統的各種

《JVM故障診斷指南》1 —— JVM概覽與介紹

原文連結 原文作者:Byron Kiourtzoglou 翻譯:梅小西(904516706) Oracle HotSpot JVM 記憶體 Java HotSpot 虛擬機器堆空間 這個部分將向你介紹Oracle Java HotSpot虛擬機器裡不同的Java堆記憶體空間概覽。理解這個對於任

《JVM故障診斷指南》3 —— Java 執行緒: JVM持有記憶體的分析

原文連結 原文作者:Byron Kiourtzoglou 翻譯:梅小西(904516706) 前面我們已經討論過JVM裡不同的堆空間,這節我們會給你提供教程,是關於如何從你的活動的應用Java執行緒中確定它持有多少堆空間,以及在哪裡佔用。這裡有個來自Oracle Weblogic 10.0生產

區塊鏈研究-星際檔案系統IPFSWindows環境安裝及使用入門

      add指令會將剛才的根目錄下的所有檔案加入到網路中,並為訪問三個目錄生成了不同的多重雜湊節點ID addedQmXnA3jtjcthBbgrkx8eeJX9YrvFT7BRJVxvhvkpKGEUPk fileTest/test/README.md addedQmZiBRkXJVvunKhxaUD

專家系統基礎篇 一、專家系統是幹啥類與知識庫菜鳥說

專家系統: 就是弄個程式,像專家一樣思考,像專家一樣幹活. 1 一個人要成為專家,就要有專家的資質,最基本的條件: 專家的知識—-知識庫 專家的思考方式—-推理方式 專家的判斷力——與推理方式結合的輸出解決方案。

從新手到系統管理員():Linux Shell指令碼程式設計數學(Part I)

本文由 [茶話匯] – [Qing] 編譯自 [Avishek Kumar] 轉載請註明出處 這部分主要討論數學相關的shell指令碼程式設計。 加法運算 新建一個檔案“Addition.sh”,輸入下面的內容並賦予其可執行的許可權。 [code language=”bash”] #!/bin/b