人工智能原理复习--确定性推理

文章目录

  • 上一篇
  • 推理概述
  • 自然演绎推理
    • 合适公式
  • 归结演绎推理
    • 归结原理
    • 归结反演
  • 提升归结效率
  • 下一篇

上一篇

人工智能原理复习–知识表示(二)

推理概述

推理就是按某种策略由已知判断推出另一判断的思维过程

分类:

  1. 演绎推理、归纳推理、默认推理
  2. 确定推理、不确定推理
  3. 单调推理、非单调推理

冲突消解策略:

  1. 按就近原则排序
  2. 按已知事实的新鲜度排序
  3. 按匹配度排序
  4. 按领域问题特点排序
  5. 按上下文限制排序
  6. 按条件个数排序
  7. 按规则的次序排序

自然演绎推理

自然演绎推理是指从一组已知的事实出发,直接运用命题逻辑或谓词逻辑中的推理规则推出结论的过程。
推理规则:

  1. P规则:在推理的任何步骤上都可引入前提,继续进行推理
  2. T规则:推理时,如果前面步骤中有一个或多个公式永真蕴含公式S,则可把S引入推理过程中。
  3. 反证法: P → Q P \rightarrow Q PQ当且仅当前真后假的时候时不可满足的
  4. 假言推理:如果P为真, P → Q P \rightarrow Q PQ,则Q为真
  5. 拒取式推理:如果Q为假, P → Q P \rightarrow Q PQ,则P也为假

注意:避免产生的两类错误:

  1. 如果Q为真,那么 P → Q P \rightarrow Q PQ, 不能推出P的真值
  2. 如果P为假,那么 P → Q P \rightarrow Q PQ, 不能推出Q的真假

合适公式

遵从下列递归定义的是合适公式
单一谓词公式是合适公式,使用 ¬ 、 ∧ 、 ∨ 、 → 、 ↔ 、 ∃ 、 ∀ \lnot、\land、\lor、\rightarrow、\leftrightarrow、\exist、\forall ¬后仍是合适公式

合适公式的性质
重点:

  1. P → Q ⇔ ¬ P ∨ Q P \rightarrow Q \Leftrightarrow \lnot P \lor Q PQ¬PQ
  2. 逆否: P → Q ⇔ ¬ Q → ¬ P P \rightarrow Q \Leftrightarrow \lnot Q \rightarrow \lnot P PQ¬Q¬P
  3. 摩根定律: ( ¬ P ∨ ¬ Q ) ⇔ ¬ ( P ∧ Q ) (\neg P \lor \neg Q) \Leftrightarrow \neg (P \land Q) (¬P¬Q)¬(PQ)
  4. 量词否定: ¬ ( ∃ x ) P ( x ) ⇔ ( ∀ x ) ( ¬ P ( x ) ) \lnot (\exist x)P(x) \Leftrightarrow (\forall x)(\lnot P(x)) ¬(x)P(x)(x)(¬P(x))任意存在互换同理
  5. 量词分配:可以将量词分配到括号里

合适公式的标准化

  1. 首先要以量词前束范式来表示合适公式,前束范式就是在前面将变量量词罗列出来,后面括号里没有任何量词的谓词公式。
  2. Skolem标准型,在前束范式的基础上,消除存在量词,而拿来保证公式的永假性的函数称为Skolem函数,无参时称为Skolem常量,从一阶逻辑公式变换到Skolem标准型不是等值变换,但是保持永假性。
  3. 要求母式(即后面的公式化为合取范式)
    • 消去多余的量词
    • 消去蕴含符号
    • 减少否定的辖域(内移否定符号)
    • 变量标准化(变量换名)(名字相同,辖域不同需要换成不同的名字)
    • 消去存在量词(Skolem变换)
    • 全称量词前束化
    • 消去全称量词
    • 把母式转化为合取范式

