人工智能 一种现代方法 第8章 一阶逻辑
文章目錄
- 一階邏輯的語法和語義
- 全稱量詞和存在量詞
- 等詞equality
- 運用一階邏輯
- 一階邏輯的斷言和查詢
- 親屬關系論域(the kinship domain)
- 總結
- 資源分享
一階邏輯的語法和語義
命題邏輯是我們最先學的邏輯,比較簡單,也比較好理解。
因為命題邏輯表達能力不夠,所有我們又引入了一階邏輯(First-order Logic),即FOL。FOL多了很多新概念新成分,增加了項來表示對象,增加了全稱量詞和存在量詞。
FOL中的句子:
1)term(項)
常數符號,變量符號,或者函數符號
2)atomic sentence (原子語句)
謂詞符號(with value true or false)
represents a relation between terms
3)complex sentence (復合語句)
Atom(s) joined together using logical connectives(邏輯連接詞,與或非蘊含等價) and/or quantifiers
Concepts(FOL的一些概念):
1)Literal(文字)
原子,原子的否定
2)Clause and Clause set(從句和從句集合)
disjunctions of literal (文字的析取)
3)CNF(conjunctive normal form,合取范式)
conjunction of disjunctions of literal (文字析取的合取范式)
CNFs不包括量詞。 CNFs do not contain quantifiers!!!
解釋
一階邏輯中的解釋把常量符號映射到對象,謂詞符號映射成對象之間的關系,函詞映射成對象上的函數。
全稱量詞和存在量詞
全稱量詞通常接蘊含符號? 。例如:所有的國王都是人。?x King(x) ? Person(x)
存在量詞通常接合取符號∧ 。例如:有王冠在King John頭上。 ?x Crown(x) ∧ OnHead(x,John)
嵌套量詞
Loves(x,y):x愛y
?x?y Loves(x,y):每個人都會愛上某人
?y?x Loves(x,y):存在某個人被每個人愛
- ?x?y is the same as ?y?x
- ?x?y is the same as ?y?x
- ?x?y is not the same as ?y?x
等詞equality
除了使用謂詞和項產生原子語句之外,一階邏輯還有另一種構造原子語句的方式。可以用等詞來表聲明兩個項指代同一個對象。
例如:Father(John) = Henry
加否定詞時表示兩個項不是同一個對象。
例如:Richard至少有兩個兄弟。可寫為:?x,y Brother(x,Richard) ∧ Borther(y,Richard) ∧ ¬(x = y)
例如:Richard有兩個兄弟John和Geoffrey。
錯誤:Brother(John,Richard) ∧ Borther(Geoffrey,Richard) ∧ ¬(John = Geoffrey)
正確:Brother(John,Richard) ∧ Borther(Geoffrey,Richard) ∧ ¬(John = Geoffrey) ∧ ?x Borther(x,Richard) ? (x=John ∨ x=Geoffrey)
模型檢驗在一階謂詞邏輯中是否可行?
如命題邏輯一樣,蘊涵、有效性等都根據所有可能模型來定義。由于可能模型的數量是無限的,通過枚舉所有可能模型以檢驗蘊涵在一階邏輯中是不可行的。即使對象數量有限,各種組合的數量仍然可能非常大。如果有6個或更少對象,語句有2個常量、1個二元關系,會有137,506,194,466個模型。
運用一階邏輯
一階邏輯的斷言和查詢
TELL將語句添加到知識庫。這樣的語句叫斷言。
例如,TELL(KB, King(John))
ASK向知識庫詢問問題。用ASK提出的問題被稱為查詢或目標。
例如,ASK(KB, King(John))
ASKVARS詢問什么樣的x使得語句為真
例如,ASKVARS(KB, Person(x))
親屬關系論域(the kinship domain)
謂詞和函數的區(qū)別
- functions, which return values
- predicates, which are true or false
Function: father_of(Mary) = Bill
Predicate: father_of(Mary, Bill)
一元謂詞:Male, Female
二元謂詞:Parent 、 Sibling 、 Brother 、Sister 、 Child 、 Daughter 、 Son 、 Spouse、 Wife 、 Husband 、 Grandparent 、Grandchild 、 Cousin 、 Aunt 、 Uncle
函數: Mother、Father
母親(mother)是指女性(female)家長(parent):?m, c Mother?=m ? Female(m)∧Parent(m, c)
丈夫(husband)則是指某人的男性(male)配偶(spouse):?w, h Husband(h, w) ? Male(h)∧Spouse(h, w)
女性(female)和男性(male)是兩個不相交的集合:?x Male(x) ? ¬Female(x)
家長和孩子是反關系:?p, c Parent(p, c) ? Child(c, p)
祖父母(grandparent)是家長的家長:?g, c Grandparent(g, c) ? ? p Parent(g,p)∧Parent(p, c)
同胞(sibling)是某人家長的另一個孩子:?x, y Sibling(x, y) ? x ≠ y∧ ?p Parent(p,x)∧Parent(p, y)
不是所有關于論域的邏輯語句都是公理,有些是定理——它們通過公理推導而來。
總結
本章介紹了一階邏輯表示語言,它比命題邏輯表達能力更強。 本章的要點如下:
- 知識表示語言應該是陳述性的、可合成的、有表達力的、上下文無關的以及無歧義的。
- 邏輯學在本體論約定和知識論約定上存在著不同。命題邏輯只是對事實的存在進行限定,而一階邏輯對于對象和關系的存在進行限定,因此有更強的表達力。
- 一階邏輯的語法建立在命題邏輯的基礎上。它增加項來表示對象,并且使用全稱量詞和存在量詞對變元進行量化來構建斷言。
- 一階邏輯的可能世界或模型包括通過對象集和解釋,解釋把常量符號映射到對象,謂詞符號映射成對象之間的關系,函詞映射成對象上的函數。
- 原子語句僅在謂詞所表示的關系在項所指代的對象上成立時為真。擴展解釋將量化的變元映射到對象上,定義了量化語句的真值表。
- 用一階邏輯開發(fā)知識庫是一個細致的過程,包括對領域進行分析、選定詞匯表、對推理結論必不可少的公理進行編碼。
資源分享
實驗代碼下載:
https://github.com/yyl424525/AI_Homework
人工智能-一種現代方法中文第三版pdf、課件、作業(yè)及解答、課后習題答案、實驗代碼和報告、歷年考博題下載:https://download.csdn.net/download/yyl424525/11310392
總結
以上是生活随笔為你收集整理的人工智能 一种现代方法 第8章 一阶逻辑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何搭建靠谱的测试环境
- 下一篇: ap音频测试仪软件,美国进口音频分析仪/