数学建模之数学模型-3:动态规划

news2025/3/15 7:57:06

文章目录

  • 动态规划
    • 基本概念
      • 阶段
      • 状态
      • 决策
      • 策略
      • 状态转移方程
      • 指标函数
      • 最优指标函数
    • 动态规划的求解
      • 前向算法
      • 后向算法
      • 二者比较
    • 应用案例
  • 一种中文分词的动态规划模型
    • 摘要
    • 引言
    • 动态规划的分词模型
      • 问题的数学描述
      • 消除状态的后效性
      • 选择优化条件
    • 算法描述和计算实例
    • 算法的效率分析和评价
    • 结束语
    • 参考文献

动态规划

基本概念

一个多阶段决策过程最优化问题的动态规划模型包括以下 6 6 6个要素:
以下是对动态规划中阶段、状态、决策、策略、状态转移方程、指标函数和最优指标函数这些基本概念更详细的解释:

阶段

  • 阶段是对整个问题的求解过程进行的划分,将一个复杂的多阶段决策问题按照时间或空间等顺序,分解为一系列相互联系的子问题,每个子问题就是一个阶段。例如,在生产计划问题中,如果按照月份来安排生产,那么每个月就可以看作是一个阶段;在资源分配问题中,将资源依次分配给不同的项目,每分配一次资源就可以看作是一个阶段。通过这种划分,可以使问题的求解更加有条理和可操作。

状态

  • 状态是描述每个阶段开始时系统所处状况的变量或变量组。它包含了在该阶段进行决策所需要的全部信息,并且具有无后效性,即一旦当前状态确定,后续的决策只取决于当前状态,而与之前是如何到达这个状态的过程无关。例如,在背包问题中,背包在每个阶段的剩余容量以及已经装入背包的物品组合情况就是状态;在最短路径问题中,某个节点表示的位置以及到达该节点时已经走过的路径长度等可以作为状态。

决策

  • 决策是在每个阶段根据当前状态所做出的选择或决定。决策的结果会使系统从一个状态转移到另一个状态。例如,在背包问题中,决定是否将某个物品放入背包就是一个决策;在生产计划问题中,决定每个月生产多少产品也是决策。决策变量通常用数学符号表示,例如在资源分配问题中,设 x i x_i xi表示分配给第 i i i个项目的资源数量, x i x_i xi就是决策变量,它的取值范围和具体取值取决于问题的约束条件和实际情况。

策略

  • 策略是由各个阶段的决策所组成的一个决策序列。它是从问题的初始阶段开始,依次经过各个中间阶段,直到最终阶段的全过程决策方案。一个策略对应着一条从初始状态到最终状态的路径。例如,在背包问题中,“先放入物品A,再放入物品C,不放入物品B”就是一个策略;在多阶段投资问题中,“第一个阶段投资项目1,第二个阶段将资金从项目1撤出并投资项目3,第三个阶段继续持有项目3的投资”也是一个策略。在所有可能的策略中,使指标函数达到最优值的策略称为最优策略。

状态转移方程

  • 状态转移方程是描述从一个阶段的状态通过决策转移到下一个阶段状态的数学表达式。它体现了状态与决策之间的关系,是动态规划算法的核心。一般形式为 s k + 1 = T ( s k , x k ) s_{k + 1}=T(s_k, x_k) sk+1=T(sk,xk),其中 s k s_k sk表示第 k k k阶段的状态, x k x_k xk表示第 k k k阶段的决策, s k + 1 s_{k + 1} sk+1表示第 k + 1 k + 1 k+1阶段的状态, T T T是一个函数,表示状态转移的规则。例如,在库存管理问题中,设 s k s_k sk为第 k k k个月初的库存数量, x k x_k xk为第 k k k个月的生产量, d k d_k dk为第 k k k个月的需求量,则状态转移方程为 s k + 1 = s k + x k − d k s_{k + 1}=s_k + x_k - d_k sk+1=sk+xkdk

