【人工智能 | 知识表示方法】状态空间法 语义网络,良好的知识表示是解题的关键!(笔记总结系列)
🤵♂️ 个人主页: @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: 项目依赖配置文件: 如图,我们说主要的属性…...

微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度
文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...