-
產生式表示法
鎖定
- 中文名
- 產生式表示法
- 外文名
- production representation
- 類 別
- 計算模型
- 發明人
- 波斯特(E.POST)
- 提出時間
- 1943年
產生式表示法基本形式
P→Q或IF P THEN Q
產生式表示法例子
r6: IF 動物有犬齒 AND 有爪 AND 眼盯前方
THEN 該動物是食肉動物
其中,r6是該產生式的編號;“動物有犬齒 AND 有爪 AND 眼盯前方”是產生式的前提P;“該動物是食肉動物”是產生式的結論Q。
產生式表示法主要區別
與藴涵式的主要區別:
(1) 藴涵式表示的知識只能是精確的,產生式表示的知識可以是不確定的
(2) 藴含式的匹配一定要求是精確的,而產生式的匹配可以是不確定的
原因是產生式的前提條件和結論都可以是不確定的,因此其匹配也可以是不確定的。
與條件語句的主要區別:
(1) 前件結構不同
產生式的前件可以是一個複雜的的結構
(2) 控制流程不同
產生式系統中滿足前提條件的規則被激活後,不一定被立即執行,能否執行將取決於衝突消解策略
傳統程序設計語言中是嚴格地從一個條件語句向其下一個條件語句傳遞。
產生式表示法基本信息
事實與規則的表示
事實可看成是斷言一個語言變量的值或是多個語言變量間的關係的陳述句,語言變量的值或語言變量間的關係可以是一個詞。不一定是數字。如雪是白色的,其中雪是語言變量,其值是白色的。John喜歡Mary,其中John、Mary是兩個語言變量,兩者的關係值是喜歡。
如事實“老李年齡是35歲”,便寫成(Lee,age,35)
事實“老李、老張是朋友”,可寫成(friend,Lee,Zhang)
對於規則是表示事物間的因果關係,以下列形式表示:
condition->action
產生式系統的組成和推理
規則是以產生式表示的。規則集藴涵着將問題從初始狀態轉換解狀態的那些變換規則,規則庫是專家系統的核心。規則可表成與或樹形式,基於數據庫中的事實對這與或樹的求值過程就是推理。
數據庫中存放着初始事實、外部數據庫輸入的事實、中間結果事實和最後結果事實。
推理機是一個程序,控制協調規則庫與數據庫的運行,包含推理方式和控制策略。
正向推理:從已知事實出發,通過規則庫求得結論,或稱數據驅動方式。推理過程是:
規則集中的規則前件與數據庫中的事實進行匹配,得匹配的規則集合。
從匹配規則集合中選擇一條規則作為使用規則。
執行使用規則的後件。將該使用規則的後件送入數據庫中
重複這個過程直至達到目標
具體説如數據庫中含有事實A,而規則庫中有規則A->B,那麼這條規則便是匹配規則,進而將後件B送入數據庫中。這樣可不斷擴大數據庫直至包含目標便成功結束。如有多條匹配規則需從中選一條作為使用規則,不同的選擇方法直接影響着求解效率,選規則的問題稱作控制策略。正向推理會得出一些與目標無直接關係的事實,是有浪費的。
反向推理:從目標(作為假設)出發,反向使用規則,求得已知事實,或稱目標驅動方式,推理過程是:
規則集中的規則後件與目標事實進行匹配,得匹配的規則集合;
從匹配的規則集合中選擇一條規則作為使用規則;
將使用規則的前件作為子目標;
重複這個過程直至各子目標均為已知事實成功結束;
如果目標明確,使用反向推理方式效率較高。
雙向推理:同時使用正向推理又使用反向推理。