神经网络在专家系统中的应用:从符号逻辑到连接主义的融合创新
自人工智能作为一个学科面世以来,关于它的研究途径就存在两种不同的观点。一种观点主张对人脑的结构及机理开展研究,并通过大规模集成简单信息处理单元来模拟人脑对信息的处理,神经网络是这一观点的代表。关于这方面的研究一般被称为连接机制、连接主义或结构主义。另一种观点主张通过运用计算机的符号处理能力来模拟人的逻辑思维,其核心是知识的符号表示和对用符号表示的知识的处理,专家系统是这一观点的典型代表。关于这方面的研究一般被称为符号机制、符号主义或功能主义。其实,这两方面的研究都各有所长,也各有所短,分别反映了人类智能的一个方面。因而,人们在对每一方面继续开展研究的同时,也已开始研究两者的结合问题。
一、神经网络与专家系统的互补性
(一)传统专家系统中存在的问题
1. 基本思想与定义
核心思想:传统专家系统(Traditional Expert System, TES)基于符号逻辑,通过显式规则(IF-THEN)编码领域专家知识,利用推理引擎实现问题求解。其本质是“知识工程”范式,依赖人工构建的知识库和确定的推理机制。
形式化定义: 专家系统可表示为五元组,其中:
(1)R:规则集,形如;
(2)F:事实库,存储当前已知数据;
(3)I:推理引擎,执行匹配 - 选择 - 动作循环(Rete算法);
(4)K:知识库管理系统;
(5)X:解释模块。
以下是关于专家系统的思维导图:
内容补充:
(1)有关“专家系统的基本概念”:专家系统的基本概念解析——基于《人工智能原理与方法》的深度拓展_专家系统的本质-CSDN博客 (2)有关“专家系统的一般结构”:专家系统的一般结构解析——基于《人工智能原理与方法》的深度拓展-CSDN博客
(3)有关“专家系统的知识获取、检测与组织管理”:专家系统的知识获取、检测与组织管理——基于《人工智能原理与方法》的深度解析-CSDN博客
2. 表示形式与实现过程
(1)知识表示:
1)产生式规则:最常用形式,如医学诊断规则:IF 体温>38℃ 且 咳嗽剧烈 且 白细胞计数>10^4, THEN 诊断为肺炎(置信度0.8)
2)框架表示:结构化知识单元,描述对象属性及关系,如“疾病框架”包含症状槽、检查槽、治疗槽。
3)语义网络:通过有向图表示概念及关系,节点为概念,边为关系(如“IS-A”“PART-OF”),适用于分类知识表示。
4)逻辑表示:基于一阶谓词逻辑。
知识表示方法的具体内容,可以看我的CSDN博客:
1)一阶谓词逻辑表示法:知识表示方法之一:一阶谓词逻辑表示法(附详细示例)-CSDN博客
2)产生式表示法:知识表示方法之二:产生式表示法(Production System)_知识表示中的产生式表示法-CSDN博客 3)框架表示法:知识表示方法之三:框架表示法(Frame Representation)-CSDN博客
4)语义网络表示法:知识表示方法之四:语义网络表示法(Semantic Network Representation)_语义网络 知识表达方法 英语-CSDN博客 5)脚本表示法:知识表示方法之五:脚本表示法-CSDN博客
6)过程表示法:知识表示方法之六:过程表示法(Procedural Representation)_人工智能过程表示法例子-CSDN博客 (2)推理流程(正向链推理):
1)事实匹配:将当前事实与规则前件(IF 部分)匹配,生成候选规则集;
2)冲突消解:按优先级(如规则特异性、最近使用)选择唯一规则;
3)动作执行:将规则后件(THEN 部分)加入事实库,重复直至无新事实或目标达成。
3. 算法描述(Rete算法优化匹配过程)
核心步骤:
(1)规则编译:将规则前件转换为节点网络,分为类型节点、属性节点、连接节点;
(2)事实传播:事实通过类型节点过滤,经属性节点检查条件,匹配成功的事实组合触发规则;
(3)增量更新:仅处理事实变化部分,减少重复匹配计算,时间复杂度从 O(nm) 降至 O(n + m)。
4. 具体示例:MYCIN医疗诊断系统
系统架构:
(1)知识库:约600条治疗细菌性感染的规则,每条规则含置信度(Certainty Factor, CF);
(2)推理过程:输入患者症状(体温、白细胞计数、感染部位等),通过反向链推理(目标驱动)确定可能病原体;
(3)解释模块:可追溯推理路径,如“为何认为是大肠杆菌感染?”——“因规则R32匹配了症状S1、S3和检查结果T5”。
缺陷演示:
当遇到知识库外的新病症(如某种新型病毒感染,无对应规则),系统无法推理,直接返回“无解”,暴露知识获取瓶颈。
5.传统专家系统中存在的问题
自1968年第一个专家系统问世以来的30年中,专家系统已经获得了迅速的发展,取得了令人瞩目的成就,被广泛应用于多个领域中,成为人工智能中最活跃的一个分支。但是,由于受串行符号处理的束缚,致使某些困难问题长久得不到解决,而且随着应用的不断扩大,这些缺陷日益显得更加突出,严重阻碍了它的进一步发展。其主要问题有:
(1)知识获取的“瓶颈”问题。前文提到知识获取是专家系统建造中的瓶颈问题,这不仅影响到专家系统开发的进度,而且直接影响到知识的质量及专家系统的功能,这是目前人们待解决的问题。
(2)知识的“窄台阶”问题。目前,一般专家系统只能应用于相当窄的知识领域内,求解预定的专门问题,一旦遇到超出知识范围的问题,就无能为力,不能通过自身的学习增长知识,存在所谓的窄台阶问题。
(3)系统的复杂性与效率问题。目前在专家系统中广泛应用的知识表示形式有产生式规则、语义网络、谓词逻辑、框架和面向对象方法等,虽然它们各自以不同的结构和组织形式描述知识,但都是把知识转换成计算机可以存储的形式存入知识库的,推理时再依一定的匹配算法及搜索策略到知识库中去寻找所需的知识。这种表示和处理方式一方面需要对知识进行合理的组织与管理,另一方面由于知识搜索是一串行的计算过程,必须解决冲突等问题,这就产生了推理的复杂性、组合爆炸及无穷递归等问题,影响到系统的运行效率。
(4)不具有联想记忆功能。目前的专家系统一般还不具备自学习能力和联想记忆功能,不能在运行过程中自我完善,不能通过联想记忆、识别和类比等方式进行推理,当已知的信息带有噪声、发生畸变等不完全时,缺少有力的措施进行处理。
(二)神经网络中存在的问题
1. 知识表示的隐性化
知识存储于权重矩阵和激活模式中,难以显式提取为人类可理解的规则(如“输入x1>0.7且x2<0.3时输出y=1”),形成“黑箱”;
数学本质:高维空间非线性映射由参数
定义,缺乏符号层面的语义解释。
2. 推理过程的不可溯性
推理依赖前向传播的数值计算,无法生成逻辑步骤解释(如“为何得出此结论?”);
示例:图像识别网络判断“这是一只猫”,但无法解释“因为有胡须、尖耳朵等特征”,仅能输出特征图激活强度。
3. 先验知识利用不足
训练需大量数据,对领域专家已有的规则性知识(如医学指南、工程手册)利用率低;
极端案例:在小样本场景(如罕见病诊断)中,纯神经网络模型准确率比专家系统低40%。
4. 鲁棒性与泛化边界模糊
对对抗样本敏感(微小扰动导致分类错误),且缺乏逻辑推理的“常识约束”;
数学证明:神经网络的VC维随层数指数增长,导致在分布外数据(OOD)上的泛化能力不可控。
(三)神经网络与专家系统的集成
1. 集成范式分类
集成层次 | 松耦合(Loose Coupling) | 紧耦合(Tight Coupling) |
交互方式 | 独立模块,通过数据接口交换结果 | 统一架构,知识在符号与数值层面深度融合 |
典型方法 | 神经网络预处理数据→专家系统推理 | 神经规则引擎、模糊神经网络、知识注入网络 |
示例 | 图像识别网络输出标签→专家系统制定治疗方案 | 神经网络生成可解释规则→专家系统验证一致性 |
2. 紧耦合集成的数学框架
联合优化目标:
其中:
L_data 为数据拟合损失(如交叉熵);
L_rule 为规则一致性损失,例如:,I 为指示函数,当网络输出违反规则 R 时惩罚。
3. 集成优势的实证分析
案例:电力系统故障诊断
传统专家系统:依赖工程师编写的保护装置动作规则(如“若母线差动保护动作且开关跳闸,则判定母线故障”),但对复杂多重故障(如保护拒动、通信延迟)诊断准确率仅 65%;
纯神经网络:通过故障波形数据训练,对已知故障模式准确率达92%,但对从未见过的保护配置变异场景(占比5%)误判率高达40%;
集成系统:
(1)神经网络实时处理互感器波形,输出故障候选区域(数值特征);
(2)专家系统根据电网拓扑规则(如“故障区域必须包含至少一个断路器跳闸信号”)过滤误判,最终准确率提升至98%,且能生成故障路径解释。
二、基于神经网络的知识表示
知识表示是人工智能的基础,它是对客观世界进行的形式化描述。在基于神经网络的系统中,知识的表示方法与传统专家系统中所用的方法(如产生式、框架、语义网络等)完全不同,传统专家系统中所用的方法是知识的显式表示,而神经网络中的知识表示是一种隐式的表示方法。在这里,知识并不像在产生系统中那样独立地表示为每一条规则,而是将某一问题的若干知识在同一网络中表示。例如在有些神经网络系统中,知识是用神经网络所对应的有向带权图的邻接矩阵及阈值向量表示的。如下图所示的表示异或逻辑的神经网络。
其邻接矩阵为
如以产生式规则来描述,该网络代表了下述四条规则:
(一)分布式知识表示理论
1. 从符号原子到向量嵌入
范式转变:
(1)传统专家系统:知识以离散符号(如“肺炎”“白细胞升高”)和规则形式存在,遵循“物理符号系统假设”(Newell & Simon, 1976);
(2)神经网络:知识表现为高维空间中的分布式向量,单个概念对应神经元激活模式,如 Word2Vec中“医生”的词向量是数千维实数的组合。
2. 数学建模:知识的向量空间表示
神经网络层的语义映射:
(1)输入层:原始数据编码(如医学影像的像素矩阵、病历的词袋向量);
(2)隐藏层:每层特征向量
是对输入的抽象表示,越深层越接近语义概念(如视觉网络中从边缘检测到物体部件再到完整物体);
(3)输出层:决策向量(如疾病概率分布)。
3. 知识表示的神经形态示例
医疗知识图谱嵌入(以糖尿病诊断为例):
(1)输入编码:患者数据→数值特征(血糖值、BMI)+ 分类特征(症状文本→BERT 词向量);
(2)隐藏层学习:
第一层:提取“三多一少”症状的词向量关联;
第二层:结合血糖值与BMI的非线性关系,形成“胰岛素抵抗”的隐式表示;
(3)知识存储:权重矩阵编码“肥胖→胰岛素抵抗→高血糖”的因果关系,虽无法直接读取,但可通过干预实验验证(如固定BMI特征,观察血糖预测值变化)。
(二)神经符号知识的双向转换
1. 规则到网络的注入(Knowledge Injection)
方法 1:硬约束编码
将专家规则转换为网络结构约束,如在心电图诊断网络中,强制加入“ST段抬高→心肌缺血”的先验路径:
其中 x_ST为ST段偏移量,确保该特征的权重 w_1 在训练中保持显著正值。
方法 2:软约束正则化
通过损失函数嵌入规则,如要求“发热患者的肺炎概率应高于体温正常者”:
2. 网络到规则的提取(Rule Extraction)
REANN算法步骤:
(1)网络训练:在乳腺癌病理图像数据集上训练CNN分类模型;
(2)激活值聚类:对隐藏层激活值进行K-means聚类,每个簇对应一个“视觉概念”(如“细胞核异型性”“有丝分裂象”);
(3)规则生成:通过关联分析,建立输入特征(像素区域)→聚类中心→输出类别的规则,例如:IF 区域A的激活值属于簇3 且 区域B的激活值>0.6, THEN 诊断为恶性(置信度0.92)
三、基于神经网络的推理
(一)推理范式的根本变革
推理类型 | 传统专家系统 | 神经网络推理 | 混合推理系统 |
推理基础 | 符号逻辑(命题演算、谓词逻辑) | 数值计算(矩阵运算、激活函数) | 符号 - 数值双空间映射 |
推理过程 | 规则匹配与逻辑推导 | 前向传播与模式匹配 | 符号引导下的数值优化 + 逻辑验证 |
不确定性处理 | 置信度传播(CF 理论) | 概率分布计算(softmax 输出) | 贝叶斯规则与神经概率图模型结合 |
1. 神经网络的数值推理数学模型
前向推理公式:给定输入特征x,推理过程可表示为多层非线性变换:
其中 f_l 为第 l 层激活函数,推理结果y 可以是:
(1)分类概率(如疾病诊断的后验概率分布);
(2)回归值(如设备剩余寿命预测);
(3)结构化输出(如主谓宾关系提取的三元组)。
2. 不确定性推理的神经实现
模糊神经网络(Fuzzy Neural Network, FNN):
(1)模糊化层:将精确输入转换为模糊集合,如“血糖值200mg/dL”映射到“严重高血糖”隶属度0.9;
(2)规则层:神经元对应模糊规则,如 R_i: IF x_1 is A_1 AND x_2 is A_2 THEN y is B_i;
(3)去模糊化层:将模糊输出转换为精确值,常用重心法:
示例:高血压诊断 FNN 输入:收缩压(SBP)、舒张压(DBP)
模糊规则示例:
IF SBP is 高(>140) AND DBP is 中高(90-100), THEN 高血压等级 is 2级(置信度0.85)
推理过程通过神经网络权重自动调整隶属度函数参数,比手工定义的模糊系统诊断准确率提升15%。
(二)神经推理的可解释性增强技术
1. 注意力机制引导的推理路径可视化
Grad-CAM 算法步骤:
(1)计算输出类别 c 对最后卷积层特征图的梯度:,
为第 k 个特征图
(2)对梯度加权平均得到权重;
(3)生成热力图:
应用:在肺癌CT影像诊断中,Grad-CAM可定位到结节边缘的分叶征和毛刺征区域,对应专家诊断中的关键特征,解释可信度提升30%。
2. 神经符号推理的混合架构
HYBRID系统框架:
(1)感知层:CNN提取图像中的物体边界框及类别概率(如“肺部结节”置信度0.95);
(2)符号层:
知识图谱存储医学规则:“结节直径> 3cm 且边缘不规则→恶性概率增加40%”;
逻辑引擎根据CNN输出和规则,计算最终概率:
(3)解释层:生成混合推理报告:“因检测到直径3.5cm结节(CNN置信度0.95),且符合边缘不规则规则,故判断为恶性。”
四、深度融合的前沿方向:神经符号系统
(一)神经符号系统的数学定义
统一框架:
其中:
N:神经网络模块,处理感知与低层次推理;
K:符号知识库,存储逻辑规则、本体论、因果关系;
T:转换接口,实现 N↔K 的双向映射,满足:
(二)典型应用:药物发现中的靶点预测
1. 神经网络模块
(1)输入:蛋白质序列(One-Hot编码)+ 已知相互作用的配体分子指纹;
(2)模型:图神经网络(GNN)建模蛋白质 - 配体结合位点的三维结构;
(3)输出:结合亲和力评分 s∈[0,1]。
2. 符号知识模块
规则库:
(1)“若配体含芳香环且靶点有疏水口袋,则亲和力≥0.7 的概率增加60%”;
(2)“金属离子结合位点附近的配体需含螯合基团”。
3. 融合推理过程
(1)GNN预测初始亲和力 s_0 = 0.65;
(2)符号引擎检查配体结构:含芳香环,且靶点存在疏水口袋(来自蛋白质结构数据库PDB 的注释);
(3)应用规则1,调整亲和力为 s = s_0×1.6 = 1.04(经归一化后为0.85);
(4)输出解释:“预测亲和力提升,因符合疏水相互作用规则,对应配体的苯环结构与靶点 Leu123、Val456 形成疏水键。”
五、理论深度拓展与未来挑战
(一)融合系统的理论基础
(1)表示学习的完备性:证明神经网络在多大程度上能逼近符号系统的语义表示,即存在映射
(L 为逻辑语言),使得
。
(2)推理的保真性:定义神经推理结果与符号逻辑的一致性度量,研究如何通过正则化提升 C。
(3)知识的双向可转换性: 建立神经表示与符号知识的同构关系,如证明Hopfield网络的吸引子集合与命题逻辑的模型集合存在双射。
(二)技术挑战与解决方案
挑战领域 | 具体问题 | 前沿解决方案 |
知识获取 | 专家规则与数据特征的异构性 | 神经符号知识图谱(Neural-Symbolic KG) |
可解释性 | 推理过程的符号级溯源 | 反事实解释(Counterfactual Explanation) |
小样本学习 | 专家知识对少数据的增强作用 | 元学习(Meta-Learning)+ 规则初始化 |
实时推理 | 大规模网络的低延迟需求 | 神经形态硬件(如 Intel Loihi) |
六、总结:从分立到融合的智能演进
传统专家系统的“脆性”与神经网络的“黑箱”缺陷,本质上反映了符号主义与连接主义在知识表示和推理机制上的根本差异。二者的融合并非简单的模块拼接,而是需要在知识表示层(符号 - 向量映射)、推理逻辑层(数值计算 - 逻辑推导统一)、系统架构层(端到端学习与规则约束协同)实现深度耦合。
未来,随着神经符号系统的发展,我们有望构建兼具“数据驱动的学习能力”与“逻辑驱动的推理能力”的新一代专家系统,在医疗诊断、金融风控、工业控制等领域实现从“经验依赖”到“科学决策”的跨越。这种融合不仅是技术层面的创新,更是对人工智能本质的重新定义——智能,应当是感知经验与理性知识的有机统一,是连接主义的柔性适应与符号主义的刚性逻辑的辩证融合。
相关文章:
神经网络在专家系统中的应用:从符号逻辑到连接主义的融合创新
自人工智能作为一个学科面世以来,关于它的研究途径就存在两种不同的观点。一种观点主张对人脑的结构及机理开展研究,并通过大规模集成简单信息处理单元来模拟人脑对信息的处理,神经网络是这一观点的代表。关于这方面的研究一般被称为连接机制…...
【Hive入门】Hive安全管理与权限控制:基于SQL标准的授权GRANT REVOKE深度解析
目录 引言 1 Hive权限模型概述 2 SQL标准授权基础 2.1 核心概念解析 2.2 授权模型工作流程 3 GRANT/REVOKE语法详解 3.1 基础授权语法 3.2 权限回收语法 3.3 参数说明 4 授权场景 4.1 基础授权示例 4.2 列级权限控制 4.3 视图权限管理 5 权限查询与验证 5.1 查看…...
详解RabbitMQ工作模式之发布订阅模式
目录 发布订阅模式 概念 概念介绍 特点和优势 应用场景 注意事项 代码案例 引入依赖 常量类 编写生产者代码 编写消费者1代码 运行代码 发布订阅模式 概念 RabbitMQ的发布订阅模式(Publish/Subscribe)是一种消息传递模式,它允许消…...
JobHistory Server的配置和启动
在 Hadoop 集群里,JobHistory Server(JHS)负责为所有已完成的 MapReduce 作业提供元数据与 Web 可视化;只有它启动并配置正确,开发者才能通过 http://<host>:19888 查看作业的执行详情、计数器和任务日志…...
刷leetcodehot100返航版--哈希表5/5
回顾一下之前做的哈希,貌似只有用到 unordered_set:存储无序元素unordered_map:存储无序键值对 代码随想录 常用代码模板2——数据结构 - AcWing C知识回顾-CSDN博客 1.两数之和5/5【30min】 1. 两数之和 - 力扣(LeetCode&…...
【STM32 学习笔记】GPIO输入与输出
GPIO详解 一、GPIO基本概念 GPIO(通用输入输出)是微控制器与外部设备交互的核心接口,具有以下特性: 可编程控制输入/输出模式支持数字信号的读取与输出集成多种保护机制复用功能支持片上外设连接 二、GPIO位结构解析 2.1 保护二…...
网狐飞云娱乐三端源码深度实测:组件结构拆解与部署Bug复盘指南(附代码分析)
本文基于“网狐系列三网通飞云娱乐电玩”源码包,从项目结构、界面逻辑、三端兼容性、机器人机制、本地部署实践等多维角度进行全面剖析,并附录多个真实报错修复案例与源码片段。本组件适用于本地学习、框架研究与技术测试,不具备线上部署条件…...
HTML5好看的水果蔬菜在线商城网站源码系列模板9
文章目录 1.设计来源1.1 主界面1.2 商品界面1.3 购物车界面1.4 心愿列表界面1.5 商品信息界面1.6 博客界面1.7 关于我们界面1.8 联系我们界面1.9 常见问题界面1.10 登录界面 2.效果和源码2.1 动态效果2.2 源代码 源码下载万套模板,程序开发,在线开发&…...
【ArcGIS Pro微课1000例】0066:多边形要素添加折点,将曲线线段(贝塞尔、圆弧和椭圆弧)替换为线段?
文章目录 增密工具介绍举例1. 圆2. 椭圆3. 折线增密工具介绍 ArcGIS Pro中提供了【增密】工具,作用是: 沿线或多边形要素添加折点。还可将曲线线段(贝塞尔、圆弧和椭圆弧)替换为线段。 原理图如下所示: 用法: 通过距离参数对直线段进行增密。利用距离、最大偏转角或最大…...
虚拟dom是什么,他有什么好处
本编,博主将从虚拟dom是什么引出,为什么需要虚拟dom, 虚拟dom的益处 , 为什么需要Diff算法,for循环中key的作用是什么。 1.虚拟dom是什么 虚拟dom就是以js对象的形式表示真实dom结构 例如 const newVNode {type: di…...
算力经济模型推演:从中心化到去中心化算力市场的转变(区块链+智能合约的算力交易原型设计)
一、算力经济的历史脉络与范式转移 1.1 中心化算力市场的演进困境 传统算力市场以超算中心、云计算平台为核心载体,其运营模式呈现强中心化特征。中国移动构建的"四算融合"网络虽实现百万级服务器的智能调度,但动态资源分配仍受制于集中式控…...
数据结构之二叉树(4)
(注:本文所示代码均为C) 一.二叉树选择题 根据二叉树的性质,完成以下选择题: (1)第一组 某二叉树共有 399 个结点,其中有 199 个度为 2 的结点,则该二叉树中的叶子结点数为&am…...
互联网与无线广播:数字时代与模拟时代的通讯双轨制-优雅草卓伊凡
互联网与无线广播:数字时代与模拟时代的通讯双轨制-优雅草卓伊凡 一、无线广播:穿越百年的电磁波通讯 1.1 无线广播的技术本质 当卓伊凡深入研究无线广播技术后,发现这套诞生于19世纪末的通讯系统蕴含着惊人的智慧。无线广播本质上是一种单…...
Java 集合线程安全
在高并发环境下,Java集合ArrayList和HashMap读写可能会出现安全问题。其中有几个解决办法: 使用Collections类方法Collections.synchronizedList和Collections.synchronizedMap在Java并发包中提供了CopyOnWriteArrayList和ConcurrentHashMap类 一、Arr…...
解决 Builroot 系统编译 perl 编译报错问题
本文提供一种修复 Builroot 系统编译 perl 编译报错途径 2025-05-04T22:45:08 rm -f pod/perl5261delta.pod 2025-05-04T22:45:08 /usr/bin/ln -s perldelta.pod pod/perl5261delta.pod 2025-05-04T22:45:08 /usr/bin/gcc -c -DPERL_CORE -fwrapv -fpcc-struct-return -pipe -f…...
理解计算机系统_并发编程(1)_并发基础和基于进程的并发
前言 以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定 引入 并发是一种非常重要的机制,用于处理多个指令流.特别是在网…...
详细案例,集成算法
以下是一个使用 随机森林(RF) 和 XGBoost 解决结构化数据分类问题的完整案例(以泰坦尼克号生存预测为例),包含数据处理、建模和结果分析: 案例:泰坦尼克号乘客生存预测 目标:根据乘客…...
57认知干货:AI机器人产业
机器人本质上由可移动的方式和可交互万物的机构组成,即适应不同环境下不同场景的情况,机器人能够做到根据需求调整交互机构和移动方式。因此,随着人工智能技术的发展,AI机器人的产业也将在未来逐步从单一任务的执行者,发展为能够完成复杂多样任务的智能体。 在未来的社会…...
谷歌 NotebookLM 支持生成中文播客
谷歌 NotebookLM 支持生成中文播客。 2025 年 4 月 29 日,NotebookLM 宣布其 “音频概览”(Audio Overviews)功能新增 76 种语言支持,其中包括中文。用户只需将文档、笔记、研究材料等上传至 NotebookLM,然后在设置中选…...
【MySQL数据库】用户管理
目录 1,用户信息 2,创建/删除/修改用户 3,数据库的权限 MySQL数据库安装完之后,我们最开始时使用的都是 root 用户,其它用户通常无法进行操作。因此,MySQL数据库需要对用户进行管理。 1,用户…...
杜教筛原理,实现与时间复杂度分析
引例 洛谷 P4213 【模板】杜教筛 题目描述 给定一个正整数,求 a n s 1 ∑ i 1 n φ ( i ) ans_1\sum_{i1}^n\varphi(i) ans1i1∑nφ(i) a n s 2 ∑ i 1 n μ ( i ) ans_2\sum_{i1}^n \mu(i) ans2i1∑nμ(i) 输入格式 本题单测试点内有多组数据。 输入的…...
【时时三省】(C语言基础)怎样定义和引用一维数组
山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 一维数组是数组中最简单的,它的元素只需要用数组名加一个下标,就能唯一地确定。如上面介绍的学生成绩数组s就是一维数组。有的数组,其元素要指定两个下标才…...
二叉搜索树的最近祖先(递归遍历)
235. 二叉搜索树的最近公共祖先 - 力扣(LeetCode) class Solution { private:TreeNode*traversal(TreeNode*cur,TreeNode*p,TreeNode*q){if(curNULL){return NULL;}if(cur->val>p->val&&cur->val>q->val){TreeNode*lefttrave…...
蘑菇管理——AI与思维模型【94】
一、定义 蘑菇管理思维模型是一种形象地描述组织对待新员工或初入职场者的管理方式及相关现象的思维模型。它将新员工或初入职场者比作蘑菇,这些人在初期往往被置于阴暗的角落(不受重视的部门,或打杂跑腿的工作),浇上…...
Uni-app 组件使用
在前端开发领域,能够高效地创建跨平台应用是开发者们一直追求的目标。Uni-app 凭借其 “一次开发,多端部署” 的特性,成为了众多开发者的首选框架。而组件作为 Uni-app 开发的基础单元,合理运用组件能够极大地提升开发效率和代码的…...
湖北理元理律师事务所:债务优化的合规化探索
在债务处置领域,合法性与有效性往往难以兼得。湖北理元理律师事务所通过标准化服务流程设计,尝试在二者间建立平衡点,其经验为行业提供了可参考的实践样本。 四阶服务模型 1.合规审查 核查债务来源合法性,重点筛查: …...
PISI:眼图1:眼图相关基本概念
0 英文缩写 TIE(Time Interval Error)时间间隔误差,UI(Unit Interval)单位间隔PDF(Probability Density Function)概率密度函数BER(Bit Error Rate)误码率TJ(…...
初试C++报错并解决记录
初试C报错并解决记录 报错开始解决问题记录1、考虑应该是没有指定dll位置 无法打开.lib文件1. 应该是没有包含Lib文件 问题解决➡ C 文件需要添加路径的位置记录: 显示调用dll文件位置注意问题解决➡调用位置: 调用人家的.h文件的方法(项目使…...
Android运行时ART加载类和方法的过程分析
目录 一,概述 二,ART运行时的入口 一,概述 既然ART运行时执行的都是翻译DEX字节码后得到的本地机器指令了,为什么还需要在OAT文件中包含DEX文件,并且将它加载到内存去呢?这是因为ART运行时提供了Java虚拟机接口,而要实现Java虚…...
【力扣刷题记录】hot100错题本(一)
1. 简单题 我的答案:时间复杂度过高:O(N^3) class Solution:def twoSum(self, nums: List[int], target: int) -> List[int]:for num in nums:if (target - num) in nums:#多余for i in range(len(nums)):if nums[i] num :for j in range(i1,len(nu…...
Android运行时ART加载OAT文件的过程
目录 一,概述 1.1 OAT是如何产生的 一,概述 OAT文件是一种Android私有ELF文件格式,它不仅包含有从DEX文件翻译而来的本地机器指令,还包含有原来的DEX文件内容。这使得我们无需重新编译原有的APK就可以让它正常地在ART里面运行,也就是我们不…...
Python读取comsol仿真导出数据并绘图
文章目录 comsol数据导出python读取文件python绘制云图python进一步分析数据 完整代码 当我们使用comsol,ansys等仿真工具进行仿真后,难免需要对仿真结果进行导出并进一步处理分析。 今天小姜以comsol的一个简单磁场仿真为例,详细介绍如何对c…...
cloudfare+gmail 配置 smtp 邮箱
这里介绍有一个域名后,不需要服务器,就可以实现 cloudfare gmail 的 邮箱收发。 为什么还需要 gmail 的 smtp 功能,因为 cloudfare 默认只是对 email 进行转发,就是只能收邮件而不能发送邮件,故使用 gmail 的功能来进…...
【翻译、转载】使用 LLM 构建 MCP
资料来源: https://modelcontextprotocol.io/tutorials/building-mcp-with-llms 本文仅仅是翻译。 使用 LLM 构建 MCP 利用 Claude 等大型语言模型(LLM)加速您的 MCP 开发! 本指南将帮助您使用 LLM 来构建自定义的模型上下文协…...
Python速成系列二
文章目录 Python 条件语句与循环结构详解一、条件语句(if-elif-else)1. 基本 if 结构2. if-else 结构3. if-elif-else 结构4. 嵌套条件语句5. 三元表达式(条件表达式) 二、循环结构1. while 循环2. for 循环3. 循环控制语句break …...
基于STM32的心电图监测系统设计
摘要 本论文旨在设计一种基于 STM32 微控制器的心电图监测系统,通过对人体心电信号的采集、处理和分析,实现对心电图的实时监测与显示。系统采用高精度的心电信号采集模块,结合 STM32 强大的数据处理能力,能够有效去除噪声干扰&a…...
线程池的线程数配置策略
目录 1. CPU密集型任务 2. IO密集型任务 3. 混合型任务 1. CPU密集型任务 特点:任务主要消耗CPU资源(如计算、加密、压缩)。 推荐线程数: 线程数 ≈ 物理核心数 1 / CPU - 1(不知道哪个√) 例如&#…...
分享一个Android中文汉字手写输入法并带有形近字联想功能
最近我写了一个Android版本的中文汉字手写输入法功能,并实现了汉字形近字联想功能,此手写输入法功能完全满足公司的需求。 之前小编用Android SurfaceView,运用canvas的Path画坐标轨迹,并结合使用一个叫汉王输入法的so库来识别手…...
C语言:文件操作
文件的概念 文件是计算机用于存储数据的工具,我们计算机磁盘上的数据是混乱的,但是我们计算机系统通过文件的方式记录数据在磁盘上的位置来将数据整齐划分。 文件的类型 文件有两种类型,数据文件与程序文件 程序文件是用来执行的文件&#…...
2024年第十五届蓝桥杯省赛B组Python【 简洁易懂题解】
2024年第十五届蓝桥杯省赛B组Python题解 一、整体情况说明 2024年第十五届蓝桥杯省赛B组Python组考试共包含8道题目,分为结果填空题和程序设计题两类。 考试时间:4小时编程环境:Python 3.x,禁止使用第三方库,仅可使…...
线程与进程深度解析:从fork行为到生产者-消费者模型
线程与进程深度解析:从fork行为到生产者-消费者模型 一、多线程环境下的fork行为与线程安全 1. 多线程程序中fork的特殊性 核心问题:fork后子进程的线程模型 当多线程程序中的某个线程调用fork时: 子进程仅包含调用fork的线程࿱…...
2025年第十六届蓝桥杯省赛B组Java题解【完整、易懂版】
2025年第十六届蓝桥杯省赛B组Java题解 题型概览与整体分析 题目编号题目名称题型难度核心知识点通过率(预估)A逃离高塔结果填空★☆☆数学规律、模运算95%B消失的蓝宝结果填空★★★同余定理、中国剩余定理45%C电池分组编程题★★☆异或运算性质70%D魔法…...
【NTN 卫星通信】NTN关键问题的一些解决方法(一)
1 概述 3GPP在协议23.737中对一些卫星通信需要面对的关键问题进行了探讨,并且讨论了初步的解决方法,继续来看看这些内容把。 问题包括: 1、大型卫星覆盖区域的移动性管理 2、移动卫星覆盖区域的移动性管理 3、卫星延迟 4、卫星接入的QoS …...
C++基础算法9:Dijkstra
1、概念 Dijkstra算法 是一种用于计算图中单源最短路径的算法,主要用于加权图(图中边的权重可以不同)中找出从起点到各个其他节点的最短路径。 Dijkstra算法的核心概念: 图的表示: 有向图:图的边是有方…...
5块钱的无忧套餐卡可以变成流量卡吗
电信的 5 块钱无忧套餐卡理论上可以变成流量卡,但会受到一些条件限制,以下是具体介绍: 中国电信无忧卡简介 中国电信无忧卡是电信推出的低月租套餐,月租仅 5 元,包含 200M 国内流量、来电显示和 189 邮箱,全…...
word页眉去掉线
直接双击页眉处于下面状态: 然后: 按CtrlshiftN即可!去除...
Spark,Idea中编写Spark程序 2
Idea中编写Spark程序 一、修改pom.xml文件 <build><sourceDirectory>src/main/scala</sourceDirectory><testSourceDirectory>src/test/scala</testSourceDirectory> <!-- 添加必要的插件以打包scala程序--><plugins><plu…...
GTID(全局事务标识符)的深入解析
GTID(全局事务标识符)的深入解析 GTID(Global Transaction Identifier)是 MySQL 5.6 版本引入的一项核心功能,旨在解决传统主从复制中的痛点。它通过为每个事务赋予一个全局唯一的标识符,彻底改变了复制的管理方式。 一、传统复制的痛点 在 GTID 出现之前,MySQL 主从…...
Circular Plot系列(一): 环形热图绘制
针对近期多个粉丝咨询环形图的绘制,我意识到,我们似乎没有真正介绍过circle图,但这一类图确是非常常用的图,所以这里详细学习一下circle的绘制,使用的是circlize包,功能很完善:安装包, #https:/…...
字符串匹配 之 KMP算法
文章目录 习题28.找出字符串中第一个匹配项的下标1392.最长快乐前缀 本博客充分参考灵神和知乎的另一位博主 灵神KMP算法模版 知乎博主通俗易懂讲解 对于给定一个主串S和一个模式串P,如果让你求解出模式串P在主串S中匹配的情况下的所有的开始下标简单的做法又称为Brute-Force算…...