摘要:探討了大壩安全監測專家系統的知識類型和知識的獲取過程;分析了大壩安全監測專家系統的各種知識及其表示方法,即事實性、規則性和過程性知識及表示;在此基礎上建立了一種簡單的基于關系數據庫的大壩安全監測專家系統知識庫——包括事實庫、規則庫及知識的推理策略;最后把知識庫應用到大壩安全監測專家系統中,為大壩安全監測工作提供保障。
關鍵詞:關系數據庫;大壩安全監測;專家系統;知識庫
0、引 言
在現代的專家系統知識庫開發中,對于大量的知識,若以文件I/O的形式組織顯得非常復雜和困難,并且難以維護和擴充數據;數據庫系統具有處理海量數據的能力,但無表達和處理例如規則等知識的能力。若將數據庫和知識庫二者相結合,即利用數據庫技術,將各種知識和規則系統化、規范化,建立知識庫,將有利于提高數據庫和知識庫的演繹、推理能力。特別是隨著經驗的豐富可以不斷地擴充知識庫,既能體現知識庫的健壯性,又有益于知識庫維護的一致性和完整性。
1、基于關系數據庫的大壩安全監測專家系統的知識獲取
1.1知識的類型
對大壩安全狀況進行監測和預警是一項綜合性的工作,必須對大壩的各個環節,如上游圍堰的防滲墻,主壩基礎,壩體表面,左右岸的工作狀況等各個方面進行全面的監測,從而達到安全監測的目的。按照知識來源和類型的不同,大壩安全監測專家系統的知識可分為以下幾個方面:①專家檔案庫所存儲的相關知識;②工程安全評判專家經驗和知識;③安全監察輔助決策經驗和知識;④疑難雜癥專家處理經驗和知識;⑤工程故障處理專家經驗和知識;⑥其他知識。
1.2知識的獲取過程
為了建立起健全、完善、有效的大壩安全監測專家系統知識庫,以滿足問題求解的需要,知識的獲取一般要經過如下幾個過程:
(1)知識的抽取:按照大壩安全監測專家系統的知識類別,把蘊含于大壩安全領域專家庫以及各類文獻如《混凝土大壩安全監測技術規范》、《水庫大壩安全事故防范與除險加固技術標準手冊》、《大壩安全自動監測系統設備基本技術條件》等中的知識經過識別、理解、篩選、歸納抽取出來,用于建立和充實知識庫。
(2)知識的轉換:把抽取的大壩安全知識由一種表示形式變化為另一種形式。一般分二步進行:第一步,把從大壩安全領域專家以及文獻中抽取的知識表示為某種形式,如謂詞邏輯、產生式規則、框架等;第二步,把該模式的知識表示形式轉換為系統可以直接利用的內部表示形式。前者通常由知識工程師完成,后者一般通過輸入及編譯實現。
(3)知識的輸入:把用適當模型表示的知識經過編輯、編譯送入知識庫。
(4)知識的檢測:知識庫的建立是通過對知識進行抽取、轉換、輸入等環節實現的,任何環節失誤都會造成知識的錯誤表示,從而影響專家系統的性能。在知識輸入時應及時進行檢測,以發現知識中可能存在的不一致、不完整等問題,以便采取相應的措施。
2、基于關系數據庫的大壩安全監測專家系統知識的表示
大壩安全監測專家系統所涉及的知識主要包括專業技術類知識、專家經驗類知識、安全法規和設計規范類知識。從人工智能的角度,這些知識按其作用大致可分為三類:
(1)事實性知識。表示對象及概念的特征及其相互關系,以及問題求解狀況,例如,各測點對象的當前測值正常或異常的性質以及測值異常情況產生的原因(監控系統異常、環境量異常、結構異常引起等)。這類知識通常可以采用傳統的數據庫來處理。
(2)規則性知識。它由事實組成,表示事實間的聯系,即表示與大壩安全工作領域有關的問題求解知識,如推理規則等。對規則知識可用層次網絡表示,其語法可用BNF范式表示:
<關聯>∷=《關聯頭>、<關聯體>(規則簇)
(關聯頭>∷=<概念節點>
<關聯體>:=<概念節點>,{(關聯體)}
<規則簇>∷=IF(前提條件集)THEN(結論)CF<值>FUN(過程>
<前提條件集>∷=<前提條件>, {<前提條件集>}
<前提條件>∷=<概念節點>=(值<表達式>)
(3)過程性知識。表示在推理診斷過程中調用的自定義函數以及問題求解的控制策略等。根據大壩的工程情況,可將大壩劃分為幾個重要的工程部位和工程斷面。工程部位和工程斷面的工作情況反映大壩的工作情況,而工程部位和工程斷面的工作情況由布設在其上的各類監測儀器的測值來反映。因此,大壩安全監測的知識可用如圖1所示的大壩工作情況層次圖來表示。
3、基于關系數據庫的大壩安全監測專家系統知識庫的建立
大壩安全監測專家系統的知識庫采用通用的、功能極強的關系數據庫語言——Microsoft SQL Sever來建立。基于關系數據庫的知識庫主要采用一系列二維表來存儲知識。大壩安全監測專家系統的知識庫由事實庫和規則庫組成。在事實庫中,由事實表來存儲事實性知識;在規則庫中,由規則表來存儲啟發性知識。
3.1事實庫的建立
事實庫主要是存儲事實性知識,其數據表包括構成事實所需的各表及其所用到的相關輔助表,如元事實表、事實表、事實索引表等。其中元事實表存儲的是事實性知識中最底層的概念知識的表示方法,事實表存儲的是事實性知識,事實索引表存儲的是對元事實表和事實表之間建立的索引。它們的基本結構如下所示:
①元事實表(Meta-fact):
(元事實編號,變量,謂詞類型,謂詞名,值)
ID_META VAR OP_TYPE
UP_NANE
VAL
②事實表(Fact):
(事實編號,組成)
lD_FACT
CONSTITUTE
1,2,-3,+,4
③事實索引表(Fact-index):
(元事實編號,包含該項的事實編號)
ID_MATA
JD_FACT
3.2規則庫的建立
規則庫中的數據表主要由構成規則所需的各表及其對知識進行獲取、維護管理和應用(推理)所用到的相關輔助表構成,包括規則表和規則索引表等。其中規則表不僅用于存儲規則的基本信息,而且還儲存著規則和知識的條件部分,同時規則和知識的結論部分也存儲在規則表中;規則索引表則儲存的是規則與事實之間的索引。其基本結構表示如下:
①規則表(Rule):
(規則編號,條件(前提),結論,置信度)
ID_RULE
PREMISE
CONCLUDE
CONFIDENCE
1,-3,4,+,5,8,6,7
②規則索引表(Rule-index):
(元事實編號,包含該項的事實編號)
ID_META
lD_RULE
3.3知識的推理策略
由于本系統知識庫采用關系模式構建,因此推理過程是建立在利用SQL語言查詢表的過程之上。根據大壩安全監測分析評判的特點,考慮到專家評判決策的思維過程,本系統知識推理采用了雙向綜合推理策略,即在總體上采用目標決策機制,局部采用正反推理混合方法,根據實際需要運用多種推理來實現系統的總體功能。其流程如圖2所示。
4、大壩安全監測專家系統知識庫的管理與維護
在大壩安全監測領域,一部分知識是靜態的,另一部分知識是動態的。隨著大壩運行時間的延伸以及大壩工程理論的進一步發展,知識需要不斷地完善和補充。
對于知識庫的管理,可以采用關系數據庫,即充分利用關系數據庫具有數據與程序的獨立性,良好的用戶權限設置和數據共享等功能,實現對知識的管理、維護以及知識的安全維護和共享等。
對于知識庫的維護,一方面,當現有知識無法對大壩安全進行正確判斷時,需要向專家求助來補救缺少的知識;另一方面,當判斷、分析原因和防治措施出現錯誤,或者知識庫中的知識遭到意外破壞時,會導致知識庫的知識不一致,應當允許專家修改現有知識庫,更正錯誤的知識。
5、結束語
利用上述方法建立的基于關系數據庫的大壩安全監測系統知識庫具有以下特點:
(1)利用關系數據庫成熟的管理技術對知識庫中的各種知識進行集中管理,可方便地對這些知識進行增加、刪除、修改、瀏覽等操作,增強了知識對技術人員的透明度,并極大地簡化了系統設計和維護人員對已有知識的訪問、管理和維護難度。
(2)利用開放數據庫互連(ODBC)技術可以在多種編程環境(例如,VC,VB等)中方便地實現對各種數據庫系統的訪問,使不同編程語言在數據庫的基礎上實現了統一,從而在專家系統開發過程中可以根據需要靈活地選擇開發語言以降低開發難度、提高開發效率。同時,利用關系數據庫的專用開發工具可以方便快捷地開發出友好的用戶圖形界面,便于用戶使用,從而降低了對用戶計算機操作能力的要求。
參考文獻:
[1]薩師煊,王珊,數據庫系統概論[M],高等教育出版社,2000
[2]劉小生,孫群,礦山安全預警專家系統知識庫的研究[J],礦業安全與環保,2008,35(30):35-36
[3]王小軍,周昌盛,呂漢興,一種基于關系數據庫的知識表示和推理方法,控制工程2005,12(I):40-43
[4]李晶,賀貴明,三峽安全監測信息系統知識庫系統設計[J],計算機工程,2001,27(11):150-152
[5]黃萬里,岳建平基于數據庫的大壩安會監控專家系統知識庫設計,大壩與安全,2004,3:55-59
[6]劉海英,基于關系數據庫的專家系統外殼設計[D],燕山大學碩士學位論文,2006