高级人工智能.归结原理完备性证明(详细)

2023-10-07 04:30

本文主要是介绍高级人工智能.归结原理完备性证明(详细),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

写在最前

本文为博主复习高级人工智能这门课程时,针对于归结原理完备性证明这一问题,所做的笔记。这是国科大本门课程的必考题,步骤较为详细,建议理解后记忆。

回顾:归结原理

在命题逻辑中的归结规则是一个单一的有效的推理规则,从两个子句生成它们所蕴含的一个新的子句。归结规则接受包含互补的文字的两个子句 - 子句是文字的析取式,并生成带有除了互补的文字的所有文字的一个新子句。形式上,这里的ai和bj是互补的文字:

在这里插入图片描述

归结规则生成的子句叫做两个输入子句的归结(resolvent)。

当两个子句包含多于一对的互补文字的时候,归结规则可以(独立的)应用到每个这种文字对上。但是,只有要消去(resolve)的文字对可以去除:所有其他文字对仍保留在归结后的子句中。

完备性证明

若证明归结原理,即证明:若KB|=α,则 KB⊢ α,
即证明:若(KB ∧ !α)是不可满足的,则KB⊢ α。

令S={KB, !α},RC(S)为S使用归结原理得到的所有子句的集合。

下面我们证明:若S不可满足,则RC(S)包含空子句。

即证明其逆否命题:若RC(S)不包含空子句,则S可满足。

我们构造如下指派m:若RC(S)包含一个子句,该子句包含!Ri,且该子句中的其他文字都已被指派为False,则将Ri指派为False,否则将Ri指派为True。

下面证明在m下RC(S)为真。

假设我们对Ri的指派导致RC(S)中首次出现为False的子句,则该子句必然为如下两种形式之一:

  1. False ∨ False ∨ False … ∨ Ri
  2. False ∨ False ∨ False … ∨ ! Ri

若RC(S)仅包含上面两种形式的其中一种,则我们指派Ri后,必然不会出现False的子句。因此,RC(S)同时包含上述两种形式。

由归结原理,它们归结的子句也应该在RC(S)中,则该子句已经为False,这与“对Ri的指派导致RC(S)中首次出现为False的子句”矛盾。

因此,逆否命题成立,即原命题成立,若S={KB, !α}不可满足,则RC(S)包含空子句。因此,归结原理的完备性得证。

这篇关于高级人工智能.归结原理完备性证明(详细)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/156039

相关文章

最新版IDEA配置 Tomcat的详细过程

《最新版IDEA配置Tomcat的详细过程》本文介绍如何在IDEA中配置Tomcat服务器,并创建Web项目,首先检查Tomcat是否安装完成,然后在IDEA中创建Web项目并添加Web结构,接着,... 目录配置tomcat第一步,先给项目添加Web结构查看端口号配置tomcat    先检查自己的to

使用Nginx来共享文件的详细教程

《使用Nginx来共享文件的详细教程》有时我们想共享电脑上的某些文件,一个比较方便的做法是,开一个HTTP服务,指向文件所在的目录,这次我们用nginx来实现这个需求,本文将通过代码示例一步步教你使用... 在本教程中,我们将向您展示如何使用开源 Web 服务器 Nginx 设置文件共享服务器步骤 0 —

Redis主从复制实现原理分析

《Redis主从复制实现原理分析》Redis主从复制通过Sync和CommandPropagate阶段实现数据同步,2.8版本后引入Psync指令,根据复制偏移量进行全量或部分同步,优化了数据传输效率... 目录Redis主DodMIK从复制实现原理实现原理Psync: 2.8版本后总结Redis主从复制实

SpringBoot集成SOL链的详细过程

《SpringBoot集成SOL链的详细过程》Solanaj是一个用于与Solana区块链交互的Java库,它为Java开发者提供了一套功能丰富的API,使得在Java环境中可以轻松构建与Solana... 目录一、什么是solanaj?二、Pom依赖三、主要类3.1 RpcClient3.2 Public

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

Spring Boot 中整合 MyBatis-Plus详细步骤(最新推荐)

《SpringBoot中整合MyBatis-Plus详细步骤(最新推荐)》本文详细介绍了如何在SpringBoot项目中整合MyBatis-Plus,包括整合步骤、基本CRUD操作、分页查询、批... 目录一、整合步骤1. 创建 Spring Boot 项目2. 配置项目依赖3. 配置数据源4. 创建实体类

Python中列表的高级索引技巧分享

《Python中列表的高级索引技巧分享》列表是Python中最常用的数据结构之一,它允许你存储多个元素,并且可以通过索引来访问这些元素,本文将带你深入了解Python列表的高级索引技巧,希望对... 目录1.基本索引2.切片3.负数索引切片4.步长5.多维列表6.列表解析7.切片赋值8.删除元素9.反转列表

正则表达式高级应用与性能优化记录

《正则表达式高级应用与性能优化记录》本文介绍了正则表达式的高级应用和性能优化技巧,包括文本拆分、合并、XML/HTML解析、数据分析、以及性能优化方法,通过这些技巧,可以更高效地利用正则表达式进行复杂... 目录第6章:正则表达式的高级应用6.1 模式匹配与文本处理6.1.1 文本拆分6.1.2 文本合并6