知識概述
知識是對於一個主題或者一個領域在理論或實踐上的理解,也是所有已知的總和。
擁有某一部分知識的人稱為專家,他們是所在組織中重要的人物。
知識表達技術-規則
任何規則都包括兩個部分:IF部分和ELSE部分。IF部分是前項(前提或者條件),THEN部分是后項(結論或者行為)。
一般來說,前提之間可以使用關鍵詞AND(合取)、OR(析取)或者兩者混合使用。不過,最好在同一規則中避免使用合取和析取。
同時,結論也可以由多個從句組成。也就是說,從一個條件中可以得出多條結論。
專家系統研發團隊的主要參與者
領域專家是在特定區域或者領域具有淵博知識和豐富經驗的人。他們在特定領域具有最好的經驗,這些經驗會被輸入到專家系統中。
知識工程師是善於設計、構建、測試專家系統的人,負責為系統選擇合適的任務,並就如何解決特定問題和領域專家進行互動。
程序員負責編程,用計算機能接受的術語描述領域知識。
項目經理是開發團隊的領導,負責項目的進程,確保按計划進行,並與專家、知識工程師、程序員、終端用戶進行互動。
終端用戶,也稱為用戶,是使用專家系統的人。
具體關系如圖所示:
基於規則的專家系統的結構
基於規則的專家系統由5個部分組成:知識庫、數據庫、推理引擎、解釋設備和用戶界面。
知識庫包含解決問題相關的領域知識。在基於規則的專家系統中,知識用一組規則來表達。其具有IF(條件)THEN(行為)結構,當規則的條件被滿足時,觸發規則,繼而執行行為。
數據庫包含一組事實,用於匹配知識庫中的IF(條件)。
推理引擎執行推理,專家系統由此找到解決方案。推理引擎鏈接知識庫中的規則和數據庫中的事實。
用戶使用解釋設備查看專家系統怎樣得出解決方案的過程。
用戶界面是實現用戶(查詢問題解決方案)和專家系統之間交流的途徑。
其基本原理圖如下:
衍生出來的模型如圖所示:
前項鏈接和后項鏈接推理技術
前項鏈接,簡單來說,就是已知條件,來推理結論。
比如:Y&D->Z
X&B&E->Y
A->X
可以看到由A可以得到X,由X和B、E可以得到Y,最后Y 和D可以得到Z;
后項鏈接,就是已知結論,來推出條件。
還是上面那個例子,我們已知結論Z,可以得到兩個因子Y和D,然后又把Y 當做結論,找到因子X、B和E,最后又把X當做結論,得到條件A。
沖突消解
知識規則中,有可能多個規則之間是矛盾的,那么我們再匹配時應該如何選擇呢?其實這里有很多方法可以遵循,比如:觸發優先權最高的規則(每條規則都設置相應權重)、激發最具體的規則(依據是具體規則比一般規則處理更多的信息)。
元知識
在學習的而過程中,我們通過已有知識,再產生相應的知識,我們把再次產生的知識稱為元知識。
總結
這就是基於規則的專家系統的一些簡單理論知識,接下來就是要把這些過程應用到實踐中,寫相關代碼,深入理解其中的原理以及執行過程。
————————————————
版權聲明:本文為CSDN博主「laola的故事」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/u013266600/article/details/72782475