【人工智能 | 知识表示方法】状态空间法 语义网络,良好的知识表示是解题的关键!(笔记总结系列)

news2025/2/23 1:02:22

在这里插入图片描述

🤵‍♂️ 个人主页: @AI_magician
📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。
👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!🐱‍🏍
🙋‍♂️声明:本人目前大学就读于大二,研究兴趣方向人工智能&硬件(虽然硬件还没开始玩,但一直很感兴趣!希望大佬带带)

在这里插入图片描述

作者: 计算机魔术师
版本: 1.0 ( 2023.8.27 )

摘要: 本系列旨在普及那些深度学习路上必经的核心概念,文章内容都是博主用心学习收集所写,欢迎大家三联支持!本系列会一直更新,核心概念系列会一直更新!欢迎大家订阅

该文章收录专栏
[✨— 《深入解析机器学习:从原理到应用的全面指南》 —✨]

知识表示方法

知识是一个抽象的术语,尝试描述人对某种特定对象的理解。根据不同任务和不同的知识类型,有不同的知识表示方法,对应这许多不同的方法和技术可供选择(不同知识表示方法,在求解问题方法和效率也不太同,需要考虑)。以下是一些常见的知识表示方法极少(需要注意的是这里的知识表示方法,不仅仅是面对现在主流大热的人工智能方向,几乎是包含了全部的人工智能方向,机器智能其实就是我们日常解决的问题,例如八数码问题、圆盘梵塔难题都可以很好求解,这种方法论在面对数据结构与算法中也是非常有效的,可以说是秘籍)

名称介绍实际案例
状态空间法(State Space Representation)状态空间法是一种基于状态和操作的知识表示方法,常用于解决问题求解和规划的任务。在状态空间中,问题被表示为一组可能的状态和转换操作。每个状态表示问题的某个特定情况,而操作表示从一个状态到另一个状态的转换。通过定义状态和操作之间的关系,可以进行搜索或规划来找到问题的解决方案。状态空间法适用于涉及状态转换和路径搜索的问题。例如,迷宫问题可以使用状态空间法来表示。每个状态表示迷宫的特定位置,操作表示在迷宫中移动的动作。通过搜索路径来找到从起点到终点的解决方案。
问题归约法(Problem Reduction)问题归约法是一种将复杂问题转化为相对简单问题的知识表示方法。在问题归约中,复杂问题被分解为一系列更小、更易解决的子问题。每个子问题可以使用已有的解决方法来解决,然后将这些解决方案组合起来解决原始问题。问题归约法有助于简化复杂问题的求解过程,并利用已有的解决方案来解决新问题。例如,旅行推销员问题可以使用问题归约法来解决。该问题可以分解为多个子问题,例如确定城市之间的最短路径和选择下一个要访问的城市。每个子问题可以使用已有的路径搜索算法和决策方法来解决,然后将它们组合起来得到整体的解决方案。
谓词/符号逻辑(Symbolic Logic)符号逻辑是一种基于形式化逻辑的知识表示方法。它使用符号和规则来表示和推理关于世界的知识。符号逻辑适用于处理明确和确定的知识。例如,专家系统使用符号逻辑来表示和推理关于特定领域知识的规则,如医疗诊断和法律推理。
语义网络(Semantic Networks)语义网络使用节点和连接线的图形结构来表示知识。节点表示实体或概念,连接线表示它们之间的关系。语义网络可以表示丰富的语义关系。例如,WordNet是一个语义网络,用于表示单词之间的同义词、上位词和下位词等关系。
产生式规则(Production Rules)产生式规则采用“如果-那么”形式的规则表示知识。每个规则包含条件部分和动作部分。当条件部分匹配时,执行相应的动作。例如,专家系统中的规则库使用产生式规则来推理和解决问题,如诊断疾病和故障排除。
本体技术(Ontology)本体是一种形式化的知识表示方法,用于描述实体之间的概念和关系。本体使用类、属性和关系来定义领域的概念和属性。例如,医学领域的本体可以定义疾病、症状和治疗方法之间的关系,以支持医学知识的共享和推理。
向量空间模型(Vector Space Model)向量空间模型将文本或概念表示为高维向量空间中的向量。向量之间的距离和相似度捕捉了文本或概念之间的关系。例如,文本分类任务中使用的词袋模型将文本表示为向量,以便进行分类和聚类。
神经网络(Neural Networks)神经网络是一种模仿人脑神经系统结构和功能的知识表示方法。它通过学习从输入到输出的映射关系来表示知识。例如,卷积神经网络(CNN)用于图像识别任务,循环神经网络(RNN)用于自然语言处理和语音识别任务。
图神经网络(Graph Neural Networks)图神经网络是一种用于处理图数据的神经网络。它学习节点之间的关系和图的结构来表示知识。例如,社交网络分析中使用的图神经网络可以推断社交关系和预测用户行为。
状态空间法(State Space Representation)

