当前位置: 首页 > news >正文

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

在这里插入图片描述

🤵‍♂️ 个人主页: @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 )

在这里插入图片描述

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

在这里插入图片描述

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

相关文章:

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

&#x1f935;‍♂️ 个人主页: AI_magician &#x1f4e1;主页地址&#xff1a; 作者简介&#xff1a;CSDN内容合伙人&#xff0c;全栈领域优质创作者。 &#x1f468;‍&#x1f4bb;景愿&#xff1a;旨在于能和更多的热爱计算机的伙伴一起成长&#xff01;&#xff01;&…...

华清远见嵌入式学习——QT——作业1

作业要求&#xff1a; 代码&#xff1a; ①&#xff1a;头文件 #ifndef LOGIN_H #define LOGIN_H#include <QWidget> #include <QLineEdit> //行编辑器类 #include <QPushButton> //按钮类 #include <QLabel> //标签类 #include <QM…...

MYSQL练习创建存储函数和存储过程

创建数据表&#xff0c;信息如下&#xff1a; 表结构&#xff1a; 字段名 数据类型 主键 外键 非空 唯一 自增 id INT 是 否 是 是 否 name VARCHAR(50) 否 否 是 否 否 glass VARCHAR(50) 否 否 是 否…...

Java基础语法面试题

数据类型 Java有哪些数据类型 定义&#xff1a;Java语言是强类型语言&#xff0c;对于每一种数据都定义了明确的具体的数据类 型&#xff0c;在内存中分配了不同大小的内存空间。 分类&#xff1a; 基本数据类型 数值型 整数类型(byte,short,int,long) 浮点类型(float,dou…...

结合ColorUI组件开发微信小程序

1.自定义组件生命周期函数&#xff1a; Component({data: {},attached() {console.log("自定义组件生命周期函数 attached--先执行");this.getPos();},ready() {console.log("ready生命周期函数---在attached之后执行")},methods: {getPos() {var that th…...

如何搭建废品上门回收小程序

如今&#xff0c;随着环境保护意识的增强&#xff0c;废品的回收和再利用变得越来越重要。为了方便人们进行废品回收&#xff0c;搭建一个废品上门回收的小程序成为了一个不错的选择。本文将介绍如何从零开始搭建一个废品上门回收小程序。 …...

蓝牙配对、连接和删除汇总

目的&#xff1a;处理PC连接蓝牙设备的配对、连接和删除操作&#xff0c;以及常见故障。 命令行配对蓝牙设备并连接 要求&#xff1a;配对BLUET043蓝牙&#xff0c;密码为4444&#xff0c;然后连接该蓝牙。操作步骤如下&#xff1a; Step1.下载 修复工具&#xff0c;然后安装…...

Linux网络——高级IO

目录 一.五种IO模型 1.阻塞式IO 2.非阻塞式IO 3.信号驱动IO 4.多路转接IO&#xff1a; 5.异步IO 二.同步通信 vs 异步通信 三.设置非阻塞IO 1.阻塞 vs 非阻塞 2.非阻塞IO 3.实现函数SetNoBlock 四.I/O多路转接之select 1.初识select 2.select函数原型 3.socket就绪…...

Java注解详解

概述 注解是对程序代码进行标注和解释的一种方式。在Java中&#xff0c;注解提供了一种元数据形式&#xff0c;能够在程序中嵌入有关程序的信息&#xff0c;以便进行进一步的处理。注解通过使用符号来声明&#xff0c;如Override、Deprecated等。 注解和注释的区别 注释&…...

Android wifi 框架以及Enable流程

Android P相比于Android O的变化 多了WifiStateMachinePrime&#xff08;状态机的前处理机制&#xff09;&#xff0c;wifiService的相关cmd 不再是直接send 给WifiStateMachine&#xff0c;而是被送到WifiStateMachinePrime先进行处理后&#xff0c;再送往WifiStateMachine也…...

十五、机器学习进阶知识:K-Means聚类算法

文章目录 1、聚类概述2、K-Means聚类算法原理3、K-Means聚类实现3.1 基于SKlearn实现K-Means聚类3.2 自编写方式实现K-Means聚类 4、算法不足与解决思路4.1 存在的问题4.2 常见K值确定方法4.3 算法评估优化思路 1、聚类概述 聚类&#xff08;Clustering&#xff09;是指将不同…...

软件崩溃时Visual Studio中看不到有效的调用堆栈,使用Windbg动态调试去分析定位

目录 1、问题说明 2、使用Windbg查看崩溃时详细的函数调用堆栈...

搭乘“低代码”快车,引领食品行业数字化转型全新升级

