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

Center Smoothing Certified Robustness for Networks with Structured Outputs

文章目录

  • Center Smoothing: Certified Robustness for Networks with Structured Outputs
  • Summary
  • Research Objective
  • Problem Statement
  • Methods
  • Evaluation
  • Conclusion
  • Notes
    • Gaussian Smoothing
    • 常用希腊字母
    • 霍夫丁不等式(Hoeffding's inequality)
    • 1.简述
    • 2.霍夫丁不等式
    • 2.1.伯努利随机变量特例
    • 2.2.一般形式

Center Smoothing: Certified Robustness for Networks with Structured Outputs

中心平滑:经过认证的具有结构化输出的网络的鲁棒性

image-20230401192545215

Summary

写完笔记之后最后填,概述文章的内容,以后查阅笔记的时候先看这一段。

center smooth:对于给定的输入 x x x 与函数 f f f,以及对 x x x l 2 l_2 l2 扰动半径 ϵ 1 \epsilon_1 ϵ1。中心平滑的目的是:在输出空间中计算一个最小半径为 r r r 的包围球,该球的球心为 f ˉ ( x ) \bar{f}(\boldsymbol{x}) fˉ(x),这时候的最小包围球包含至少一半的 f ( x + N ( 0 , σ c s 2 I ) ) f\left(\boldsymbol{x}+\mathcal{N}\left(0, \sigma_{c s}^2 I\right)\right) f(x+N(0,σcs2I))。这时候的 f ˉ \bar{f} fˉ f f f 平滑函数, f ˉ ( x ) \bar{f}(\boldsymbol{x}) fˉ(x) f ( x ) f(x) f(x)在点 x x x 的平滑输出结果。整个过程如下表示:
∀ x ′ s.t.  ∥ x − x ′ ∥ 2 ≤ ϵ 1 , d ( f ˉ ( x ) , f ˉ ( x ′ ) ) ≤ ϵ 2 \forall x^{\prime} \text { s.t. }\left\|x-x^{\prime}\right\|_2 \leq \epsilon_1, d\left(\bar{f}(x), \bar{f}\left(x^{\prime}\right)\right) \leq \epsilon_2 x s.t. xx2ϵ1,d(fˉ(x),fˉ(x))ϵ2
意义在于:给定输入的扰动范围为 ϵ 1 \epsilon_1 ϵ1,经过平滑后的 f ˉ \bar{f} fˉ 能可证明地保证输出变化在 $ \epsilon_2$ 内。解决了 Randomized Smoothing只能局限于具有一维实值输出的分类任务和模型,从而能扩展到可证明的结构化输出(图像、文本、集合)问题。

Research Objective

作者的研究目标。

结构化输出(图像、文本、集合)的可证明鲁棒性

Problem Statement

问题陈述,要解决什么问题?

  1. 对于图像、文本、集合等结构化输出的问题,可证明的鲁棒性的目标是什么并不是很明显。
  2. 可证明的对抗鲁棒性研究主要局限于研究具有一维实值输出的分类任务和模型

Methods

解决问题的方法/算法是什么?

  1. center smoothing:对于给定的输入 x x x,中心平滑使用高斯平滑分布对 x x x 附近的一组点进行采样,计算每个点上的函数值 f ( x ) f(x) f(x),并返回包含输出中至少一半点的最小球的中心空间。
  2. 为了优化上述问题,通过计算与样本中所有其他点的中值距离最小的点来近似中心空间的位置。

定义 P \mathcal P P f f f 的平滑版本 f ˉ \bar{f} fˉ 作为在 M M M 中半径最小的球的中心,该球至少包含一半的 f ( x + P ) f (x + \mathcal P) f(x+P) 概率质量:
f ˉ P ( x ) = argmin ⁡ z r s.t.  P [ f ( X ) ∈ B ( z , r ) ] ≥ 1 2 \bar{f}_{\mathcal{P}}(x)=\underset{z}{\operatorname{argmin}} r \text { s.t. } \mathbb{P}[f(X) \in \mathcal{B}(z, r)] \geq \frac{1}{2} fˉP(x)=zargminr s.t. P[f(X)B(z,r)]21
B ( z , r ) = { z ′ ∣ d ( z , z ′ ) ≤ r } \mathcal{B}(z, r)=\left\{z^{\prime} \mid d\left(z, z^{\prime}\right) \leq r\right\} B(z,r)={zd(z,z)r}

  1. f ˉ \bar{f} fˉ f f f 的平滑版本, f ( x ) f(x) f(x) M M M中的一个输出元素
  2. P \mathcal P P 为平滑噪音的分布, δ \delta δ为每一个采样
  3. z z z 为输出空间 M M M 中的一个元素
  4. X = x + P X=x+\mathcal P X=x+P代表 x + δ x+\delta x+δ的概率分布,对于输入空间 D \mathcal D D 中的一个元素采样 x x x, 对其进行加平滑噪音

center smooth
∀ x ′ s.t.  ∥ x − x ′ ∥ 2 ≤ ϵ 1 , P [ f ( X ′ ) ∈ B ( f ˉ ( x ) , R ) ] > 1 2 \forall x^{\prime} \text { s.t. }\left\|x-x^{\prime}\right\|_2 \leq \epsilon_1, \mathbb{P}\left[f\left(X^{\prime}\right) \in \mathcal{B}(\bar{f}(x), R)\right]>\frac{1}{2} x s.t. xx2ϵ1,P[f(X)B(fˉ(x),R)]>21

d ( f ˉ ( x ) , f ˉ ( x ′ ) ) ≤ 2 R d\left(\bar{f}(x), \bar{f}\left(x^{\prime}\right)\right) \leq 2 R d(fˉ(x),fˉ(x))2R

d ( f ˉ ( x ) , f ˉ ( x ′ ) ) ≤ d ( f ˉ ( x ) , y ) + d ( y , f ˉ ( x ′ ) ) ≤ R + r ∗ ( x ′ ) \begin{aligned} d\left(\bar{f}(x), \bar{f}\left(x^{\prime}\right)\right) & \leq d(\bar{f}(x), y)+d\left(y, \bar{f}\left(x^{\prime}\right)\right) \\ & \leq R+r^*\left(x^{\prime}\right) \end{aligned} d(fˉ(x),fˉ(x))d(fˉ(x),y)+d(y,fˉ(x))R+r(x)

r ∗ ( x ′ ) ≤ R r^*\left(x^{\prime}\right) \leq R r(x)R

image-20230401204726402

B ( f ˉ ( x ′ ) , r ∗ ( x ′ ) ) \mathcal{B}(\bar{f}(x'),r^*(x')) B(fˉ(x),r(x)) f ˉ ( x ′ ) \bar{f}(x') fˉ(x) 为半径最小的球的中心,至少包含 f ( x ′ + P ) f (x' + P) f(x+P) 概率质量的一半 r ∗ ( x ′ ) r^*(x') r(x) 为最小半径的值

$ \mathcal{B}(\bar{f}(x),R) : : \bar{f}(x)$ 为球的中心,对于所有满足 ∥ x − x ′ ∥ 2 ≤ ⋅ ϵ 1 \|x-x'\|_2\overset{\cdot}{\leq}\epsilon_1 xx2ϵ1 x ′ x′ x,包含 f ( x ′ + P ) f (x′ + P) f(x+P) 的概率质量的一半以上 R R R 为球的半径。

上述结果从理论上为我们提供了 f f f 的平滑版本 f ˉ \bar{f} fˉ,具有可证明的鲁棒性保证。因为经过平滑后的 f ˉ ( x ) \bar{f}(x) fˉ(x)与所有 f ( x + N ( 0 , σ c s 2 I ) ) f\left(\boldsymbol{x}+\mathcal{N}\left(0, \sigma_{c s}^2 I\right)\right) f(x+N(0,σcs2I))的中心距离能够被bound住,因为一个对抗扰动很难去改变 f ( x + N ( 0 , σ c s 2 I ) ) f\left(\boldsymbol{x}+\mathcal{N}\left(0, \sigma_{c s}^2 I\right)\right) f(x+N(0,σcs2I))的中心,所以平滑版本的 f ˉ \bar{f} fˉ能够保证输出的变化的上限。

image-20230416213754765

Evaluation

作者如何评估自己的方法,有没有问题或者可以借鉴的地方。

Conclusion

作者给了哪些strong conclusion, 又给了哪些weak conclusion?

Notes

在这些框架外额外需要记录的笔记。

Gaussian Smoothing

h ˉ ( x ) = argmax ⁡ c ∈ Y P [ h ( x + δ ) = c ] \bar{h}(x)=\underset{c \in \mathcal{Y}}{\operatorname{argmax}} \mathbb{P}[h(x+\delta)=c] hˉ(x)=cYargmaxP[h(x+δ)=c]

p ϵ = Φ ( Φ − 1 ( p ) − ϵ / σ ) p_\epsilon=\Phi\left(\Phi^{-1}(p)-\epsilon / \sigma\right) pϵ=Φ(Φ1(p)ϵ/σ)

累计分布函数 Φ \Phi Φ(CDF)是概率分布函数(PDF)的积分。这很好理解。

逆累计分布函数 Φ − 1 \Phi^{-1} Φ1(ICDF)简单地说,是累计分布函数的反函数。

CDF:已知横轴(某一事件)(值)求纵轴(概率);

ICDF:已知纵轴(概率)求横轴(某一事件)(值);

常用希腊字母

以下是常用希腊字母及其在数学、统计学和科学中的读法:

  • α (alpha):常用表示显著性水平,一般读作 “阿尔法”。
  • β (beta):常用表示回归系数或错误率,读作 “贝塔”。
  • γ (gamma):常用表示形状参数或比率,读作 “伽玛”。
  • δ (delta):常用表示误差或变化量,读作 “德尔塔”。
  • ε (epsilon):常用表示小量或误差项,读作 “艾普西隆”。
  • ζ (zeta):常用表示 Riemann zeta 函数,读作 “泽塔”。
  • η (eta):常用表示效应量或预测误差,读作 “艾塔”。
  • θ (theta):常用表示角度或参数,读作 “西塔”。
  • κ (kappa):常用表示柯西分布或相关系数,读作 “卡帕”。
  • λ (lambda):常用表示特征值或密度函数,读作 “兰姆达”。
  • μ (mu):常用表示均值或期望值,读作 “缪”。
  • ν (nu):常用表示自由度或频率,读作 “纽”。
  • ξ (xi):常用表示方差或未知量,读作 “克西”。
  • π (pi):常用表示圆周率或概率密度函数,读作 “派”。
  • ρ (rho):常用表示相关系数或密度函数,读作 “柔”。
  • σ (sigma):常用表示标准差或方差,读作 “西格玛”。
  • τ (tau):常用表示 Kendall tau 相关系数或时间常数,读作 “陶”。
  • υ (upsilon):常用表示假设检验中的自由度,读作 “宇普西隆”。
  • φ (phi):常用表示正态分布的概率密度函数,读作 “斐”。
  • χ (chi):常用表示卡方分布,读作 “卡伊”。
  • ψ (psi):常用表示角度函数或叶赛尔函数,读作 “普赛”。
  • ω (omega):常用表示角频率或参数,读作 “欧米伽”。

霍夫丁不等式(Hoeffding’s inequality)

1.简述

在概率论中,霍夫丁不等式给出了随机变量的和与其期望值偏差的概率上限,该不等式被Wassily Hoeffding于1963年提出并证明。霍夫丁不等式是Azuma-Hoeffding不等式的特例,它比Sergei Bernstein于1923年证明的Bernstein不等式更具一般性。这几个不等式都是McDiarmid不等式的特例。

2.霍夫丁不等式

2.1.伯努利随机变量特例

掷硬币,假设正面朝上概率为 p ,反面朝上概率为 1-p ,投掷 n 次,则正面朝上次数的期望值为 np 。更进一步,有以下不等式:
P ( H ( n ) ≤ k ) = ∑ i = 0 k ( n i ) p i ( 1 − p ) n − i P(H(n) \le k)=\sum_{i=0}^k \binom{n}{i} p^i (1-p)^{n-i}\\ P(H(n)k)=i=0k(in)pi(1p)ni
其中, H(n) 是 n 次投掷中,正面朝上的次数。

对某一 ε > 0 \varepsilon>0 ε>0 ,有 k = ( p − ε ) n k=(p-\varepsilon)n k=(pε)n ,上述不等式确定的霍夫丁上界将会按照指数级变化:
P ( H ( n ) ≤ ( p − ε ) n ) ≤ e x p ( − 2 ε 2 n ) ( 2.1.1 ) P(H(n) \le (p-\varepsilon)n) \le exp(-2 \varepsilon^2n) \quad (2.1.1)\\ P(H(n)(pε)n)exp(2ε2n)(2.1.1)
类似地,可以得到:
P ( H ( n ) ≥ ( p + ε ) n ) ≤ e x p ( − 2 ε 2 n ) ( 2.1.2 ) P(H(n) \ge (p+\varepsilon)n) \le exp(-2 \varepsilon^2n) \quad (2.1.2)\\ P(H(n)(p+ε)n)exp(2ε2n)(2.1.2)
综合(2.1.1)(2.1.2),可得:
P ( ( p − ε ) n ≤ H ( n ) ≤ ( p + ε ) n ) ≥ 1 − 2 e x p ( − 2 ε 2 n ) ( 2.1.3 ) P((p-\varepsilon)n\le H(n) \le (p+\varepsilon)n) \ge 1-2exp(-2 \varepsilon^2n) \quad (2.1.3)\\ P((pε)nH(n)(p+ε)n)12exp(2ε2n)(2.1.3)
ε = ln ⁡ n / n \varepsilon=\sqrt{\ln{n}/n} ε=lnn/n ,代入(2.1.3),有:
P ( ∣ H ( n ) − p n ∣ ≤ ln ⁡ n / n ) ≥ 1 − 2 e x p ( − 2 ln ⁡ n ) = 1 − 2 / n 2 ( 2.1.4 ) P(|H(n)-pn|\le \sqrt{\ln{n}/n})\ge 1-2exp(-2\ln n)=1-2/n^2 \quad (2.1.4) P(H(n)pnlnn/n )12exp(2lnn)=12/n2(2.1.4)
(2.1.4)即为霍夫丁不等式的伯努利随机变量特例。

2.2.一般形式

X 1 , … , X n X_1,\dots,X_n X1Xn 为独立的随机变量,且 X i ∈ [ a , b ] , i = 1 , … , n X_i\in[a,b] , i=1,\dots,n Xi[a,b]i=1n 。这些随机变量的经验均值可表示为:
X ˉ = X 1 + ⋯ + X n n \bar{X}=\frac{X_1+\dots+X_n}{n}\\ Xˉ=nX1++Xn
霍夫丁不等式叙述如下:
∀ t > 0 , P ( X ˉ − E [ X ˉ ] ≥ t ) ≤ e x p ( − 2 n 2 t 2 ∑ i = 1 n ( b i − a i ) 2 ) ( 2.2.1 ) \forall{t>0},\quad P(\bar{X}-E[\bar{X}]\ge t)\le exp(-\frac{2n^2t^2}{\begin{matrix} \sum_{i=1}^n (b_i-a_i)^2 \end{matrix}}) \quad(2.2.1)\\ t>0P(XˉE[Xˉ]t)exp(i=1n(biai)22n2t2)(2.2.1)
X ˉ = − X ˉ \bar{X}=-\bar{X} Xˉ=Xˉ ,代入上述不等式,可得:
∀ t > 0 , P ( E [ X ˉ ] − X ˉ ≥ t ) ≤ e x p ( − 2 n 2 t 2 ∑ i = 1 n ( b i − a i ) 2 ) ( 2.2.2 ) \forall{t>0},\quad P(E[\bar{X}]-\bar{X}\ge t)\le exp(-\frac{2n^2t^2}{\begin{matrix} \sum_{i=1}^n (b_i-a_i)^2 \end{matrix}}) \quad (2.2.2)\\ t>0P(E[Xˉ]Xˉt)exp(i=1n(biai)22n2t2)(2.2.2)
综合(2.2.1)(2.2.2),可得霍夫丁不等式的另一种形式:
∀ t > 0 , P ( ∣ X ˉ − E [ X ˉ ] ∣ ≥ t ) ≤ 2 e x p ( − 2 n 2 t 2 ∑ i = 1 n ( b i − a i ) 2 ) ( 2.2.3 ) \forall{t>0},\quad P(|\bar{X}-E[\bar{X}]|\ge t)\le 2exp(-\frac{2n^2t^2}{\begin{matrix} \sum_{i=1}^n (b_i-a_i)^2 \end{matrix}}) \quad (2.2.3)\\ t>0P(XˉE[Xˉ]t)2exp(i=1n(biai)22n2t2)(2.2.3)
若令 S n = X 1 + ⋯ + X n S_n=X_1+\dots+X_n Sn=X1++Xn ,霍夫丁不等式可叙述为:
$$
\forall{t>0},\quad P(S_n-E[S_n]\ge t)\le exp(-\frac{2t^2}{\begin{matrix} \sum_{i=1}^n (b_i-a_i)^2 \end{matrix}}) \quad (2.2.4)\

\forall{t>0},\quad P(E[S_n]-S_n\ge t)\le exp(-\frac{2t^2}{\begin{matrix} \sum_{i=1}^n (b_i-a_i)^2 \end{matrix}}) \quad (2.2.5)\

\forall{t>0},\quad P(|S_n-E[S_n]|\ge t)\le 2exp(-\frac{2t^2}{\begin{matrix} \sum_{i=1}^n (b_i-a_i)^2 \end{matrix}}) \quad (2.2.6)\
$$
从(2.2.1)推导(2.2.4),只需对不等式 X ˉ − E [ X ˉ ] ≥ t \bar{X}-E[\bar{X}]\ge t XˉE[Xˉ]t 左右两边同乘系数 n n n ,再令 t = n t t=nt t=nt 即可。不难看出,当 X i X_i Xi 为伯努利随机变量时,(2.2.6)即可转化为(2.1.4)。

需要注意的是, X i X_i Xi 若为无放回抽样时的随机变量,该等式依然成立,尽管此时这些随机变量已不再独立。相关证明可查看Hoeffding在1963年发表的论文。在无放回抽样时,若想要更好的概率边界,可查看Serfling在1974年发表的论文。

学习链接:https://zhuanlan.zhihu.com/p/45342697

随机变量时,(2.2.6)即可转化为(2.1.4)。

需要注意的是, X i X_i Xi 若为无放回抽样时的随机变量,该等式依然成立,尽管此时这些随机变量已不再独立。相关证明可查看Hoeffding在1963年发表的论文。在无放回抽样时,若想要更好的概率边界,可查看Serfling在1974年发表的论文。

学习链接:https://zhuanlan.zhihu.com/p/45342697

相关文章:

Center Smoothing Certified Robustness for Networks with Structured Outputs

文章目录 Center Smoothing: Certified Robustness for Networks with Structured OutputsSummaryResearch ObjectiveProblem StatementMethodsEvaluationConclusionNotesGaussian Smoothing常用希腊字母霍夫丁不等式(Hoeffdings inequality)1.简述2.霍夫…...

C#几种截取字符串的方法

在C#编程中,经常需要对字符串进行截取操作,即从一个长字符串中获取所需的部分信息。本文将介绍几种常用的C#字符串截取方法,并提供相应的示例代码。 目录 1. 使用Substring方法2. 使用Split方法3. 使用Substring和IndexOf方法4. 使用Regex类…...

【PG】PostgreSQL高可用方案repmgr部署(非常详细)

目录 简介 1 概述 1.1 术语 1.2 组件 1.2.1 repmgr 1.2.2 repmgrd 1.3 Repmgr用户与元数据 2 安装部署 2.0 部署环境 2.1 安装要求 2.1.1 操作系统 2.1.2 PostgreSQL 版本 2.1.3 操作系统用户 2.1.4 安装位置 2.1.5 版本要求 2.2 安装 2.2.1 软件包安装 2.2…...

Linux Makefile配置问题

编写一个简单的工程文件,制作Makefile需要包含lpthread,当Makefile写为如下配置时 #CROSSCOMPILE : arm-linux- CROSSCOMPILE :CFLAGS : -Wall -O2 -c CFLAGS -I$(PWD)LDFLAGS : -lpthread LDFLAGS -lm -ldlCC : $(CROSSCOMPILE)gcc #LD :…...

k8s篇之underlay网络和overlay区别

k8s中underlay网络和overlay区别 一、网络 1 Overlay网络: Overlay叫叠加网络也叫覆盖网络,指的是在物理网络的基础之上迭代实现新的虚拟网络,即可使网络中的容器可以互相通信。 优点是对物理网络的兼容性比较好,可以实现pod的…...

掉瓶子小游戏

欢迎来到程序小院 掉瓶子 玩法:旋转的瓶子,根据瓶子方向,点击鼠标左键瓶子掉落,从桌面中间掉下即得1分,卡在桌边瓶子碎了游戏结束,快去掉瓶子吧^^。开始游戏https://www.ormcc.com/play/gameStart/203 htm…...

Elasticsearch7 入门 进阶

1、全文检索 1.1、数据分类 按数据分类的话,主要可以分为以下三类: 结构化数据:固定格式、有限长度,比如mysql存的数据非结构化数据:不定长、无固定格式,比如邮件、Word文档、日志等半结构化数据&#xf…...

你是怎么封装微信小程序的数据请求的?

当封装微信小程序的数据请求时,可以采用一种模块化的方法,将请求逻辑与界面逻辑分离,以提高代码的可维护性和可扩展性。以下是一个基于前言、高质量代码、理解、优缺点和结尾的范例: 前言 在微信小程序中,数据请求是…...

C++ vector中capacity()和size() 的区别

size是指容器当前拥有元素的个数&#xff0c; capacity是指容器在必须分配新的存储空间之前可以存放的元素总数。 如vector<int> ivect(10),ivect.capacity()10&#xff0c;ivect.size()0, 当向ivect中插入元素时&#xff0c;只要没有超过10个&#xff0c;那么capacity就…...

【Redis】redis-server和redis-cli

上一篇《redis 的下载和安装》 https://blog.csdn.net/m0_67930426/article/details/134341071?spm1001.2014.3001.5501 安装完之后开始使用 打开客户端之前需要先打开服务端 redis-server 直接使用该命令打开就行 然后在打开客户端 redis-cli 使用ping命令查看是否连接服…...

【系统架构设计】架构核心知识: 2.4 系统建模过程和系统设计

目录 一 系统建模过程 1 结构化建模 2 信息工程建模方法 3 面向对象建模方法...

企业电子招标采购系统源码之从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理

功能描述 1、门户管理&#xff1a;所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含&#xff1a;招标公告、非招标公告、系统通知、政策法规。 2、立项管理&#xff1a;企业用户可对需要采购的项目进行立项申请&#xff0c;并提交审批&#xff0c;查看所…...

ubantu libssl.so.1.1: cannot open shared object file

libssl.so.1.1: cannot open shared object file 使用 Ubuntu 22.04 时&#xff0c;有时候会遇到如下错误 error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory 这是因为Ubuntu 22.04 默认使用的是 openssl3.0 …...

python matlplotlib/seaborn 绘制曲线的平均值标准差阴影图

1. seaborn 旧版本(0.8.1)中使用tsplot&#xff0c;新版本中使用lineplot 直线代表均值&#xff0c;阴影代表meanstd&#xff08;带有置信区间&#xff0c;参数ci&#xff09; import seaborn as sns import matplotlib.pyplot as plt import numpy as np import pandas as p…...

【Linux基础IO篇】深入理解文件系统、动静态库

【Linux基础IO篇】深入理解文件系统、动静态库 目录 【Linux基础IO篇】深入理解文件系统、动静态库再次理解文件系统操作系统内存管理模块&#xff08;基础&#xff09;操作系统如何管理内存 Linux中task_struct源码结构 动态库和静态库动静态库介绍&#xff1a;生成静态库库搜…...

flink 写入 starrocks 报错 too many filtered rows attachment

可能原因1 把你starrocks中DDL里的varchar(...) 先修改为STRING. 一般是因为字段超出定义的长度. 可能原因2 csv里有脏数据 导致3列被切分为4列 ....PRIMARY KEY (id) NOT ENFORCED ) WITH (connector starrocks,jdbc-url ...,username ...,password ...,database-nam…...

Windows 安装 Maven

目录 安装 JDK下载 Maven配置阿里云镜像配置环境变量 安装 JDK Windows 安装 JDK 下载 Maven 下载地址&#xff1a;https://maven.apache.org/download.cgi 下载 apache-maven-3.9.5-bin.zip 到本地解压到 D:\Software\apache-maven-3.9.5 配置阿里云镜像 配置阿里云远程仓…...

一文读懂关于IPv6的那些事

作为下一代互联网的战略发展方向&#xff0c;我国正加速IPv6的升级改造&#xff0c;目前从网络基础设施如运营商骨干网、城域网到互联网服务商如各类云服务以及包括手机、电脑、路由器等终端设备厂商都开始支持IPv6网络。那么到底什么是IPv6&#xff1f;IPv6有哪些特点呢&#…...

数据结构—队列的实现

前言&#xff1a;上次我们已经学习了数据结构中一个重要的线性表—栈&#xff0c;那么我们这一次就来学习另外一个重要的线性表—队列。 目录&#xff1a; 一、 队列的概念 二、 队列的实现&#xff1a; 1.队列的创建 三、 队列的操作 1.初始化队列 2.队尾入队列 3.队头出队列…...

Linux_shell脚本中的stty

shell脚本中的stty stty是用于配置终端&#xff08;tty&#xff09;设置的命令。它允许用户查看和修改与终端相关的各种参数。下面是stty命令的一些常见用法和参数&#xff1a; 基本语法&#xff1a; stty [OPTION] [SETTING]常见选项和参数&#xff1a; 基本设置&#xff1…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略&#xff0c;并且实现了基本的选区操作&#xff0c;还调研了自绘选区的实现。那么相对的&#xff0c;我们还需要设计编辑器的选区表达&#xff0c;也可以称为模型选区。编辑器中应用变更时的操作范围&#xff0c;就是以模型选区为基准来…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入&#xff0c;一个是通过INMP441麦克风模块采集音频&#xff0c;一个是通过PCM5102A模块播放音频&#xff0c;那如果我们将两者结合起来&#xff0c;将麦克风采集到的音频通过PCM5102A播放&#xff0c;是不是就可以做一个扩音器了呢…...

spring:实例工厂方法获取bean

spring处理使用静态工厂方法获取bean实例&#xff0c;也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下&#xff1a; 定义实例工厂类&#xff08;Java代码&#xff09;&#xff0c;定义实例工厂&#xff08;xml&#xff09;&#xff0c;定义调用实例工厂&#xff…...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据&#xff0c;减少数据库查询操作。 缓存逻辑分析&#xff1a; ①每个分类下的菜品保持一份缓存数据…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学&#xff08;ECC&#xff09;是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础&#xff0c;例如椭圆曲线数字签…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)

上一章用到了V2 的概念&#xff0c;其实 Fiori当中还有 V4&#xff0c;咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务)&#xff0c;代理中间件&#xff08;ui5-middleware-simpleproxy&#xff09;-CSDN博客…...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

基于TurtleBot3在Gazebo地图实现机器人远程控制

1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...