人工智能第七章 逻辑Agents

概念

直接给定的语句是公理,推导得到的语句是定理

逻辑是陈述式语言:
利用声明的语句推断问题空间中其它语句所代表的事件的真假
声明的语句代表问题空间中能够成立的事实

语法:定义语句的形式,合法语句的规范
If S is a sentence, ¬S is a sentence (negation,否定式)
If S1 and S2 are sentences, S1 ∧ S2 is a sentence (conjunction,合取式)
If S1 and S2 are sentences, S1 ∨ S2 is a sentence (disjunction,析取式)
If S1 and S2 are sentences, S1 ⇒ S2 is a sentence (implication, 蕴含式)
条件式/规则/if-then语句,前提⇒结论
If S1 and S2 are sentences, S1 ⇔ S2 is a sentence (biconditiona, 双向蕴含式)

语义:定义语句的意义,及语句在可能世界中的真值
在这里插入图片描述
前提是False,整个语句恒为True

模型:当对语句s中所有变量的赋值使得语句s的真值为true时,这个赋值被称为语句s的模型

KBA的核心部件是知识库。
知识库是语句的集合,记为KB,语句用知识表示语言表达,表示关于世界的断言。
m是知识库的模型 当且仅当m是知识库中所有语句的模型

一个知识库/语句是可满足的 当且仅当 它有至少一个模型。
一个知识库/语句是不可满足的的 当且仅当 它没有模型。
一个知识库/语句是有效的 当且仅当 它对可能世界都为真。(重言式)
α不满足,当且仅当¬α有效,
α有效,当且仅当¬α不满足。
m是α的模型,α为真,m对于α是可满足的。

KB1 = {x+y=2, x-y=2} 是可满足的
KB2 = {x+y=2, x-y=1, xϵN, y ϵN} 是永假的
KB3 = {1>0} 是可满足的

  • 蕴涵Entailment
    知识库 KB 逻辑蕴涵语句:KB ╞ a
    当KB 为真时,a总是为真
    β |= α 当且仅当 M(β ) ⊆ M(α)
    β |= α :若m满足β ,则m也满足α
    e.g. x+y = 4 蕴含 4 = x+y

KB ╞ α
 iff M(KB) ⊆ M(α)
 iff (KB ∧¬ α) is unsatisfiable 、
 iff KB ⇒ α is valid
 iff KB, ¬ α ╞ False

在这里插入图片描述

  • 逻辑等价
     如果两语句α 和β为真的模型集合相同,即M(α) = M(β),则称它们是逻辑等价的,记为α ≡ β
     任意两个语句α 和β是等价的,当且仅当它们是互相蕴涵的:α ≡ β 当且仅当α|=β 且 β|=α

逻辑推理

方法:

  1. 利用推理规则
  2. 归结定理
  3. 反证法:( KB ∧¬ α )永假

推理算法的可靠性和完备性

Soundness(可靠性): 对于推理算法i从KB推理出的每条语句α,都有KB╞ α ,则i是可靠的。只导出蕴涵句的推理算法。不包含错的结果。
Completeness(完备性): 对于KB蕴涵的每条语句α ,推理算法i都能从KB推理出α ,则i是完备的。可以导出任意蕴涵句。包含所有对的结果。

举个简单的例子,有一个排序算法,它只有两个输入 list1 和 list2, list1的正确输出为 list1_sorted,list2的正确输出为list2_sorted。
假如这个算法输入list1输出list1_sorted,但是输入list2啥也不输出。
根据soundness的定义,因为所有的输出都是正确的,这个算法是sound的。
假如这个算法输入list1输出list2_sorted,输入list2输出list1_sorted。
根据completeness的定义,因为输出包含了所有正确的输出,这个算法是complete的。
soundness是说当前这个证明系统里你不能证明任何语义(semantic)上的false。
completeness是说当前这个证明系统里你能证明任何语义(semantic)上的true。

模型检验