指标函数

  • 指标函数是用于衡量每个阶段决策的优劣以及整个决策过程总体效果的函数。它是关于状态和决策的函数,通常表示为 V ( s k , x k , s k + 1 , ⋯   , s n ) V(s_k, x_k, s_{k + 1}, \cdots, s_n) V(sk,xk,sk+1,,sn),其中 s k , s k + 1 , ⋯   , s n s_k, s_{k + 1}, \cdots, s_n sk,sk+1,,sn是从第 k k k阶段到最终阶段的状态序列, x k x_k xk是第 k k k阶段的决策。指标函数的形式根据具体问题而定,例如在背包问题中,指标函数可以是装入背包的物品总价值;在生产计划问题中,指标函数可以是生产成本、库存成本等各种成本的总和;在最短路径问题中,指标函数可以是路径的长度。

最优指标函数

  • 最优指标函数是指从某个阶段的某个状态开始到过程结束的最优指标值所对应的函数,记为 f k ( s k ) f_k(s_k) fk(sk)。它表示在第 k k k阶段处于状态 s k s_k sk时,采取最优策略所能获得的最优指标值。例如,在背包问题中, f k ( s k ) f_k(s_k) fk(sk)表示在第 k k k个物品选择阶段,背包剩余容量为 s k s_k sk时,能获得的最大价值;在生产计划问题中, f k ( s k ) f_k(s_k) fk(sk)表示在第 k k k个月初库存为 s k s_k sk时,从第 k k k个月到最后一个月的最小成本。最优指标函数通常通过动态规划的递推关系来求解,即利用已知的后续阶段的最优指标函数值来计算当前阶段的最优指标函数值,逐步向前递推,直到求出初始阶段的最优指标函数值,从而得到整个问题的最优解。

动态规划的求解

动态规划的求解方法有前向算法和后向算法。
动态规划的前向算法和后向算法是求解动态规划问题的两种重要方法,以下从基本思想、计算过程和应用实例等方面进行介绍:

前向算法

  • 基本思想:前向算法是从问题的初始阶段开始,逐步向后推进,依次计算每个阶段的最优解,直到到达最终阶段。它基于这样的原理:对于一个多阶段决策问题,先确定第一个阶段的最优决策,然后在已知第一个阶段最优决策的基础上,确定第二个阶段的最优决策,以此类推,直到确定最后一个阶段的最优决策,从而得到整个问题的最优解。
  • 计算过程
    • 初始化:确定初始阶段的状态和最优指标函数值。例如,在一个资源分配问题中,假设初始阶段资源总量为 R R R,则初始状态可以表示为 s 1 = R s_1 = R s1=R,并根据问题的具体情况确定 f 1 ( s 1 ) f_1(s_1) f1(s1)的值,即初始阶段的最优指标函数值。
    • 递推计算:对于第 k k k阶段( k > 1 k > 1 k>1),根据状态转移方程和指标函数的定义,利用已经计算出的第 k − 1 k - 1 k1阶段的最优指标函数值 f k − 1 ( s k − 1 ) f_{k - 1}(s_{k - 1}) fk1(sk1)来计算 f k ( s k ) f_k(s_k) fk(sk)。即对于每个可能的状态 s k s_k sk和决策 x k x_k xk,计算 f k ( s k ) = max ⁡ x k { V ( s k − 1 , x k ) + f k − 1 ( s k − 1 ) } f_k(s_k)=\max_{x_k}\{V(s_{k - 1}, x_k)+f_{k - 1}(s_{k - 1})\} fk(sk)=maxxk{V(sk1,xk)+fk1(sk1)},其中 V ( s k − 1 , x k ) V(s_{k - 1}, x_k) V(sk1,xk)是第 k − 1 k - 1 k1阶段状态为 s k − 1 s_{k - 1} sk1时采取决策 x k x_k xk所获得的阶段指标值。
    • 得到最优解:重复上述递推过程,直到计算出最后一个阶段 n n n的最优指标函数值 f n ( s n ) f_n(s_n) fn(sn),此时 f n ( s n ) f_n(s_n) fn(sn)就是整个问题的最优解,对应的决策序列就是最优策略。
  • 应用实例:在投资决策问题中,假设你有一定的资金,要在多个时间段内决定对不同项目的投资金额,以获取最大收益。可以使用前向算法,从第一个时间段开始,依次计算在每个时间段不同资金状态下的最优投资策略和最大收益,最终得到整个投资过程的最优方案。