这里以传教士与野人的问题为例:

设有3个传教士和3个野人来到河边,打算乘一条船从右岸渡到左岸去。该船的负载能力为两人。在任何时候,如果野人人数超过传教士人数,那么野人就会把传教士吃掉。如何用状态空间法来表示该问题?给出具体的状态表示和算符。

根据状态空间法,我们首先需要定义其对于状态,而后定义操作。

在这个问题中,我们可以使用状态空间搜索来解决。我们可以用一组状态来表示传教士和野人在不同岸边的位置。

状态表示:

  1. (M, C, B) 表示一个状态,其中 M 表示右岸的传教士数量,C 表示右岸的野人数量,B 表示船的位置,B = 0 表示船在右岸,B = 1 表示船在左岸。

算符表示:

(m, c): 将m个传教士和c个野人从右岸乘船到左岸,。前提条件是 m + c <= 2

这些算符表示了允许的合法移动,同时满足传教士和野人数量的限制条件。通过在状态空间中搜索,我们可以找到一条路径,使得所有传教士和野人都能安全地从右岸渡到左岸。

参考:
在这里插入图片描述

再举一个例子

利用下图,用状态空间法规划一个最短的旅行路程:此旅程从城市 A 开始,访问其他城市不多于一次,并返回 A。选择一个状态表示,表示出所求得的状态空间的节点及弧线,标出适当的代价,并指明图中从起始节点到目标节点的最佳路径。

image-20231209153109401在这里插入图片描述

(M, C, B) 表示一个状态,其中 M 表示初始城市,C 表示目标城市,B 表示距离。

需要找到从起始节点A到目标节点A的最佳路径。这可以通过应用最短路径算法(例如迪杰斯特拉算法或暴力枚举算法)来实现,平时用迪杰斯特拉算法即可。

语义网络(Semantic Networks)

由奎廉(Quillian)于1968年提出,作为描述人类联想记忆的一种心理学模型。

语义网络的结构定义

语义网络是知识的一种图解表示,它由节点和弧线或链线组成。节点用于表示实体、概念和情况等,弧线用于表示节点间的关系。

image-20231211170434940在这里插入图片描述

我们根据以下这个例子简单讲解

把下列语句表示成语义网络描述:
(1) All men are mortal.
(2) Every cloud has a silver lining.
(3) All branch managers of DEC participate in a profit-sharing plan.

下面是将给定语句表示为语义网络的描述:

(1) All men are mortal.
语义网络描述:

  • 点(节点):人(Men)
  • 连接(关系):无
  • 属性(特征):有生命(Mortal)

在这里插入图片描述

(2) Every cloud has a silver lining.
语义网络描述:

  • 点(节点):云(Cloud)、边(Lining)
  • 连接(关系):有(has)
  • 属性(特征):颜色(Silver )

在这里插入图片描述

20231209161952067.png&pos_id=img-HX73n9yg-1702303103474)

(3) All branch managers of DEC participate in a profit-sharing plan.
语义网络描述:

  • 点(节点):经理(Managers)、计划(plan)
  • 连接(关系):参与(participate in)
  • 属性(特征):DEC、利润分享(Profit-sharing)、分支(Branch )

在这里插入图片描述

请注意,语义网络描述的形式可以有所不同,上述描述仅提供了一种可能的表示方法。

在这里插入图片描述

						  🤞到这里,如果还有什么疑问🤞
					🎩欢迎私信博主问题哦,博主会尽自己能力为你解答疑惑的!🎩
					 	 🥳如果对你有帮助,你的赞是对博主最大的支持!!🥳

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

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

