命题逻辑是我们最先学的逻辑,比较简单,也比较好理解。
因为命题逻辑表达能力不够,所有我们又引入了一阶逻辑(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):存在某个人被每个人爱
除了使用谓词和项产生原子语句之外,一阶逻辑还有另一种构造原子语句的方式。可以用等词来表声明两个项指代同一个对象。
例如: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))
谓词和函数的区别
一元谓词: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)
不是所有关于论域的逻辑语句都是公理,有些是定理——它们通过公理推导而来。
本章介绍了一阶逻辑表示语言,它比命题逻辑表达能力更强。 本章的要点如下:
实验代码下载:
https://github.com/yyl424525/AI_Homework
人工智能-一种现代方法中文第三版pdf、课件、作业及解答、课后习题答案、实验代码和报告、历年考博题下载:https://download.csdn.net/download/yyl424525/11310392