后向算法

  • 基本思想:后向算法则是从问题的最终阶段开始,逐步向前回溯,依次计算每个阶段的最优解。它的核心思想是先考虑最后一个阶段的最优决策,然后在已知最后一个阶段最优决策的情况下,确定倒数第二个阶段的最优决策,以此类推,直到确定第一个阶段的最优决策,从而得到整个问题的最优解。
  • 计算过程
    • 初始化:确定最终阶段的状态和最优指标函数值。例如,在一个生产计划问题中,假设最后一个阶段 n n n的需求为 D n D_n Dn,生产能力为 C n C_n Cn,则最终阶段的状态可以表示为 s n = D n s_n = D_n sn=Dn,并根据问题的实际情况确定 f n ( s n ) f_n(s_n) fn(sn)的值,即最终阶段的最优指标函数值,通常 f n ( s n ) = 0 f_n(s_n)=0 fn(sn)=0或根据具体问题有特定的取值。
    • 递推计算:对于第 k k k阶段( k < n k < n k<n),根据状态转移方程和指标函数的定义,利用已经计算出的第 k + 1 k + 1 k+1阶段的最优指标函数值 f k + 1 ( s k + 1 ) f_{k + 1}(s_{k + 1}) fk+1(sk+1)来计算 f k ( s k ) f_k(s_k) fk(sk)。即对于每个可能的状态 s k s_k sk和决策 x k x_k xk,计算 f k ( s k ) = max ⁡ x k { V ( s k , x k ) + f k + 1 ( s k + 1 ) } f_k(s_k)=\max_{x_k}\{V(s_k, x_k)+f_{k + 1}(s_{k + 1})\} fk(sk)=maxxk{V(sk,xk)+fk+1(sk+1)},其中 V ( s k , x k ) V(s_k, x_k) V(sk,xk)是第 k k k阶段状态为 s k s_k sk时采取决策 x k x_k xk所获得的阶段指标值, s k + 1 = T ( s k , x k ) s_{k + 1}=T(s_k, x_k) sk+1=T(sk,xk)是状态转移方程。
    • 得到最优解:重复上述递推过程,直到计算出第一个阶段的最优指标函数值 f 1 ( s 1 ) f_1(s_1) f1(s1),此时 f 1 ( s 1 ) f_1(s_1) f1(s1)就是整个问题的最优解,对应的决策序列就是最优策略。
  • 应用实例:在背包问题中,假设有一个容量为 W W W的背包和 n n n个物品,每个物品有重量和价值。使用后向算法,从最后一个物品开始考虑,依次计算在不同背包剩余容量状态下,选择不同物品组合时的最大价值,最终确定在初始背包容量为 W W W时的最优物品选择方案。

二者比较

  • 计算顺序:前向算法是从前往后计算,先处理初始阶段,逐步向后推进;后向算法是从后往前计算,先处理最终阶段,逐步向前回溯。
  • 适用场景:一般来说,当前阶段的决策依赖于之前阶段的结果,且问题的初始条件明确时,前向算法可能更自然和直观;而当问题的最终状态比较明确,且后续阶段的决策对当前阶段有较大影响时,后向算法可能更便于理解和计算。


应用案例

一种中文分词的动态规划模型

贾利新
信息工程大学


摘要

基于动态规划,利用反向搜索的方法,通过计算词语的最大“花费”给出了中文文本的切分算法,从而建立了一个能够消除中文分词中切分歧义的中文分词模型。通过对模型中算法求解的运行效率及空间耗费进行分析得出,在统计意义上,该算法具有接近与文本规模成线性关系的复杂度,空间的耗费是常数规模的。

关键词: 自然语言;动态规划;算法;分词


引言

自动分词是计算机中文信息处理领域中一个基础而困难的课题。对以英文为代表的西方语言进行分词比较便利,因为在这些语言中,其基础单位是单词,单词与单词之间有空格,按空格就能对语言进行切分。而中文词与词之间没有空格,机器的自动处理就会变得困难。