相关文章

漏洞复现--速达进存销管理系统任意文件上传

免责声明&#xff1a; 文章中涉及的漏洞均已修复&#xff0c;敏感信息均已做打码处理&#xff0c;文章仅做经验分享用途&#xff0c;切勿当真&#xff0c;未授权的攻击属于非法行为&#xff01;文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直…

区块链扩容问题研究【06】

1.Plasma&#xff1a;Plasma 是一种基于以太坊区块链的 Layer2 扩容方案&#xff0c;它通过建立一个分层结构的区块链网络&#xff0c;将大量的交易放到子链上进行处理&#xff0c;从而提高了以太坊的吞吐量。Plasma 还可以通过智能合约实现跨链交易&#xff0c;使得不同的区块…

GoLong的学习之路,进阶,微服务之序列化协议,Protocol Buffers V3

这章是接上一章&#xff0c;使用RPC包&#xff0c;序列化中没有详细去讲&#xff0c;因为这一块需要看的和学习的地方很多。并且这一块是RPC中可以说是最重要的一块&#xff0c;也是性能的重要影响因子。今天这篇主要会讲其使用方式。 文章目录 Protocol Buffers V3 背景以及概…

编译 Flink代码

构建环境 JDK1.8以上和Maven 3.3.x可以构建Flink&#xff0c;但是不能正确地遮盖某些依赖项。Maven 3.2.5会正确创建库。所以这里使用为了减少问题选择 Maven3.2.5版本进行构建。要构建单元测试&#xff0c;请使用Java 8以上&#xff0c;以防止使用PowerMock运行器的单元测试失…

SpringBoot集成系列--RabbitMQ

文章目录 一、代码1、添加依赖2、配置RabbitMQ连接3、RabbitMQ配置4、创建生产者5、创建消费者6、测试 二、遇到的问题1、Channel shutdown2、收不到信息3、安装RabbitMQ&#xff0c;无法访问控制台访问 一、代码 1、添加依赖 在pom.xml文件中添加RabbitMQ的相关依赖 <de…

10天玩转Python第2天:python判断语句基础示例全面详解与代码练习

目录 1.课程之前1.1 复习和反馈1.2 作业1.3 今日内容1.4 字符串格式化的补充1.5 运算符1.5.1 逻辑运算符1.5.2 赋值运算符1.5.3 运算符优先 2.判断2.1 if 的基本结构2.1.1 基本语法2.1.2 代码案例2.1.3 练习 2.2 if else 结构2.2.1 基本语法2.2.2 代码案例2.2.3 练习 2.3 if 和…

基于JavaWeb+SpringBoot+Vue在线拍卖系统的设计和实现

基于JavaWebSpringBootVue在线拍卖系统系统的设计和实现 源码获取入口Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码获取入口 Lun文目录 摘 要 1 Abstract 1 1 系统概述 4 1.1 概述 4 1.2课题意义 4 1.3 主要内容 4 2 …

「实用教程」win32spl.dll文件的作用及修复方法分享

本文将为您详细介绍Win32spl.dll文件的作用、丢失原因以及提供5个修复教程&#xff0c;帮助您解决这一问题。 一、Win32spl.dll文件的作用 Win32spl.dll是一个动态链接库文件&#xff0c;它是Windows操作系统中的一个重要组件。该文件主要负责处理系统启动时的一些操作&#…

[笔记] 使用 qemu/grub 模拟系统启动(单分区)

背景 最近在学习操作系统&#xff0c;需要从零开始搭建系统&#xff0c;由于教程中给的虚拟机搭建的方式感觉还是过于重量级&#xff0c;因此研究了一下通过 qemu 模拟器&#xff0c;配合 grub 完成启动系统的搭建。 qemu 介绍 qemu 是一款十分优秀的系统模拟器&#xff0c;…

[MySQL]SQL优化之索引的使用规则

&#x1f308;键盘敲烂&#xff0c;年薪30万&#x1f308; 目录 一、索引失效 &#x1f4d5;最左前缀法则 &#x1f4d5;范围查询> &#x1f4d5;索引列运算&#xff0c;索引失效 &#x1f4d5;前模糊匹配 &#x1f4d5;or连接的条件 &#x1f4d5;字符串类型不加 …