数字化技术作为重塑传统行业重要的力量&#xff0c;正以不可逆转的趋势改变着企业经营与客户消费的方式。 在近些年的企业数字化服务与交流过程中&#xff0c;织信团队切实感受到大多数企业经营者们从怀疑到犹豫再到焦虑最终转为坚定的态度转变。 在这场数字化转型的竞赛中&a…...

Axure->Axure安装,Axure菜单栏和工具栏功能介绍,页面及概要区

Axure安装Axure菜单栏和工具栏功能介绍&#xff0c;页面及概要区 1.Axure安装 即时设计 - 可实时协作的专业 UI 设计工具 (js.design) 点击上方下载安装⬆ 打开软件点击帮助->管理授权-> 被授权人 Axure 授权密钥:gjqpIxSSUUqFwPoZPi8XwBBhRE2VNmOQsrord0JqShk4QCXxrw6…...

【BUG】微信小程序image不会随着url动态变化

问题描述&#xff1a; 第一次打开界面&#xff0c;显示的是默认头像而不是用户头像&#xff0c;似乎image里面的src只要第一次有值就不会再更新了 解决 不要给src里面的变量设置初始值&#xff0c;而是直接赋空值...

供应链管理痛点大解析!内附解决方案

供应链是指涉及产品或服务生产、运输、分销和最终交付给客户的过程。 用一个汽车制造的例子来帮助大家理解&#xff1a; 原材料采购&#xff1a; 汽车制造商需要从供应商处采购制造汽车所需的原材料&#xff0c;例如金属、橡胶、塑料和玻璃。生产制造&#xff1a;获得原材料&…...

【Python深度学习第二版】学习笔记之——神经网络

首先来说对于神经网络这几章看的很懵&#xff0c;虽然作者已经去掉了数学公式相关内容&#xff0c;讲得已经很想让读者容易理解了&#xff0c;奈何读完还是一知半解&#xff0c;下面就以我目前的理解简单记录一下吧&#xff0c;往后了解的多了再回头看一看。 一、张量运算 作…...

计算机视觉之手势、面部、姿势捕捉以Python Mediapipe为工具

计算机视觉之手势、面部、姿势捕捉以 Python Mediapipe为工具 文章目录 1.Mediapipe库概述2.手势捕捉(hands)3.面部捕捉(face)4.姿势捕捉(pose) 1.Mediapipe库概述 Mediapipe是一个开源且强大的Python库&#xff0c;由Google开发和维护。它提供了丰富的工具和功能&#xff0c…...

基于AWS Serverless的Glue服务进行ETL(提取、转换和加载)数据分析(一)——创建Glue

1 通过Athena查询s3中的数据 此实验使用s3作为数据源 ETL: E extract 输入 T transform 转换 L load 输出 大纲 1 通过Athena查询s3中的数据1.1 架构图1.2 创建Glue数据库1.3 创建爬网程序1.4 创建表1.4.1 爬网程序创建表1.4.2 手动创建表 1…...

Vue学习计划-Vue2--VueCLi(二)vuecli脚手架创建的项目内部主要文件分析

1. 文件分析 1. 补充&#xff1a; 什么叫单文件组件&#xff1f; 一个文件中只有一个组件 vue-cli创建的项目中&#xff0c;.vue的文件都是单文件组件&#xff0c;例如App.vue 2. 进入分析 1. package.json: 项目依赖配置文件&#xff1a; 如图&#xff0c;我们说主要的属性…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能&#xff0c;我们需要对它的功能特点进行分析&#xff1a; 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具&#xff1a; mysql&#xff1a;关系型数据库&am…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名&#xff08;Class Name)2.协议名&#xff08;Protocol Name)3.方法名&#xff08;Method Name)4.属性名&#xff08;Property Name&#xff09;5.局部变量/实例变量&#xff08;Local / Instance Variables&…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术&#xff0c;它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton)&#xff1a;由层级结构的骨头组成&#xff0c;类似于人体骨骼蒙皮 (Mesh Skinning)&#xff1a;将模型网格顶点绑定到骨骼上&#xff0c;使骨骼移动…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例&#xff0c;其中使用的是 Module Federation 和 npx-build-plus 实现了主应用&#xff08;Shell&#xff09;与子应用&#xff08;Remote&#xff09;的集成。 &#x1f6e0;️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

MySQL 知识小结(一)

一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库&#xff0c;分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷&#xff0c;但是文件存放起来数据比较冗余&#xff0c;用二进制能够更好管理咱们M…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...

JavaScript 数据类型详解

JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型&#xff08;Primitive&#xff09; 和 对象类型&#xff08;Object&#xff09; 两大类&#xff0c;共 8 种&#xff08;ES11&#xff09;&#xff1a; 一、原始类型&#xff08;7种&#xff09; 1. undefined 定…...