中文分词中比较难处理的问题是消除歧义。文献 [1] 描述了多种实用的字符串搜索方法,文献 [2, 3] 介绍了动态规划建模的普遍方法,文献 [4] 介绍了一种采用“长词优先”的方法消除歧义。本文采用动态规划,用反向搜索的方法,通过计算对词语描述“花费”的最大值,来切分中文文本。


动态规划的分词模型

问题的数学描述

设汉字的字符集为 σ \sigma σ,在本文中 x y xy xy 表示字符串 x x x y y y 的拼接。给定字符串 x x x y y y z z z,则 x x x x y xy xy 的前缀, y y y x y xy xy 的后缀, x x x y x z yxz yxz 的一个因子。

要分析的文本可以表述为:
T = a 1 a 2 ⋯ a n , a i ∈ σ , i = 1 , 2 , ⋯   , n T = a_1a_2\cdots a_n, \quad a_i \in \sigma, \quad i = 1, 2, \cdots, n T=a1a2an,aiσ,i=1,2,,n

P = { ( ω , V ( ω ) ) ∣ ω  表示字符串 , V ( ω ) ∈ R + } P = \{ (\omega, V(\omega)) \mid \omega \text{ 表示字符串}, V(\omega) \in \mathbb{R}^+ \} P={(ω,V(ω))ω 表示字符串,V(ω)R+} V ( ω ) V(\omega) V(ω) 表示词语 ω \omega ω 的花费。“花费”是对词语的词频取对数的绝对值得到的。因为后面计算用到的乘法使得积的位数过大,所以通过取对数,把词频的乘法计算变成了对“花费”的加法计算。

以词语“汽车和服装”为例,表 1 给出了这个词语中元素前后搭配的权重关系,竖向字符在前,横向字符在后。

13111
11111
11111
11213
13111

表 1:词语中元素前后搭配的权重关系表

将词语按照从样本中统计出的“花费”进行排序,经过整理得到词语的转移关系,示例见表 2。

词语组合花费
汽,车3.0
和,服2.0
服,装3.0
装,车3.0

表 2:词语的转移关系表

V ( a 1 , a 2 ) V(a_1, a_2) V(a1,a2) 表示词组的“花费”。从表 2 可以看出,存在以下有效的花费: V ( 汽 , 车 ) = 3.0 V(\text{汽}, \text{车}) = 3.0 V(,)=3.0 V ( 和 , 服 ) = 2.0 V(\text{和}, \text{服}) = 2.0 V(,)=2.0 V ( 服 , 装 ) = 3.0 V(\text{服}, \text{装}) = 3.0 V(,)=3.0 V ( 装 , 车 ) = 3.0 V(\text{装}, \text{车}) = 3.0 V(,)=3.0,其他的组合不构成词组。分词问题就是将文本 T T T 规划成由多个词语组成的排列,以 T = ω 1 ω 2 ω 3 ⋯ ω l T = \omega_1\omega_2\omega_3\cdots\omega_l T=ω1ω2ω3ωl 表示, l l l 为切分后的词语数,使得指标函数:
V ( T ) = ∑ i = 1 l V ( ω i ) , ( ω i , V ( ω i ) ) ∈ P V(T) = \sum_{i = 1}^l V(\omega_i), \quad (\omega_i, V(\omega_i)) \in P V(T)=i=1lV(ωi),(ωi,V(ωi))P
取到全局最大值。


消除状态的后效性

用一个状态转换的自动机来处理文本。对于文本 T = a 1 a 2 a 3 ⋯ a n T = a_{1}a_{2}a_{3}\cdots a_{n} T=a1a2a3an,从文本的开始起,在第 k k k 个位置,读入字符 a k a_{k} ak,状态进行相应的变化。用 s k s_{k} sk 表示当处于读入字符 a k a_{k} ak 时的状态, s k s_{k} sk 中包含了多个可选的元素,每个元素表示一种待选切分序列。通过设计决策函数和筛选条件,保证序列的马尔可夫性,从而消除后效性。


选择优化条件

