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

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

摘要: 本系列旨在普及那些深度学习路上必经的核心概念,文章内容都是博主用心学习收集所写,欢迎大家三联支持!本系列会一直更新,核心概念系列会一直更新!欢迎大家订阅
该文章收录专栏
[✨— 《深入解析机器学习:从原理到应用的全面指南》 —✨]
知识表示方法
知识是一个抽象的术语,尝试描述人对某种特定对象的理解。根据不同任务和不同的知识类型,有不同的知识表示方法,对应这许多不同的方法和技术可供选择(不同知识表示方法,在求解问题方法和效率也不太同,需要考虑)。以下是一些常见的知识表示方法极少(需要注意的是这里的知识表示方法,不仅仅是面对现在主流大热的人工智能方向,几乎是包含了全部的人工智能方向,机器智能其实就是我们日常解决的问题,例如八数码问题、圆盘梵塔难题都可以很好求解,这种方法论在面对数据结构与算法中也是非常有效的,可以说是秘籍)
| 名称 | 介绍 | 实际案例 |
|---|---|---|
| 状态空间法(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个野人来到河边,打算乘一条船从右岸渡到左岸去。该船的负载能力为两人。在任何时候,如果野人人数超过传教士人数,那么野人就会把传教士吃掉。如何用状态空间法来表示该问题?给出具体的状态表示和算符。
根据状态空间法,我们首先需要定义其对于状态,而后定义操作。
在这个问题中,我们可以使用状态空间搜索来解决。我们可以用一组状态来表示传教士和野人在不同岸边的位置。
状态表示:
- 用
(M, C, B)表示一个状态,其中M表示右岸的传教士数量,C表示右岸的野人数量,B表示船的位置,B = 0表示船在右岸,B = 1表示船在左岸。
算符表示:
(m, c): 将m个传教士和c个野人从右岸乘船到左岸,。前提条件是 m + c <= 2 。
这些算符表示了允许的合法移动,同时满足传教士和野人数量的限制条件。通过在状态空间中搜索,我们可以找到一条路径,使得所有传教士和野人都能安全地从右岸渡到左岸。
参考:

再举一个例子
利用下图,用状态空间法规划一个最短的旅行路程:此旅程从城市 A 开始,访问其他城市不多于一次,并返回 A。选择一个状态表示,表示出所求得的状态空间的节点及弧线,标出适当的代价,并指明图中从起始节点到目标节点的最佳路径。
用 (M, C, B) 表示一个状态,其中 M 表示初始城市,C 表示目标城市,B 表示距离。
需要找到从起始节点A到目标节点A的最佳路径。这可以通过应用最短路径算法(例如迪杰斯特拉算法或暴力枚举算法)来实现,平时用迪杰斯特拉算法即可。
语义网络(Semantic Networks)
由奎廉(Quillian)于1968年提出,作为描述人类联想记忆的一种心理学模型。
语义网络的结构定义
语义网络是知识的一种图解表示,它由节点和弧线或链线组成。节点用于表示实体、概念和情况等,弧线用于表示节点间的关系。
我们根据以下这个例子简单讲解
把下列语句表示成语义网络描述:
(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 )

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

🤞到这里,如果还有什么疑问🤞🎩欢迎私信博主问题哦,博主会尽自己能力为你解答疑惑的!🎩🥳如果对你有帮助,你的赞是对博主最大的支持!!🥳
相关文章:
【人工智能 | 知识表示方法】状态空间法 语义网络,良好的知识表示是解题的关键!(笔记总结系列)
🤵♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…...
华清远见嵌入式学习——QT——作业1
作业要求: 代码: ①:头文件 #ifndef LOGIN_H #define LOGIN_H#include <QWidget> #include <QLineEdit> //行编辑器类 #include <QPushButton> //按钮类 #include <QLabel> //标签类 #include <QM…...
MYSQL练习创建存储函数和存储过程
创建数据表,信息如下: 表结构: 字段名 数据类型 主键 外键 非空 唯一 自增 id INT 是 否 是 是 否 name VARCHAR(50) 否 否 是 否 否 glass VARCHAR(50) 否 否 是 否…...
Java基础语法面试题
数据类型 Java有哪些数据类型 定义:Java语言是强类型语言,对于每一种数据都定义了明确的具体的数据类 型,在内存中分配了不同大小的内存空间。 分类: 基本数据类型 数值型 整数类型(byte,short,int,long) 浮点类型(float,dou…...
结合ColorUI组件开发微信小程序
1.自定义组件生命周期函数: Component({data: {},attached() {console.log("自定义组件生命周期函数 attached--先执行");this.getPos();},ready() {console.log("ready生命周期函数---在attached之后执行")},methods: {getPos() {var that th…...
如何搭建废品上门回收小程序
如今,随着环境保护意识的增强,废品的回收和再利用变得越来越重要。为了方便人们进行废品回收,搭建一个废品上门回收的小程序成为了一个不错的选择。本文将介绍如何从零开始搭建一个废品上门回收小程序。 …...
蓝牙配对、连接和删除汇总
目的:处理PC连接蓝牙设备的配对、连接和删除操作,以及常见故障。 命令行配对蓝牙设备并连接 要求:配对BLUET043蓝牙,密码为4444,然后连接该蓝牙。操作步骤如下: Step1.下载 修复工具,然后安装…...
Linux网络——高级IO
目录 一.五种IO模型 1.阻塞式IO 2.非阻塞式IO 3.信号驱动IO 4.多路转接IO: 5.异步IO 二.同步通信 vs 异步通信 三.设置非阻塞IO 1.阻塞 vs 非阻塞 2.非阻塞IO 3.实现函数SetNoBlock 四.I/O多路转接之select 1.初识select 2.select函数原型 3.socket就绪…...
Java注解详解
概述 注解是对程序代码进行标注和解释的一种方式。在Java中,注解提供了一种元数据形式,能够在程序中嵌入有关程序的信息,以便进行进一步的处理。注解通过使用符号来声明,如Override、Deprecated等。 注解和注释的区别 注释&…...
Android wifi 框架以及Enable流程
Android P相比于Android O的变化 多了WifiStateMachinePrime(状态机的前处理机制),wifiService的相关cmd 不再是直接send 给WifiStateMachine,而是被送到WifiStateMachinePrime先进行处理后,再送往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、聚类概述 聚类(Clustering)是指将不同…...
软件崩溃时Visual Studio中看不到有效的调用堆栈,使用Windbg动态调试去分析定位
目录 1、问题说明 2、使用Windbg查看崩溃时详细的函数调用堆栈...
搭乘“低代码”快车,引领食品行业数字化转型全新升级
数字化技术作为重塑传统行业重要的力量,正以不可逆转的趋势改变着企业经营与客户消费的方式。 在近些年的企业数字化服务与交流过程中,织信团队切实感受到大多数企业经营者们从怀疑到犹豫再到焦虑最终转为坚定的态度转变。 在这场数字化转型的竞赛中&a…...
Axure->Axure安装,Axure菜单栏和工具栏功能介绍,页面及概要区
Axure安装Axure菜单栏和工具栏功能介绍,页面及概要区 1.Axure安装 即时设计 - 可实时协作的专业 UI 设计工具 (js.design) 点击上方下载安装⬆ 打开软件点击帮助->管理授权-> 被授权人 Axure 授权密钥:gjqpIxSSUUqFwPoZPi8XwBBhRE2VNmOQsrord0JqShk4QCXxrw6…...
【BUG】微信小程序image不会随着url动态变化
问题描述: 第一次打开界面,显示的是默认头像而不是用户头像,似乎image里面的src只要第一次有值就不会再更新了 解决 不要给src里面的变量设置初始值,而是直接赋空值...
供应链管理痛点大解析!内附解决方案
供应链是指涉及产品或服务生产、运输、分销和最终交付给客户的过程。 用一个汽车制造的例子来帮助大家理解: 原材料采购: 汽车制造商需要从供应商处采购制造汽车所需的原材料,例如金属、橡胶、塑料和玻璃。生产制造:获得原材料&…...
【Python深度学习第二版】学习笔记之——神经网络
首先来说对于神经网络这几章看的很懵,虽然作者已经去掉了数学公式相关内容,讲得已经很想让读者容易理解了,奈何读完还是一知半解,下面就以我目前的理解简单记录一下吧,往后了解的多了再回头看一看。 一、张量运算 作…...
计算机视觉之手势、面部、姿势捕捉以Python Mediapipe为工具
计算机视觉之手势、面部、姿势捕捉以 Python Mediapipe为工具 文章目录 1.Mediapipe库概述2.手势捕捉(hands)3.面部捕捉(face)4.姿势捕捉(pose) 1.Mediapipe库概述 Mediapipe是一个开源且强大的Python库,由Google开发和维护。它提供了丰富的工具和功能,…...
基于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. 补充: 什么叫单文件组件? 一个文件中只有一个组件 vue-cli创建的项目中,.vue的文件都是单文件组件,例如App.vue 2. 进入分析 1. package.json: 项目依赖配置文件: 如图,我们说主要的属性…...
【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...




