本章可以回忆下离散中的内容,直接看最后的两个期末题↓。
1.基于知识的Agent
基于知识的Agent的核心是知识库KB,知识库中的有些语句是直接给定的而不是推导得到的为公理。基于知识的Agent使用TELL方法将新的语句添加到知识库,使用ASK询问来查询目前所知内容。每次ASK时应遵循知识库的内容。
基于知识的Agent需要使用逻辑推理来完成TELL和ASK这两个任务。下面是逻辑相关的一些定义:
-
语义:定义句子的含义
-
模型:模型表示可能世界,例如x+y=4,可能模型是x和y的所有可能赋值
-
逻辑蕴含:若在使a为真的每个模型中,b也为真,则a|b
2.命题逻辑
符号主义人工智能是人工智能研究的一种学派。符号主义人工智能基于如下假设:可通过逻辑方法来对符号及其关系进行计算,实现逻辑推理,辨析符号所描述内容是否正确。
命题逻辑是形式化规则对以符号表示的描述性陈述进行推理的系统。相关的定义如下:
-
原子语句:由单个命题词组成,每个命题词代表一个为真或假的命题
-
任何一个命题或为真,或为假
-
命题联结词
-
逻辑等价:如果两个语句在同样的模型中为真,则是逻辑等价的,他们互相蕴含
-
有效性:如果一个语句在所有的模型中都为真,则它是有效的
-
可满足性:如果一个语句在某一个模型中为真,那么这个语句是可满足的,如果一个语句在任何一个模型中都不为真,则该语句是不可满足的
推理规则
命题逻辑中的推理规则主要有以下几条:
应用推理规则
在归结算法中,常用已有的命题进行推理,添加新的假设到已有命题中,然后继续推理,直到得到特定结果,这和搜索的过程类似。已有的命题在知识库(KB)中,已知为真,因此常将这些命题进行合取,产生一个合取范式。对于一个KB,新的假设为α,尝试证明KB蕴含α,如果可以证明,就将α加入KB,继续推理(搜索)。证明方式如下:
-
计算KB的合取范式,与¬α合取,得到KB∧¬α
-
对KB∧¬α进行消解,直到消解到合取范式中包含¬α和α,证明该式永假,因此KB∧¬α不可满足,KB蕴含α得证
前向链接算法与后向链接算法
-
前向链接算法:从知识库的已知事实出发,如果蕴涵式的所有前提已知,那么就把结论添加到已知事实集
-
反向链接算法:从查询Q开始从往前推导,已知推导目标,假定前提为真,如果前提与已知事实符合,则算法结束
前向链接是数据驱动的,会执行许多与目标无关的推导,反向推导是目标驱动的,复杂度通常要少于知识库的推导法则大小。
3.一阶逻辑(谓词逻辑)
谓词逻辑中,命题分解为个体,谓词,量词,基本元素为对象,关系,函数
一阶逻辑进行归结,要求语句必须是合取范式(CNF)。
一阶逻辑的合取范式★
将一阶逻辑式转换为合取范式的过程如下:
-
消除蕴含词
-
将¬内移
-
变量标准化:重名变量改名
-
消除存在量词:不受其他量词限定的直接替换为常量,否则替换为F(x),例如:
-
∃x∀yP(x,y) 去除存在量词为 ∀yP(C, y)
-
∀y∃xP(x,y) 去除存在量词为 ∀yP(F(y), y),假设原意是对于任意y都有x,如果x换成常量,语义就变成了对于任意y都有同一个常量c,然而实际语义中每一个y都可以有不同的x,例如原意为任意一个人都存在喜欢的动物,如果将动物x换成常量喵,语义就变为了任意一个人都喜欢猫,这是不正确的,因此要把x替换为f(y),表示任意一个人都喜欢一种动物(这种动物与具体的y有关)。
-
-
删除全称量词:直接删除
-
将∧分配到∨中
一阶逻辑的归结
将KB中的谓词逻辑公式转换为CNF,假设证明目标为A,将KB中的CNF与¬A消解,直到消解为空。
谓词推理题1
谓词推理题2
a)把下列表达式转换为CNF形式(10分)
b)把下列语句用一阶逻辑语句表示出来,并使用归结算法对结论进行证明.(10分)
任何一个人如果通过了考试(pass exam)并且中了彩票(win a lottery)那么他是开心的(happy);任何人如果他是刻苦学习的(study hard)或者他是幸运的(lucky)那么他将通过考试;任何人如果他是幸运的那么他将中彩票;Jame是幸运的但他不刻苦学习;因此,Jame是开心的。