《PySpark大数据分析实战》-03.了解Hive

&#x1f4cb; 博主简介 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是wux_labs。&#x1f61c; 热衷于各种主流技术&#xff0c;热爱数据科学、机器学习、云计算、人工智能。 通过了TiDB数据库专员&#xff08;PCTA&#xff09;、TiDB数据库专家&#xff08;PCTP…

Redis基础系列-主从复制

Redis基础系列-主从复制 文章目录 Redis基础系列-主从复制1. 什么是 Redis 主从复制&#xff1f;2. 主从复制有什么好处&#xff1f;3. 如何配置 Redis 主从复制&#xff1f;4. 主从复制的验证4.1 如何查看主从搭建成功4.2 主从常见疑问4.3 主从常见命令 5. 主从复制的原理和工…

node14升级node16之后,webpack3项目无法启动处理

node从14升级到16之后&#xff0c;项目就无法启动了&#xff0c;研究了webpack3升级5&#xff0c;研究好几个小时都无法启动&#xff0c;最后发现&#xff0c;微微升级几个版本就可以了。webpack还是3 版本改了好多个的&#xff0c;但是不确定具体是哪几个起作用的&#xff0c;…

c++ map

unordered_map #include <iostream> #include <string> #include <unordered_map>int main() {// 创建包含三个字符串的&#xff08;映射到字符串的&#xff09;unordered_mapstd::unordered_map<std::string, std::string> u {{"red", &qu…

计算机丢失msvcp140dll怎么恢复?快速解决dll缺失问题

在计算机使用过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中之一就是“msvcp140dll丢失”。msvcp140.dll是一个动态链接库文件&#xff0c;它包含了许多C标准库函数的实现。这些动态链接库文件是程序运行所必需的&#xff0c;它们包含了许多函数和资源&#xf…

5V高细分双通道步进电机驱动芯片应用于摇头机,X,Y控制,聚焦控制,CAMERA云台控制等产品上的芯片选型分析

双通道5V高细分步进电机驱动芯片GC6106&#xff0c;GC6107&#xff0c;GC6119&#xff0c;GC6151&#xff0c;GC6236&#xff0c;GC6225&#xff0c;GC6129&#xff0c;电压范围3~5.5V&#xff0c;最大持续电流可达0.6A左右。可应用于摇头机&#xff0c;X,Y控制&#xff0c;聚焦…

某行 webpack 加密算法分析

本次的目标是某行购物网站的加密算法分析&#xff0c;网站如下 aHR0cHM6Ly93d3cuemtoLmNvbS8&#xff08;注&#xff1a;该网站从整体上看来&#xff0c;是webpack加密&#xff0c;但是本文的实现方式&#xff0c;不是扣js代码也不补环境&#xff0c;因为最后分析此网站用的都…

静态链接库和动态链接库(隐式载入显式载入)

文章目录 动态链接库和静态链接库什么是链接库&#xff1f;静态链接库动态链接库动态链接库的俩种链接方式加载时动态链接运行时动态链接 动态链接库和静态链接库 动态链接库和静态链接库都是共享代码的方法&#xff0c;只是二者略有区别。 以C/C为例&#xff0c;一个可执行文…

JDK多版本集成 Jacoco 配置指南

JDK多版本集成 Jacoco 配置指南 本篇相关 JDK 版本配置如下&#xff1a; JDK8 JDK11 JDK17 Jacoco 是什么 Jacoco 是一个用于Java程序的代码覆盖率报告工具。它通过动态分析&#xff08;在代码执行时收集数据&#xff09;来生成代码覆盖率报告文件。Jacoco 支持多种覆盖率标…

CSS新手入门笔记整理:元素类型相互转换

元素类型 块元素&#xff08;block&#xff09; 独占一行&#xff0c;排斥其他元素跟其位于同一行&#xff0c;包括块元素和行内元素。块元素内部可以容纳其他块元素和行内元素。可以定义 width&#xff0c;也可以定义 height。可以定义 4 个方向的 margin。 行内元素&#xf…