3.1.1 產生式
用於表示事實、規則以及它們不確定的度量,適合於表示事實性知識和規則性知識
- 確定性規則的產生式表示
確定規則:只要前提滿足,結論一定是正確的
基本形式:if P then Q (P→Q) 蘊涵是產生式的特例
e.g. 若動物會飛 且 動物會下蛋 則動物是鳥
- 不確定性規則:標註置信度(發生的可能性)
基本形式:if P then Q(置信度) (P→Q(置信度))
e.g. if 發燒 then 感冒(0.6)
- 確定性事實和知識
+ 表示方法
1. (對象,屬性,值)
2. (關係,對象1,對象2)
- 不確定性事實和知識
+ 表示方法
1. (對象,屬性,值,置信度)
2. (關係,對象1,對象2,置信度)
- 產生式與蘊涵式的區別
+ 產生式可表示蘊涵式,以及各種操作、算子、規則
+ 產生式可表達不確定性知識,而蘊涵式只能表示確定性知識
- 產生式的形式描述及語義——巴克斯範式
+ 定義爲 ::=
+ 或者是 |
+ 可缺省 []
3.1.2 產生式系統:專家系統的核心部分
- 產生式系統的組成
+ 規則庫:相應領域知識的集合(靜態)
規則是不是越多越好? 非也,規則越多,計算時間越長,反應越慢。
+ 推理機:反映推理過程
+ 綜合數據庫:存放事實、中間結果等求解過程數據(動態)
+ 控制系統:存放一組程序,控制推理機的運行
1. 將數據庫中的事實與規則庫中的規則相匹配
2. 若匹配到的規則不止一條,則進行【衝突消解】-->如就近原則
3. 若規則的結果是一個事實,則存放到數據庫中;若是一個操作,則執行操作
4. 對於不確定知識,執行規則時需根據一定的算法計算結論的不確定性
5. 判斷數據庫中是否包含最終結論,若不包括,則繼續推導。
3.1.3 產生式系統的例子:動物識別系統
運行流程:
1. 建立知識庫
2. 將已知知識放入數據庫
3. 控制系統開始檢索規則庫(對匹配上的規則做記號,或將規則放到首位,以快速找到常用的規則)
1. 規則庫儲備知識如下:
2. 現有已有知識:{暗斑點,長脖子,長腿,奶,蹄},放入綜合數據庫
3. 控制系統開始匹配
{暗斑點,長脖子,長腿,奶,蹄,哺乳動物}
{暗斑點,長脖子,長腿,奶,蹄,哺乳動物,有蹄類動物}
{暗斑點,長脖子,長腿,奶,蹄,哺乳動物,有蹄類動物,長頸鹿}
3.1.4 產生式系統的特點
- 優點:自然性、模塊性、有效性、清晰性
- 缺點:效率不高、不能表達結構性知識
- 適合表示的知識
+ 領域知識間關係不密切,不存在結構關係
+ 經驗性及不確定性知識,且相關領域對這些知識沒有嚴格、統一的理論
+ 領域問題的求解過程可被表示爲一系列獨立的操作,每個操作可被表成一條或多條規則