消去存在量词方法:

  1. 如果 ∃ \exist ∀ \forall 的辖域内
    ( ∀ z ) ( ∃ w ) [ ¬ Q ( x , z ) ∧ P ( z , w ) ] (\forall z)(\exists w)[\lnot Q(x, z) \land P(z, w)] (z)(w)[¬Q(x,z)P(z,w)]
    如果w依赖于z则可以用w = g(z)来定义这种依赖关系,用g(z)来取代约束变量w,消去存在量词 ∃ w \exist w w
    ( ∀ z ) [ ¬ Q ( x , z ) ∨ P ( z , g ( z ) ) ] (\forall z)[\lnot Q(x,z) \lor P(z, g(z))] (z)[¬Q(x,z)P(z,g(z))]
  2. 如果 ∃ \exist 在多个 ∀ \forall 的辖域内
    ( ∀ x ) ( ∀ y ) ( ∀ z ) ( ∃ w ) P ( x , y , z , w ) (\forall x)(\forall y)(\forall z)(\exist w)P(x, y, z, w) (x)(y)(z)(w)P(x,y,z,w)
    则用多元函数g(x, y, z)来取代w
    ( ∀ x ) ( ∀ y ) ( ∀ z ) ( ∃ w ) P ( x , y , z , g ( x , y , z ) ) (\forall x)(\forall y)(\forall z)(\exist w)P(x, y, z, g(x, y, z)) (x)(y)(z)(w)P(x,y,z,g(x,y,z))
  3. 如果 ∃ \exist ∀ \forall 的辖域外
    ( ∃ w ) ( ∀ z ) [ ¬ Q ( x , z ) ∨ P ( z , w ) ] (\exist w)(\forall z)[\lnot Q(x,z) \lor P(z, w)] (w)(z)[¬Q(x,z)P(z,w)]
    则用任意的常量来取代w
    ( ∃ w ) ( ∀ z ) [ ¬ Q ( x , z ) ∨ P ( z , A ) ] (\exist w)(\forall z)[\lnot Q(x,z) \lor P(z, A)] (w)(z)[¬Q(x,z)P(z,A)]

实质就是找个已知的东西将存在量词的变量取代掉,在 ∀ \forall 辖域内就是Skolem函数,之外就是常量,但是使用的函数不允许重名,同时常量符号也不允许重名。

合取范式就是用合取( ∧ \land )连接,括号内用只能是析取

**合取范式标准化例题**

归结演绎推理

自动定理证明:
一般形式: F 1 ∧ F 2 ∧ F n ⇒ W F_1 \land F_2 \land F_n \Rightarrow W F1F2FnW

反证法:将证明永真改为证明 F 1 ∧ F 2 ∧ F n ∧ ¬ W F_1 \land F_2 \land F_n \land \lnot W F1F2Fn¬W永假

子句就是仅有析取( ∨ \lor )构成的合适公式
合取范式可定义为子句的合取( ∧ \land )
在这里插入图片描述
在这里插入图片描述
合适公式 → 合取范式 → 子句集 S 合适公式 \rightarrow 合取范式 \rightarrow 子句集S 合适公式合取范式子句集S
其中一个重要的性质: 子句集 S 的不可满足性 ↔ 合适公式永假 子句集S的不可满足性 \leftrightarrow 合适公式永假 子句集S的不可满足性合适公式永假

归结原理

在这里插入图片描述
而加入归结式的子句集 S ′ S' S与原来子句集在不可满足性上式等价的
在这里插入图片描述
对子句集的消解规则:

  1. 假言推理 P , ¬ P ∨ Q ⇒ Q P, \lnot P \lor Q \Rightarrow Q P,¬PQQ
  2. 合并 P ∨ Q , ¬ P ∨ Q ⇒ Q P \lor Q, \lnot P \lor Q \Rightarrow Q PQ,¬PQQ
  3. 重言式 P ∨ Q , ¬ P ∨ ¬ Q ⇒ Q ∨ ¬ Q 或者 ( P ∨ ¬ P ) P \lor Q, \lnot P \lor \lnot Q \Rightarrow Q \lor \lnot Q 或者(P \lor \lnot P) PQ,¬P¬QQ¬Q或者(P¬P)注意并不是空
  4. 空子句 P , ¬ P ⇒ N I L P, \lnot P \Rightarrow NIL P,¬PNIL只用一个符号是才为空

子句中的文字知识原子命题公式或其取反,不带变量,这样易于判别那些子句对包含互补文字
在这里插入图片描述

子句中含有变量,不能直接发现和消去互补文字,需要对潜在的互补文字先做变量置换和合一处理。
置换项可以是常量、变量或函数 t / v (置换项后 / 源变量) ,置换就是为了让谓词公式的文字同一确定互补性。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
但是如果子句集是永真,可满足的那么归结原理将永无休止的进行下去,得不到任何结果

归结反演

将结论取反与公式集合取,然后将这个 F ∧ ¬ W F \land \lnot W F¬W标准为子句,并合并为子句集S
在这里插入图片描述
在这里插入图片描述

归结反演也可根据归结树的结果提取有效信息
在这里插入图片描述

归结反演可实现提取问题回答
回答问题时,目标公式往往受存在量词约束,这是回答提取,就是给出使W(x)为真的x的某个值。
方法就是建立目标子句G(G是要回答问题的取反)的重言式(永真式) G ∨ ¬ G G \lor \lnot G G¬G,将这个重言式加入归结演绎过程取代原来的G,这时生成的树是修改证明树,此时树根不再是空子句,而是 ¬ G \lnot G ¬G, G被置换项取代,实现问题回答,这个取代的结果就是回答的结果。

