人工智能-知识推理

news2024/10/7 14:27:50

本章可以回忆下离散中的内容,直接看最后的两个期末题↓。

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是开心的。

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

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

相关文章

数据库+Python----------Python操作MySQL

目录 1.在Python中安装pymysql 2.创建数据 1.连接数据库,创建一个数据库对象 2.开启游标功能,创建游标对象 3.发送指令 获取查询结果集的方法 4.实操 5.注意 不可以!!! 正确写法 6.用户输入数据 3.查询数…

设计模式之单例模式入门介绍

一、设计模式概念 设计模式是被广泛使用的软件开发中的一种解决方案,它提供了一套被验证过的、可重用的设计思想,帮助开发人员更加高效地开发出可维护、易扩展的软件系统。 设计模式可以分为三类:创建型模式、结构型模式和行为型模式。 1.1…

jsonschema fge json-schema-validator 高级能力 自定义类校验

入参校验产品化 schema_个人渣记录仅为自己搜索用的博客-CSDN博客 自定义的string format可以使用. 详见 fpe的 addFormatValidator ajv 的 addFormat能力 借鉴自chatgpt, 谷歌了半天,没看到好答案. Q: "jsonschema 自定义 object 校验" A: 如下 2014年后未更新…

使用 GNU 汇编语法编写 Hello World 程序的三种方法

本篇我们使用汇编来写一个经典的 Hello world 程序。 运行环境: OS:Ubuntu 18.04.5 LTS x86-64gcc:version 4.8.5 在用户空间编写汇编程序输出字符串,有三种方法: 调用C库函数 printf使用软中断 int 0x80使用 sysc…

Java的CookieManager

文章目录 1. 简介2. CookieStore 1. 简介 Java5包括一个抽象类Java.net.CookieHandler,它定义了存储和获取Cookie的一个API,但不包括这个抽象类的实现,所以还有很多工作要做。Java6进一步作了补充,为CookieManager增加了一个可以…

领导让我搭建Appium环境,还好我看到了这篇文章

首先介绍一下,Appium是一个APP的自动化框架,可用于测试APP、网页(web)、混合型应用,而且是跨平台(可以针对不同平台用一套api来编写测试用例)的。 pythonAppium自动化测试框架【项目实战合集】,轻松掌握app高级自动化测试_哔哩哔…

Redis 的数据类型和命令帮助

文章结构 Redis 数据类型1. Redis全局命令(跟key有关系,而跟value无关)2. StringsGetting and setting StringsManaging counters 3. Lists(L)Basic commandsBlocking commands 4. Sets(S)Basic commands 5. Hashes(H)Basic commands 6. Sort…

2.VirtualBox安装CentOS 7

安装VirtualBox 到https://www.virtualbox.org/wiki/Downloads下载并且安装,请选择对应系统的版本进行安装,我是Mac OS。一路Next。 下载CentOS虚拟镜像 到https://www.osboxes.org/centos/下载CentOS的虚拟镜像。我下载的是CentOS 7,64bi…

从零搭建微服务-认证中心(一)

写在最前 如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。 源码地址:https://gitee.com/csps/mingyue 文档地址:https://gitee.com/csps/mingyue/wikis 技术选型 本微服务将采用 Sa-Token 作为权限…

六级备考24天|CET-6|翻译技巧12|理解背诵|11:00~12:00+14:20~15:30

目录 一、翻译难点 二、评分标准​ 三、六级翻译之词汇 中国特色词汇 除夕 元宵节 上元节/灯节 年夜饭 团圆饭 大扫除/彻底打扫 不畏艰难 砥砺前行 四、六级翻译之语法 (一)定语从句 使用定语从句的前提 1. 带有动词的“的”结构 2. 相邻句子有名词重复 …

VMware重新安装VMwareTool字体为灰色情况+ubuntu时间设置

文章目录 前言:1. 重新安装VMwareTool字体为灰色2. VMware下ubuntu的时间设置 前言: 之前退出VMware关闭的时候没有等待虚拟机的状态保存,强制关机了。这就导致后面使用的时候,共享目录无法显示情况。对于上面的情况我的博客里面…

无毛刺时钟切换电路

为了SOC设计的低功耗性,多时钟域的划分是常用手段之一,有两个时钟,A为50Mhz,B为100Mhz,请设计无毛刺时钟切换电路,根据控制信号control,输出所需时钟信号。 control信号至少对一个时钟信号为异…

SpringCloud Sleuth+Zipkin

SpringCloud SleuthZipkin 官网 https://github.com/spring-cloud/spring-cloud-sleuth Sleuth/Zipkin 是什么? 概述(两张图) 在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的的服务节点调用, 来协同产生最后的请求结果&#x…

WhatsApp如何推动更多销售额

WhatsApp在全球拥有超过2亿用户,已成为最突出的通信应用程序。对于企业来说,这提供了一个有利可图的机会,可以大规模推广他们的产品和服务,而成本可能只是传统营销成本的一小部分。 如果您拥有电子商务业务,WhatsApp可…

《逆商》我们该如何应对坏事件

关于作者 作者保罗史托兹博士是逆商理论的提出者和奠基人,他曾被《人力资源》杂志评为 “全球十大有影响力的思想家”。在二十多年前提出逆商理论之后,他一直在致力于帮助各行各业的人士提高逆商,在实践中积累了该领域大量的数据和经验。 关…

典型环节的仿真实验(自控实验一)

实验目的 1)了解MATLAB Simulink的组成; 2)掌握线性系统Simulink仿真模型的建立方法; 3)通过典型环节阶跃响应的仿真,了解典型环节的动态特性; 4)了解MATLAB进行线性系统仿真的相…

2023新版Spring6全新讲解-核心内容之IoC

Spring核心之IoC 一、IoC概念介绍 1.IoC 介绍 IoC 是 Inversion of Control 的简写,译为“控制反转”,它不是一门技术,而是一种设计思想,是一个重要的面向对象编程法则,能够指导我们如何设计出松耦合、更优良的程序。…

如何获得铁粉?

铁粉是指那些非常喜欢某个人、品牌、产品或组织的人群,他们对所支持的对象非常忠诚,会在各种场合下宣传、支持和捍卫他们的偶像。铁粉通常会在社交媒体上关注他们的偶像、分享他们的内容、购买他们的产品或服务,并与其他铁粉互动和交流。他们…

JavaScript中的生成器函数(Generator Functions)

简介: 生成器函数(Generator Functions)是JavaScript中的一种特殊类型函数,它允许开发者在函数内部产生多个值并逐步返回,与传统函数一次返回单个值的方式不同。本文将介绍生成器函数的特性、优缺点以及如何使用它们&a…

【重新定义matlab强大系列十】函数normalize进行归一化数据

🔗 运行环境:Matlab 🚩 撰写作者:左手の明天 🥇 精选专栏:《python》 🔥 推荐专栏:《算法研究》 #### 防伪水印——左手の明天 #### 💗 大家好🤗&#x1f91…