通过设计决策函数、筛选条件和递推公式,实现动态规划的最优化。状态转移方程为:
s k + 1 = s k ∪ { u ( s k ) u ‾ ( s k ) } − { ( U 1 ∩ U 2 ) ∪ ( U 1 ∩ U 3 ) } s_{k + 1}=s_{k} \cup \{u(s_{k})\overline{u}(s_{k})\}-\{(U_{1} \cap U_{2}) \cup (U_{1} \cap U_{3})\} sk+1=sk{u(sk)u(sk)}{(U1U2)(U1U3)}
指标函数和递推公式为:
v k ( s k , u k ) = { 0 , U 1 ∩ U 2 = ∅ V ( u k ( s k ) ) , U 1 ∩ U 2 ≠ ∅ v_{k}(s_{k}, u_{k})=\begin{cases} 0, & U_{1} \cap U_{2}=\varnothing \\ V(u_{k}(s_{k})), & U_{1} \cap U_{2} \neq \varnothing \end{cases} vk(sk,uk)={0,V(uk(sk)),U1U2=U1U2=
f k ( s k ) = v k ( s k , u k ) + f k − 1 ( s k − 1 ) f_{k}(s_{k})=v_{k}(s_{k}, u_{k})+f_{k - 1}(s_{k - 1}) fk(sk)=vk(sk,uk)+fk1(sk1)


算法描述和计算实例

算法步骤如下:

  1. 设定初始状态;
  2. 读入一个字符,若为终结符则输出结果,否则继续;
  3. 计算当前步骤的决策函数;
  4. 排除非最优中间方案,存储可选切分方案;
  5. 重复执行步骤 2-4。

以“汽车和服装$”为例,算法运行过程如下:

  1. 初始状态 f 0 ( s 0 ) = 0 f_0(s_0) = 0 f0(s0)=0,读入“汽”字, s 1 = { ( 汽 ) } s_1 = \{(\text{汽})\} s1={()}
  2. 读入“车”字, s 2 = { ( 汽 , 车 ) , ( 汽车 ) } s_2 = \{(\text{汽}, \text{车}), (\text{汽车})\} s2={(,),(汽车)}
  3. 读入“和”字, s 3 = { ( 汽车 , 和 ) , ( 汽 , 车和 ) } s_3 = \{(\text{汽车}, \text{和}), (\text{汽}, \text{车和})\} s3={(汽车,),(,车和)}
  4. 读入“服”字, s 4 = { ( 汽 , 车 , 和 , 服 ) , ( 汽 , 车 , 和服 ) } s_4 = \{(\text{汽}, \text{车}, \text{和}, \text{服}), (\text{汽}, \text{车}, \text{和服})\} s4={(,,,),(,,和服)}
  5. 读入“装”字, s 5 = { ( 汽 , 车 , 和 , 服装 ) } s_5 = \{(\text{汽}, \text{车}, \text{和}, \text{服装})\} s5={(,,,服装)}
  6. 读入终结符“$”,输出结果“汽车 和 服装”。

算法的效率分析和评价

该动态规划模型的时间复杂度接近线性 O ( N ) O(N) O(N),空间复杂度为常数级,适合处理大规模文本。其优点包括流式处理能力和对长文本的高效支持,尤其适用于搜索引擎等场景。词频统计过程需独立运行,但结果可复用。


结束语

本文提出了一种基于动态规划的中文分词模型,通过局部极值优化和状态筛选,有效消除切分歧义。该模型具有实践意义,但实际应用和性能评测仍需进一步研究。


参考文献

  1. Navarro G, Raffinot M. Flexible pattern matching in string: practical on - line search algorithms for texts and biological sequences[M]. 中科院计算所网络信息安全研究组译. 北京: 电子工业出版社, 2007.
  2. 运筹学教材编写组. 运筹学[M]. 北京: 清华大学出版社, 2005: 191 - 203.
  3. 韩中庚. 数学建模方法及其应用[M]. 北京: 高等教育出版社, 2005: 220 - 237.
  4. 王显芳, 杜利民. 一种能够检测所有交叉歧义的汉语分词算法[J]. 电子学报, 2004, 32(1): 51 - 54.

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

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

相关文章

韦伯望远镜的拉格朗日点计算推导过程,包含MATLAB和python运动轨迹仿真代码

研究过程 起源与提出&#xff1a;1687 年牛顿提出 “三体问题”&#xff0c;旨在研究三个可视为质点的天体在相互之间万有引力作用下的运动规律&#xff0c;但因运动方程过于复杂&#xff0c;难以得到完全解。欧拉的贡献1&#xff1a;1767 年&#xff0c;瑞士数学家莱昂哈德・…

STM32 RS232通信开发全解析 | 零基础入门STM32第五十九步

主题内容教学目的/扩展视频RS232串口电路原理&#xff0c;跳线设置&#xff0c;驱动程序。与超级终端通信。了解电路原理和RS232协议。 师从洋桃电子&#xff0c;杜洋老师 &#x1f4d1;文章目录 一、RS232通信系统架构二、RS232核心原理与硬件设计2.1 电气特性对比2.2 典型电路…

C# net deepseek RAG AI开发 全流程 介绍

deepseek本地部署教程及net开发对接 步骤详解&#xff1a;安装教程及net开发对接全流程介绍 DeepSeekRAG 中的 RAG&#xff0c;全称是 Retrieval-Augmented Generation&#xff08;检索增强生成&#xff09;&#xff0c;是一种结合外部知识库检索与大模型生成能力的技术架构。其…

建筑管理(2): 施工承包模式,工程监理,质量监督

文章目录 一. 施工承包模式1. 施工总承包模式1.1 施工总承包的特点1.2 施工总承包模式中的承包方 2. 平行承包模式3. 联合体与合作体承包模式 二. 工程监理1. 强制实行监理的工程范围1.1 国家重点建设工程1.2 大中型公用事业工程(重点)1.3 成片开发建设的住宅小区工程1.4 必须实…

最节省服务器,手搓电子证书查询系统

用户预算150元&#xff0c;想要一个最简单证书查询系统。前台能查询证书、后台管理员能登录能修改密码&#xff0c;证书能够手动输入修改删除、批量导入导出删除数据、查询搜索。能够兼容苹果、安卓、PC三端浏览器&#xff0c;最后帮忙部署到云服务器上。 用户预算不多&#xf…

STM32F407 IIC通信

1、IIC 介绍 IIC(Inter-Integrated Circuit)总线是一种由数据线 SDA 和时钟线 SCL 构成的两线式串行总线,可发送和接收数据,常用于 MPU/MCU 与外部设备连接通信、数据传输。每个连接到总线的设备都有一个独立的地址,主机可以通过该地址来访问不同设备。因为 IIC 协议比较简单…

jupyter无法转换为PDF,HTMLnbconvert failed: Pandoc wasn‘t found.

无法转为PDF 手动下载工具 https://github.com/jgm/pandoc/releases/tag/3.6.3 似乎跟我想的不大一样&#xff0c;还有新的报错 https://nbconvert.readthedocs.io/en/latest/install.html#installing-tex 不知道下的啥玩意儿 sudo apt-get install texlive-xetex texlive-fon…

使用 Excel 实现绩效看板的自动化

引言 在日常工作中&#xff0c;团队的绩效监控和管理是确保项目顺利进行的重要环节。然而&#xff0c;面临着以下问题&#xff1a; ​数据分散&#xff1a;系统中的数据难以汇总&#xff0c;缺乏一个宏观的团队执行情况视图。​看板缺失&#xff1a;系统本身可能无法提供合适…

vue3怎么和大模型交互?

引言 平时我们都是用的在线的AI工具&#xff0c;直接输入问题&#xff0c;然后AI回答我们&#xff0c;那么怎么把AI接入项目中呢&#xff1f; 这个问题问得好。 方案一&#xff1a;引入第三方已封装好的UI库方案二&#xff1a;自己写 对于方案一&#xff0c;市面上已有一些…

【网络编程】HTTP网络编程

13.1 HTTP 简介 HTTP(Hyper Text Transfer Protocol,超文本传输协议)是用于从万维网(WWW:World Wide Web) 服务器(简称Web 服务器)传输超文本到本地浏览器的传送协议&#xff0c;基于TCP/IP 通信协 议来传递数据 (HTML 文件、图片文件、查询结果等)。 13.2 HTTP 的工作原理 …

【Qt】QWidget属性介绍

&#x1f3e0;个人主页&#xff1a;Yui_ &#x1f351;操作环境&#xff1a;Qt Creator &#x1f680;所属专栏&#xff1a;Qt 文章目录 前言1. enabled属性2.geometry属性2.1 改变控件位置2.2 女神表白程序2.3 知识补充——window frame 3. windowsTitle属性4. windowIcon属性…

『Rust』Rust运行环境搭建

文章目录 rust编译工具rustupVisual Studio VS Code测试编译手动编译VSCode编译配置 参考完 rust编译工具rustup https://www.rust-lang.org/zh-CN/tools/install 换源 RUSTUP_DIST_SERVER https://rsproxy.cn RUSTUP_UPDATE_ROOT https://rsproxy.cn修改rustup和cargo的安…

vue/react/vite前端项目打包的时候加上时间最简单版本,防止后端扯皮

如果你是vite项目&#xff0c;直接写一个vite的插件&#xff0c;通过这个插件可以动态注入环境变量&#xff0c;然后当打包的时候&#xff0c;自动注入这个时间到环境变量中&#xff0c;然后在项目中App.vue中或者Main.tsx中打印出来&#xff0c;这就知道是什么时候编译的项目了…

Cadence学习笔记3

设置 PCB 层叠 初始我们有一个两层板&#xff0c;如果需要添加层叠怎么办&#xff1f; 点击进入层叠设置 首先右击 TOP 层下面的空白&#xff0c;然后鼠标右键进行 add layer 然后选择 Plane(一般层就是这个&#xff09; 就好 然后 add就行 设置光标显示形式 在 setup ->…

Linux系统下如何部署svmspro平台

上传svmspro服务 rz回车后选择svmspro.zip上传如果提示rz命令未找到&#xff0c;请先运行 yum install -y lrzsz 安装将svmspro.zip解压出来&#xff0c;并拷贝到/usr/目录下&#xff0c;命令如下&#xff1a; unzip svmspro.zip//解压程序包cp svmspro /usr/ -r//将svmspro文件…

vue3:八、登录界面实现-忘记密码

一、页面效果 二、实现 1、视图层 <el-form-item class"flex flex-between"><el-checkbox label"记住密码" v-model"remember" /> </el-form-item> 参考 Checkbox 多选框 | Element Plus 2、逻辑层 首先设置记住密码的变…

el-table树形表格合并相同的值

el-table树形表格合并相同的值 el-table树形表格合并相同的值让Ai进行优化后的代码 el-table树形表格合并相同的值 <style lang"scss" scoped> .tableBox {/deep/ &.el-table th:first-child,/deep/ &.el-table td:first-child {padding-left: 0;} } …

Apache Tomcat漏洞,对其进行升级

我们付出一些成本&#xff0c;时间的或者其他&#xff0c;最终总能收获一些什么。 升级背景&#xff1a; 近日&#xff0c;新华三盾山实验室监测到 Apache 官方修复了一个远程代码执行漏洞 (CVE-2025-24813) &#xff0c;其CVSS3 漏洞评分为 7.5 。 影响范围 9.0.0.M1 ≤…

工程实践:如何使用SU17无人机来实现室内巡检任务

阿木实验室最近发布了科研开发者版本的无人机SU17&#xff0c;该无人机上集成了四目视觉&#xff0c;三维激光雷达&#xff0c;云台吊舱&#xff0c;高算力的机载计算机&#xff0c;是一个非常合适的平台用于室内外巡检场景。同时阿木实验室维护了多个和无人机相关的开源项目。…

OSPF-3 1类LSA Router LSA

前面两期我们介绍了OSPF的邻居与邻接建立的关系及失败因素和原因 这章我们来说说OSPF是如何通过不同的LSA去描述拓扑的信息以及路由信息 一、概述 OSPF通过不同的LSA来构成LSDB链路状态数据库,再通过SPF算法来计算出最优的最短路径 二、LSA的分类 类型名称描述传播范围1类…