但是重言式中的 ¬ G \lnot G ¬G (而这个 ¬ G 就和要回答问题的含义相同 \lnot G就和要回答问题的含义相同 ¬G就和要回答问题的含义相同)并不真正参与归结演绎,只是G中的变量在置换时会跟着置换, 所以为了避免在归结反演的过程中误用 ¬ G \lnot G ¬G就用特殊的符号将它代替掉如 Answer( x 1 , x 2 , . . . , x n x_1, x_2, ..., x_n x1,x2,...,xn),其中 x i x_i xi ¬ G \lnot G ¬G中的变量。

在这里插入图片描述
特殊情况:

  1. 目标公式也可能会有更复杂的形式,当目标公示取反后的G中有多个合取时,这是将子句分开分别建立重言式寻求答案。
  2. 当目标公式中含有全程量词时,取反后G中就有存在量词需要用Skolmn函数,常量消除存在量词。

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

提升归结效率

为了快速产生空子句有一下策略:

  1. 宽度优先搜索
    会归结出许多无用的子句,既浪费时间又浪费空间,但是当问题有解时能找到最短归结路径,他是一种完备的归结策略。对大问题会组合爆炸,但对小问题是较好的归结策略。

  2. 支持集策略
    要求每次归结都要有目标公式的否定所得到的子句或它们的后裔,完备的归结策略,虽然会限制子句集元素的剧增,但是会增加空子句所在的深度

  3. 删除策略
    在归结过程中把子句集中无用的子句删除掉

    • 纯文字:如果子句集中不存在与其互补的文字可以将这整个子句删掉
      例如 S = { P ∨ Q ∨ R , ¬ Q ∨ R , Q , ¬ R } S = \{ P \lor Q \lor R, \lnot Q \lor R, Q, \lnot R\} S={PQR,¬QR,Q,¬R}其中P没有与其互补的可以将 P ∨ Q ∨ R P \lor Q \lor R PQR删掉
    • 包孕:对于子句C1和C2 如果C1经过置换是C2的子集,就说C1包孕于C2. 将C1删掉对整个子句集的不可满足性没有影响
    • 重言式:如果子句中含有重言式就可以删掉重言式。

    按照这个规则删除的是完备的。

  4. 单文字子句策略
    单文字就是子句中只有一个文字,要求每次参与归结至少有一个是单文字,单文字可以有效减少文字数,所以有较高的归结效率,但是这个策略是不完备的,当子句集是不可满足时,不一定可以归结出空子句。

  5. 线性输入策略
    要求每次参与归结至少应该有一个是初始子句集的子句,可以提高效率,但是是不完备的。

下一篇

未完待续

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/190625.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kafka 集群 ZooKeeper 模式搭建

Apache Kafka是一个开源分布式事件流平台,被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用程序 Kafka 官网:Apache Kafka 关于ZooKeeper的弃用 根据 Kafka官网信息,随着Apache Kafka 3.5版本的发布,Zookeeper现…

Christmas is Coming,一起来DIY雪花灯啦

亲爱的朋友们,圣诞节即将到来!是不是很期待和家人、朋友一起欢度圣诞夜呢?KCC深圳联合立创开源特别为大家精心挑选了一款氛围感满满的雪花灯,让我们一起创造自己的圣诞礼物~ 彩色丝印PCB版的触摸无极调光雪花灯 哇,立创…

VL53-400激光测距传感器

一、产品简介 先由激光二极管对准目标发射激光脉冲。经目标反射后激光向各方向散射。部分散射光返回到传感器接收器,被光学系统接收后成像到雪崩光电二极管上。雪崩光电二极管是一种内部具有放大功能的光学传感器,因此它能检测极其微弱的光信号。记录并…

6.9 Windows驱动开发:内核枚举进线程ObCall回调

在笔者上一篇文章《内核枚举Registry注册表回调》中我们通过特征码定位实现了对注册表回调的枚举,本篇文章LyShark将教大家如何枚举系统中的ProcessObCall进程回调以及ThreadObCall线程回调,之所以放在一起来讲解是因为这两中回调在枚举是都需要使用通用…

02.PostgreSQL 查询处理期间发生了什么?

PostgreSQL 查询处理期间发生了什么? 文中主要内容引用自PostgreSQL指南:内幕探索 查询处理是PostgreSQL中最为复杂的子系统。如PostgreSQL官方文档所述,PostgreSQL支持SQL2011标准中的大多数特性,查询处理子系统能够高效地处理这…

Hdoop学习笔记(HDP)-Part.08 部署Ambari集群

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …

有文件实体的后门无文件实体的后门rootkit后门

