Proof by resolution
再來舉Wumpus world來說明怎麼做Proof by resolution.首先我們有以下的KB:
player一開始在1,1,後來跑到2,1,再來跑到1,2,觀察到以上的KB中的sentences。
在infer過程中,會出現一個特殊的form:
可以看到 P11 OR P22 OR P31 AND -P22
這是一個conjunction (AND) 連結兩個 OR形成的clause (右邊-P22 也可以看成 -P22 OR True)
但是-P22和 P22互斥,由於-P22為True,則P22只能為False。
這邊 -P22 和 P22 這兩個element "resolved" ,做了一個resolution,形成了一個新的true的sentence: P11 OR P31,稱為一個"resolvent"。
當然最後可以得出KB entails P31,因為player在1,1出發,而那邊沒有pit:
以上resolution過程稱為 "unit resolution",general form如下:
Conjunctive Normal Form (CNF)
unit resolution可以延伸到更general的兩個clause:以上兩個clauses都同時為真,這種由兩個disunction clauses組成的AND 關係,稱為CNF,例如:
如果對這種CNF apply resolution rule,一定會找出sound and complete inference results。
IFF Implication proposition轉換成CNF
假設有一個iff proposition:iff proposition可以先拆成兩個方向的implication:
然後implication 和 -a OR b是logically equivalent:
不過右邊還不是完全的disjunction,採用demorgan's law把negation符號展開:
並且用分配律把所有Disjunction clause用conjunction 連接:
這樣就完成了我們的CNF。
Resolution algorithm (proof by contradiction)
以下是一個利用CNF form來做resolution的演算法:為了要檢視是否KB entails alpha,演算法假設KB entails -alpha 成立,如果發現矛盾代表KB entails alpha,為什麼要採用反證法?
因為這樣才有辦法用之前提到的unit resolution,才能做resolution。
所以如果沒有任何resolvents出現,代表KB && -alpha所形成的CNF中任意兩個 clause無法resolve出任何東西,亦即KB && -alpha沒有產出新的sentence,當然就證明 KB 不entail -alpha,意即反證KB entails alpha。
舉例來說,我們想知道某個KB是否entails alpha:
要用此演算法,我們得假設KB entails -alpha,意即 KB &&-alpha成立:
先把KB && -alpha寫成 CNF:
光是第一個和第二個clause就能產出兩個resolvents,就按照演算法iteratively試著做resolution。
最後發現 -alpha這個clause無法和已經resolve出來的所有新的sentences找出resolvent,代表 KB &&-alpha not satisfying,意即 KB entails alpha。
GSM Architecture
回覆刪除General Model for Sequential or State Machine
Advanced Features of FLWOR with Example
File Stream Classes with iostream Classes
Feistel Cipher
Feature and Goals of the Distributed File System
Dynamic Arbitration Algorithms
Design Issues in Distributed Operating System
Distributed Mutual Exclusion Algorithm
回覆刪除Discretionary Access Control
Next-Use Information
National Income
Naming in Distributed System
Naive String Matching Algorithm
Multiplication Operation on Two Floating Point Numbers
Multiplexing Techniques – FDMA and SDMA
Midpoint Ellipse Algorithm
人工智慧期末考就靠你這幾篇,感謝
回覆刪除