目录

推理

# 推理

  1. 逻辑系统
  2. 经典推理方法
  3. 概率推理
  4. 决策
  5. 规划
# 前言

暂未载入以下章节:

  1. 知识图谱表示框架
  2. 知识图谱应用
  3. 知识获取与存储

# 逻辑系统

推理(reasoning)也叫逻辑推理(logical reasoning),是人类理性和智能的象征之一,因而也是人工智能领域最重要的一个研究方向,推理是从一个或多个已知的判断推导出新的判断的过程。推理离不开逻辑,因此逻辑系统是基础,即使通过计算选择推理结果,也必须用逻辑来解释。

推理是根据已有的知识或者信息(数据)导出结论、做出预测或者构造解释,这就对应了三种主要推理类型:

  1. 演绎推理(deductive reasoning)
  2. 归纳推理(inductive reasoning)
  3. 溯因推理(abductive reasoning)
# 演绎推理

从多个前提(promises)达到一个逻辑结论的过程,即从一般性规则推导出特殊结论,保证结论正确,经典推理方法属于演绎推理

例子:当下雨时,外面的东西会湿;草坪在外面,因此下雨时草坪也会湿。

# 归纳推理

从一定量的个别观察总结出规律(从个别到一般),虽然结论可能令人信服,但不保证结论正确,从数据中抽象出规律,从这个角度说,机器学习属于归纳推理的范畴。

例子:有许多次下雨时草坪湿了,因此下雨时草坪总是湿的。

# 溯因推理

从不完全的观察集合推导出关于这些观察的最可能的解释,与演绎推理或者归纳推理不同,溯因推理过程需要创见和直觉。贝叶斯网络的推理就属于这一类。

溯因推理:当下雨时,草坪湿了,现在草坪是湿的,因此一定下过雨。

# 命题逻辑

命题是一个描述客观世界的可区分真假的陈述句,即一个二值(T / F)

如:2+2 = 4 (T)

反例: A比B聪明,蛋糕真好吃... (这属于主观判断)

命题具有真假值,用T / F表示

真值连接词有五个:

  1. ¬ : 否定
  2. ∧ : 合取
  3. ∨ : 析取
  4. → : 蕴含
  5. ≡ : 等价

使用连接词以后的命题称为复合命题

# 谓词逻辑

谓词是用于说明个体的性质或者个体之间关系的形式符号

谓词可看作是从个体域或者个体域的笛卡尔乘积到真值集合的映射

例如:人都会死,可以写为M(x)->D(x),其个体域是人,给定了论域,就是确定了谓词的真假值

通常一元谓词用于表述个体的性质,如人会死亡记为D(x),表示任意一个人x,使得一元谓词D(x)为真

二元谓词或者多元谓词表示个体之间的关系,如二元谓词Win(x,y)代入x=中国队, y=蒙古队,即句子中国队战胜了蒙古队表示为Win(中国队, 蒙古队)

# 量词

量词用来表示谓词的判断特性; 全称量词∀: 对所有的x,∀xP(x); 存在量词∃: 存在x, ∃xP(x)

带有全称变量∀x的公式,表示形式为∀x(P(x)->...) 带有存在变量∃x的公式,表示形式为∃x(P(x)∧...)

例如: 所有的有理数都是实数,∀x(P(x)->R(x)) 有些人身高超过两米,∃x(P(x)∧G(x))

这种使用方法不可改变,否则会造成逻辑错误。

# 约束变量

约束变量是∀、∃中x的变量,量词管辖的公式如P(x)称为量词辖域; 不存在量词辖域内的变量为自由变量

# 函数

函数用于表示个体之间的运算,可作用于一个或多个个体,给定一个或多个个体,产生于给新的个体,函数用小写字母表示,函数中的变量的个数称为函数的元数。

例如: x的父亲,记为father(x),两数之和仍然是一个数字,记为add(e1,e2)

# 谓词与函数区别

谓词代表语句(关系),结果为真假值 函数代表运算(关系运算),结果是一个新个体

例如:谓词Sum(e1,e2,e3),说明e1,e2,e3之间的关系是e3是e1与e2之和(如果确实是,则为真,否则为假); 而函数add(e1,e2)说明e1与e2相加的结果仍然是一个数

# 经典推理方法

介绍基本的推理运算 —— 置换与合一 给定了一般的推理规则,根据具体条件需要在规则中带入具体事实,这就是置换,推理的结论用某一具体谓词公式表示,推理过程最终需要与结论相同。相应的就有合一运算

# 置换与合一

文字(literal) : 正负原子公式,前面有否定连接词的谓词公式是负原子公式,否则就是正原子公式。 子句(clause): 仅使用析取连接词将原子公式连接后的公式,或称为文字的析取式。 Horn子句(Horn clause) : 至多有一个正文字的子句,例如¬A V ¬B V ¬C V D其中正文字称为Horn子句头,其他称为子句体。

置换(substitution) : 设x1 ~ xn 是n个变量且各不相同,t1 ~ tn 是n个项(常量、变量、函数), ti != xi,则用ti替换变量xi操作形成的有限序列{x1/t1, ..., xn/tn}称为一个置换(运算)

合一置换,通过相关置换使不同的一阶谓词公式成为相同的过程。 如: Unify(Know(Tommy,x), Know(Tommy, Katlin)) = {x/Katlin}

但,Unify(K(Tommy,x),K(x,Jane)) = Fail,因为x不能同时为两个值。

# 正向推理方法
  1. 通过已知事实即知识库中的原子公式开始,依次对知识库中的推理规则进行置换,检查规则前提部分的文字是否全部与知识库中的事实相匹配。
  2. 如果匹配则把该条规则已经做过置换的结论部分添加到知识库中,如果这个结论和需要推导出的结论一致,则推理结束,结论获得证明。
  3. 否则回到(1),直至获得证明; 或者在没有新的事实加入,此时推理以证明失败结束。

输入: 知识库KB - 有限子句集合,待证结论α - 原子公式 输出: 置换(证明成功) 或者FAIL(证明失败)

美国法律规定,美国人卖武器给敌对国家是犯罪的; 美国的敌国Nono有一些道道,所有这些导弹都是West上校卖给他们的,而West上校是个美国人。

首先用子句表达每个句子,形成知识库KB:
1. 美国人卖武器给敌对国家是犯罪的
American(x) ∧ Weapon(y) ∧ Sell(x,y,z) ∧ Hostile(z) -> Criminal(x)
2. Nono有一些导弹
∃xOwn(Nono,x) ∧ Missile(x)

消去存在量词,引入新常量,得到2个原子公式
3. Own(Nono, M1);
4. Missile(M1);
5. 所有该国导弹都是West上校出售的
Missile(y) ∧ Own(Nono, y) -> Sell(West, y, Nono);
6. 导弹是武器: Missile(y) -> Weapon(y);
7. 其他陈述: 
	American(West)
	HOSTILE(Nono);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
上次更新: 2023/07/11, 15:43:07
最近更新
01
基本知识
07-18
02
卷积神经网络识别图像
07-18
03
损失函数
07-18
更多文章>