有文件实体后门和无文件实体后门&RootKit后门 什么是有文件的实体后门: 在传统的webshell当中,后门代码都是可以精确定位到某一个文件上去的,你可以rm删除它,可以鼠标右键操作它,它是有一个文件实体对象存在的。…

西南科技大学(数据结构A)期末自测练习三

一、填空题(每空1分,共10分) 1、为解决计算机主机与打印机之间速度不匹配的问题,通常设置一个打印数据缓冲区。主机将要输出的数据依次写入缓冲区,打印机则依次从缓冲区中取出数据,则该换缓冲区的逻辑结构…

【Java Web学习笔记】 2 - CSS入门

项目代码 零、 CSS引出 CSS 教程 官方教学文档 1.在没有CSS之前,我们想要修改HTML元素的样式需要为每个HTML元素单独定义样式属性,费心费力。所以CSS就出现了。 2.使用CSS将HTML页面的内容与样式分离提高web开发的工作效率(针对前端开发&a…

一篇短文让你彻底理解什么是逻辑门电路

一、门电路概述 门电路:实现基本运算、复合运算的单元电路,如与门、与非门、或门… 注意:门电路中以高/低电平表示逻辑状态的1/0 正逻辑与负逻辑: 正逻辑:高电平表示1、低电平表示0 负逻辑:高电平表示0、低…

k8s ingress 无法找到端点

文章目录 ingress rule无法找到端点这个注解是什么意思呢?为何不生效呢?端点无法更新?如何确认ingressclass呢?修复端点无法发现的问题多个ingress controller 架构 ingress rule无法找到端点 在vnnox-cn集群创建ingress&#xf…

数据结构(三)——算法和算法分析

😀前言 数据结构和算法是计算机科学领域中至关重要的概念。它们为解决实际问题提供了有效的方法和步骤。算法作为解决问题的方法和步骤,在计算机中以指令的有限序列的形式表达。本文将介绍算法的定义、描述和程序设计等方面的内容,帮助您深入…

【FPGA图像处理实战】- 图像基础知识

视频图像处理是FPGA主要应用方向之一,很多FPGA从事或准备进入这一领域,我们现在开始发布新的FPGA实战专栏——FPGA图像处理。 FPGA处理视频图像处理的主要优势是流水线和并行处理运算,特别是现在视频分辨率越来越大,从720p到1080…

二维A*算法

MATLAB2016b可以正常运行 function bidirectional_ASTAR clc; clear; %% 初始化界面 n 11; % field size n x n tiles 20*20的界面 %wallpercent 0.3; % this percent of field is walls 15%的界面作为阻碍物(墙) cmap [1 1 1; ...% 1 - whit…

linux特殊权限_suid_chattr_umask

3.3 特殊权限 如果一个文件很重要,需要依赖特殊权限避免其被删除。 由于特殊权限会拥有一些“特权”,因而用户若无特殊需要,不应该去打开这些权限,避免安全方面出现严重漏洞,甚至摧毁系统。3个权限是对了执行文件或目…

FPGA串口接收解帧、并逐帧发送有效数据-2

FPGA串口接收解帧、并逐帧发送有效数据 工程实现的功能:FPGA串口接收到串口调试助手发来的数据,将其数据解帧。判断到正确的帧头和帧尾之后,将有效数据存入rx_data中;另一方面发送端将有效数据逐帧发送出去。 参考:正…

【电路笔记】-串联和并联电阻

串联和并联电阻 文章目录 串联和并联电阻1、概述2、串联和并联电阻示例13、串联和并联电阻示例2 电阻器可以无限数量的串联和并联组合连接在一起,形成复杂的电阻电路。 1、概述 在之前的教程中,我们学习了如何将各个电阻器连接在一起以形成串联电阻器网…

linux设置权限_setfacl_getfacl

3.2 设置权限ACL(access control list) 假设:/data所有者与所属组均为root,在不改变所有者的前提下,要求用户tom对该目录有完全访问权限(rwx)。只能考虑: 方法一:给/dat…

超详细实现【贪吃蛇】(1)

目录 技术要点介绍 🙂Win32 API 🙂控制台程序 🎇标题 🎇大小 在Windows终端上: 在VS上: 🎇坐标 🙂光标 😶‍🌫️GetStdHandle 😶‍&am…

基于STM32 + TIM _定时器的基本机构和工作原理详解

前言 本篇博客主要学习了解定时器的基本结构和工作原理,掌握定时器的驱动程序和设计。本篇博客大部分是自己收集和整理,如有侵权请联系我删除。 本次博客板子使用的是正点原子精英版,芯片是STM32F103ZET6,需要资料可以我拿取。 本博客内容原…