枚举KB为真的所有模型,检验在这些模型下α是否都为真。
可靠:因为它直接实现了蕴涵的定义
完备:因为可以用于任意KB和α,而且只存在有限多个需要检验的模型

通过定理证明来判断蕴涵

在知识库的语句上直接应用推理规则以构建目标语句的证明,而无需关注模型。

1.(α ∧β) ≡ (β ∧α) commutativity of ∧
2.(α ∨β) ≡ (β ∨α) commutativity of ∨
3.((α ∧β) ∧ γ) ≡ (α ∧ (β ∧ γ)) associativity of ∧
4.((α ∨β) ∨ γ) ≡ (α ∨ (β ∨ γ)) associativity of ∨
5.¬(¬α) ≡ α double-negation elimination
6.(α ⇒ β) ≡ (¬β ⇒ ¬α) contraposition
7.(α ⇒ β) ≡ (¬α ∨ β) implication elimination

8.(α ⇔ β) ≡ ((α ⇒ β) ∧ (β ⇒ α)) biconditional elimination
9.¬(α ∧β) ≡ (¬α ∨¬β) de Morgan
10.¬(α ∨β) ≡ (¬α ∧¬β) de Morgan
11. (α ∧ (β ∨ γ)) ≡ ((α ∧β) ∨(α ∧γ)) distributivity of ∧ over ∨
12. (α ∨ (β ∧ γ)) ≡ ((α ∨β) ∧(α ∨γ)) distributivity of ∨ over ∧

  • 通过逻辑等价证明蕴涵
     证明(A ∨ ¬B) ∧ (B ∨ ¬C) |= A ∨ ¬C
     证明(A ∨ ¬B) ∧ (B ∨ ¬C) ⇒ A ∨ ¬C 是有效的
    (A ∨ ¬B) ∧ (B ∨ ¬C) ⇒ A ∨ ¬C
    ≡ ¬((A ∨ ¬B) ∧ (B ∨ ¬C)) ∨ A ∨ ¬C
    ≡ (¬(A ∨ ¬B) ∨ ¬(B ∨ ¬C)) ∨ A ∨ ¬C
    ≡ (¬A ∧ B) ∨ (¬B ∧ C) ∨ A ∨ ¬C
    ≡ (¬A ∧ B) ∨ A ∨ (¬B ∧ C) ∨ ¬C
    ≡ ((¬A ∨ A) ∧ (B ∨ A)) ∨ ((¬B ∨ ¬C )∧ (C ∨ ¬C))
    ≡ (B ∨ A) ∨ (¬B ∨ ¬C )
    ≡ True ∨ A ∨ ¬ C
    ≡ True

推理规则

在这里插入图片描述
以上都是可靠的

基于归结的推理方法

在这里插入图片描述
如何通过归结进行证明

  1. 将问题表示成逻辑语句。即写出问题的前提条件语句(KB)和要证明的结论(查询语句a)
  2. 将{KB, ¬a}转换成子句集合。
  3. 进行归结,直到归结出NIL。
  • 至多有一个正文字的析取式称为Horn子句。

  • 恰好有一个正文字的析取式称为限定子句。

  • 没有正文字的子句称为目标子句。

  • Horn子句在归结下是封闭的:如果对两个Horn子句进行归结,结果依然是Horn子句。

  • 每个限定子句可写为蕴含式,蕴含式更易理解

  • 用Horn子句判定蕴涵需要的时间与知识库大小成线性关系

  • 使用Horn子句的推理可使用前向连接和反向连接

前向链接

在这里插入图片描述
在这里插入图片描述

  • 前向链接是数据驱动推理的实例——即推理是从已知数据开始的。是可靠的,完备的。
  • 后向链接算法从查询q开始进行推理。如果查询q已知为真,那么无需进行任何操作。否则,寻找知识库中那些以q为结论
    的蕴含式。如果其中某个蕴含式的所有前提都能证明为真(通过后向链接),则q为真。与前向链接一样,有效实现的时间
    复杂度是线性的。后向链接算法和与或树搜索相同。
    -后向链接是一种目标制导的推理形式。
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值