【智能优化算法】从蚁群到动物园

目录

  • 引言
  • 蚁群优化算法(ACO)
    • ACO 机理
    • ACO 模型描述
    • ACO 移动策略
  • 粒子群优化算法(PSO)
    • PSO 机理
    • PSO 模型描述
  • 萤火虫群优化算法(GSO)
    • GSO 机理
    • GSO 模型描述
  • 群智能优化算法

引言

21世纪,人类社会已经全面迅速迈入以人工智能为引擎的智能时代。在科学研究、工程设计、经济管理、国防建设、社会生活等领域都面临着大量需要优化求解的复杂问题。

对于这些日益复杂化的优化问题建立精确的数学模型往往比较困难,因而使得基于精确模型的传统优化算法陷入了极大的困境。然而,人们从自然界的多种生物、昆虫、动物、植物等的生存、繁衍过程以及自然现象、水循环、生态平衡等过程中,发现了其中蕴含着大量的信息处理的优化机制和机理。于是人们从模拟这些优化机制、优化机理出发,提出了数以百计的不依赖被优化问题数学模型的优化算法,它们被称为元启发式算法、仿生计算、自然计算、智能计算等。这些优化算法中有些算法在一定程度上模拟了人的智能;有些算法模拟自然界中某些动物、植物生存行为的适应性、灵性、“智慧性”,因此可以统称为智能优化算法

遗传算法为开端的智能优化算法为解决缺乏精确数学模型的复杂优化问题开辟了新途径,尤其是以模拟蚁群觅食行为的蚁群优化算法模拟鸟类飞行觅食行为的粒子群优化算法为代表的群智能优化算法的提出,极大地推动了智能优化算法开发的速度、深度和广度。随着人工智能技术的快速进步,必将催生智能优化技术和智能优化算法的进一步发展,为解决复杂系统的优化问题提供更广阔的途径及强有力的工具。

本文以群智能优化算法为主题,例举数个极具代表性的相关算法。其中包括了模拟自然界微生物、群居昆虫、动物群体觅食、繁殖行为,以及动物群体的捕猎策略等对问题求解的优化算法。
同时也会简单说明一下目前群智能优化算法的研究状况,看看群智能优化算法是怎么从动物身上获取经验的,又是怎么从一个蚁群逐渐发展壮大成一个动物园。

在这里插入图片描述


蚁群优化算法(ACO)

蚁群优化(Ant Colony Optimization,ACO)算法是 1991 年由意大利 M.Dorigo 博士等提出的一种群智能优化算法,它模拟蚁群能从蚁巢到食物源找到一条最短路径的觅食行为,并成功用于求解组合优化的 TSP 问题。后来,一些研究者把它改进应用于连续优化问题。

2008年,Dorigo等又提出了一种求解连续空间优化问题的扩展蚁群优化(Extension of Ant Colony Optimization,ACOr)算法,通过引入解存储器作为信息素模型,使用了连续概率分布取代 ACO 算法中离散概率分布,将基本蚁群算法的离散概率选择方式连续化,从而将其拓展到求解连续空间优化问题。

ACO 机理

蚂蚁的觅食行为实质上是一种通过简单个体的自组织行为所体现出来的一种群体行为,具有以下两个重要特征。

  • 蚂蚁觅食的群体行为具有正反馈过程,反馈的信息是全局信息。通过反馈机制进行调整,可对系统的较优解起到自增强的作用。从而使问题的解向着全局最优的方向演变,最终获得全局最优解。
  • 具有分布并行计算能力,可使算法全面地在多点同时进行解的搜索,有效地降低陷入局部最优解的可能性。

ACO 模型描述

ACO符号定义如下:

NoteMeaningpostscript
m蚂蚁数目
b i ( t ) b_i(t) bi(t) t t t 时刻位于城市 i i i 的蚂蚁个数 m = ∑ i = 1 n b i ( t ) m= \sum_{i=1}^{n}b_i(t) m=i=1nbi(t)
d i j d_{ij} dij城市 i i i j j j 的距离
η i j \eta_{ij} ηij路径 ( i , j ) (i,j) (ij)的能见度,反映由城市 i i i 转移到 j j j 的启发程度 η i , j = 1 d i , j \eta_{i,j}=\frac{1}{d_{i,j}} ηi,j=di,j1
τ i j \tau_{ij} τij路径 ( i , j ) (i,j) (i,j)间的信息素强度
△ i j \triangle ij ij蚂蚁 k k k ( i , j ) (i,j) (i,j)路径上单位长度留下的信息素量
p i j k p^k_{ij} pijk蚂蚁 k k k i → j i\rightarrow j ij 转移的概率, j j j 是尚未访问的城市

蚂蚁的动作规定:

  • i → j i \rightarrow j ij完成一次循环后在路径 ( i , j ) (i,j) (i,j) 上释放信息素
  • 蚂蚁以一定概率选择下一个要访问的城市,该概率是城市 i i i j j j 之间路径存在信息素轨迹量的函数。
  • 不允许蚂蚁访问已访问过的城市(TSP 问题所要求)。

ACO 移动策略

受信息素启发选择路径采用随机比例规则,在 t t t 时刻,蚂蚁 k k k 在城市 i i i ,选择城市 j j j 的转移概率 p i j k ( t ) p^k_{ij}(t) pijk(t)为: p i j k ( t ) = { τ i j α ( t ) ⋅ η i j β ( t ) ∑ s ∈ a l l o w e d k τ i s α ( t ) ⋅ η i s β ( t ) j ∈ a l l o w e d k 0 o t h e r w i s e p^k_{ij}(t) = \begin{cases} \frac{\tau_{ij}^\alpha (t)\cdot \eta_{ij}^\beta (t)}{\sum_{s\in allowed_k} \tau_{is}^\alpha (t)\cdot \eta_{is}^\beta (t) } & j\in allowed_k \\ 0 & otherwise \\ \end{cases} pijk(t)= sallowedkτisα(t)ηisβ(t)τijα(t)ηijβ(t)0jallowedkotherwise该式子表明转移概率 p i j k ( t ) p^k_{ij}(t) pijk(t) τ i j α ( t ) ⋅ η i j β ( t ) \tau_{ij}^\alpha (t)\cdot \eta_{ij}^\beta (t) τijα(t)ηijβ(t) 成正比。 α , β \alpha ,\beta α,β 分别反映蚂蚁在运动中所积累的信息和启发信息在选择路径中的相对重要性。

经过 n 时刻,蚂蚁完成一次循环,各路径上信息素调整为: ♣ τ i j ( t + 1 ) = ρ ⋅ τ i j ( t ) + △ τ i j ( t , t + 1 ) △ τ i j ( t , t + 1 ) = ∑ k = 1 m △ τ i j k ( t , t + 1 ) \clubsuit \quad \tau_{ij}(t+1)=\rho \cdot \tau_{ij}(t)+\triangle \tau_{ij}(t,t+1) \\ \triangle \tau_{ij}(t,t+1)=\sum_{k=1}^{m} \triangle \tau_{ij}^k(t,t+1) τij(t+1)=ρτij(t)+τij(t,t+1)τij(t,t+1)=k=1mτijk(t,t+1) △ τ i j k ( t , t + 1 ) \triangle \tau_{ij}^k(t,t+1) τijk(t,t+1) 是第 k k k 只蚂蚁在 ( t , t + 1 ) (t,t+1) (t,t+1) 时刻留在路径 ( i , j ) (i,j) (i,j) 上的信息素量
△ τ i j ( t , t + 1 ) \triangle \tau_{ij}(t,t+1) τij(t,t+1) 为本次循环路径 ( i , j ) (i,j) (i,j) 的信息素量的增量
ρ \rho ρ 为路径上信息素的挥发系数 (通常取 ρ < 1 \rho<1 ρ<1 )。

根据 △ τ i j , △ τ i j k \triangle \tau_{ij},\triangle \tau_{ij}^k τij,τijk p i j k ( t ) p^k_{ij}(t) pijk(t) 的表达形式的不同,Dorigo 定义了以下3种不同的蚂蚁系统模型。

系统名称表达方式
蚁密系统
(Ant Density System)
△ τ i j k ( t , t + 1 ) = { Q 第 k 只蚂蚁在 ( t , t + 1 ) 间经过路径 ( i , j ) 0 o t h e r w i s e \triangle \tau_{ij}^k(t,t+1) = \begin{cases} Q & 第k只蚂蚁在(t,t+1)间经过路径(i,j) \\ 0 & otherwise \end{cases} τijk(tt+1)={Q0k只蚂蚁在(t,t+1)间经过路径(i,j)otherwise
蚁量系统
(Ant Quantity System)
△ τ i j k ( t , t + 1 ) = { Q d i j 第 k 只蚂蚁在 ( t , t + 1 ) 间经过路径 ( i , j ) 0 o t h e r w i s e \triangle \tau_{ij}^k(t,t+1) = \begin{cases} \frac{Q}{d_{ij}} & 第k只蚂蚁在(t,t+1)间经过路径(i,j) \\ 0 & otherwise \end{cases} τijk(tt+1)={dijQ0k只蚂蚁在(t,t+1)间经过路径(i,j)otherwise
蚁周系统
(Ant Cycle System)
△ τ i j k ( t , t + n ) = { Q L k 蚂蚁 k 经过 n 步路径 ( i , j ) 0 o t h e r w i s e \triangle \tau_{ij}^k(t,t+n) = \begin{cases} \frac{Q}{L_{k}} & 蚂蚁k经过 n 步路径(i,j) \\ 0 & otherwise \end{cases} τijk(tt+n)={LkQ0蚂蚁k经过n步路径(i,j)otherwise
  • Q Q Q 为一只蚂蚁经过路径 ( i , j ) (i,j) (i,j)单位长度上释放的信息素量
  • Q d i j \frac{Q}{d_{ij}} dijQ为一只蚂蚁在经过路径 ( i , j ) (i,j) (i,j)单位长度上释放的信息素量
  • Q L k \frac{Q}{L_{k}} LkQ为第 k k k 只蚂蚁在(t,t+n)经过 n 步的一次循环中走过路径 ( i , j ) (i,j) (i,j)长度 L k L_k Lk 所释放的信息素量。
  • 蚁密、蚁量系统模型中,利用的是局部信息
  • 蚁周系统利用的是整体信息,蚁周系统模型也被称为基本蚁群算法。其更新公式由 ♣ \clubsuit 变为 τ i j ( t , t + n ) = ρ ⋅ τ i j ( t ) + △ τ i j ( t , t + n ) △ τ i j ( t , t + n ) = ∑ k = 1 m △ τ i j k ( t , t + n ) \tau_{ij}(t,t+n)=\rho \cdot \tau_{ij}(t)+\triangle \tau_{ij}(t,t+n) \\ \triangle \tau_{ij}(t,t+n)=\sum_{k=1}^{m} \triangle \tau_{ij}^k(t,t+n) τij(t,t+n)=ρτij(t)+τij(t,t+n)τij(t,t+n)=k=1mτijk(t,t+n)

在这里插入图片描述


粒子群优化算法(PSO)

粒子群优化(Particle Swarm Optimization,PSO)算法是在1995 年由美国社会心理学家 Kennedy 和电气工程师 Eberhart 共同提出的,又称为粒群算法、微粒群算法。

最初PSO算法模拟鸟群捕食的群体智能行为,它是以研究连续变量最优化问题为背景提出的。虽然PSO算法是针对连续优化问题而提出的,但通过二进制编码可以得到离散变量的PSO形式。因此,它也可以用于离散系统的组合优化问题求解,如用于求解 TSP 问题等。PSO还可以用于求解多目标优化、带约束优化、多峰函数优化、聚类、调度与规划、控制器参数优化等问题。

PSO 机理

PSO 利用生物学家 Heppner 的生物群体模型,模拟鸟类觅食等群体智能行为的进化算法。鸟类在飞行过程中是相互影响的,当一只鸟飞离鸟群而飞向栖息地时,将影响其他鸟也飞向栖息地。鸟类寻找栖息地的过程与对一个特定问题寻找解的过程相似。鸟的个体要与周围同类比较,模仿优秀个体的行为,因此可利用其解决优化问题,而人类的决策过程使用了两种重要的知识:一类是自己的经验;二是他人的经验。这样有助于提高决策的科学性。

PSO 设每个优化问题的解是搜索空间中的一只鸟,把鸟视为空间中的一个没有重量和体积的理想化“质点”,称为“粒子”或“微粒”,每个粒子都有一个由被优化函数所决定的适应度值,还有一个速度决定它们的飞行方向和距离。然后粒子通过追随当前的最优粒子在解空间中搜索最优解。

PSO 模型描述

n n n 维搜索空间中,PSO的变量如下表所示

NoteMeaning
X i = ( x i 1 , x i 2 , . . . , x i n ) X_i=(x_{i1},x_{i2},...,x_{in}) Xi=(xi1,xi2,...,xin)粒子群的当前位置
V i = ( v i 1 , v i 2 , . . . , v i n ) V_i=(v_{i1},v_{i2},...,v_{in}) Vi=(vi1,vi2,...,vin)粒子群的当前飞行速度
P i = ( p i 1 , p i 2 , . . . , p i n ) P_i=(p_{i1},p_{i2},...,p_{in}) Pi=(pi1,pi2,...,pin)粒子群所经历的最好位置
C 1 , C 2 C_1,C_2 C1,C2加速度常数
r 1 j , r 2 j r_{1j},r_{2j} r1j,r2j两个相互独立的随机数
P g ( t ) P_g(t) Pg(t)全局最好粒子的位置

对于最小化问题,若 f ( X ) f(X) f(X) 为最小化的目标函数,则微粒 i i i 的当前最好位置由下式确定 P i ( t + 1 ) = { P i ( t ) f ( X i ( t + 1 ) ) ≥ f ( P i ( t ) ) X i ( t + 1 ) f ( X i ( t + 1 ) ) < f ( P i ( t ) ) P_i(t+1) = \begin{cases} P_i(t) & f(X_i(t+1)) \ge f(P_i(t)) \\ X_i(t+1) & f(X_i(t+1))< f(P_i(t)) \end{cases} Pi(t+1)={Pi(t)Xi(t+1)f(Xi(t+1))f(Pi(t))f(Xi(t+1))<f(Pi(t))设群体中的粒子数为 S S S ,群体中所有粒子所经历过的最好位置为 P g ( t ) P_g(t) Pg(t) ,称为全局最好位置: f ( P g ( t ) ) = min ⁡ { f ( P 1 ( t ) ) , f ( P 2 ( t ) ) , . . . , f ( P s ( t ) ) } f(P_g(t))=\min \{ f(P_1(t)),f(P_2(t)),...,f(P_s(t))\} f(Pg(t))=min{f(P1(t)),f(P2(t)),...,f(Ps(t))}基本粒子 i i i 的更新方程可以描述为: v i j ( t + 1 ) = v i j ( t ) + C 1 ⋅ r 1 j ( t ) ⋅ ( P i j ( t ) − x i j ( t ) ) + C 2 ⋅ r 2 j ⋅ ( P g j ( t ) − x i j ( t ) ) x i j ( t + 1 ) = x i j ( t ) + v i j ( t + 1 ) v_{ij}(t+1)=v_{ij}(t)+C_1\cdot r_{1j}(t) \cdot (P_{ij}(t)-x_{ij}(t))+C_2\cdot r_{2j}\cdot (P_{gj}(t)-x_{ij}(t))\\ x_{ij}(t+1)=x_{ij}(t)+v_{ij}(t+1) vij(t+1)=vij(t)+C1r1j(t)(Pij(t)xij(t))+C2r2j(Pgj(t)xij(t))xij(t+1)=xij(t)+vij(t+1)上述式子表示粒子 i i i 在搜索空间中以一定的速度飞行,这个速度要根据自身的飞行经历和同伴的飞行经历进行动态调整。

在这里插入图片描述在这里插入图片描述


萤火虫群优化算法(GSO)

萤火虫群优化(Glowworm Swarm Optimization,GSO)算法是 2005 年由印度学者 Krishnanand 和 Ghose 在研究改进蚁群算法求解连续型最优化问题时提出的,并将其成功用于机器人群体协作。

该算法思想来源于萤火虫求偶行为中荧光素越高,吸引力越强的生物习性。他们对萤火虫群优化算法的动态决策做了改进,提出将萤火虫群优化算法用于多个移动信号源的追踪、多极值函数优化,并对该算法的收敛性理论做了研究。

GSO 机理

萤火虫通过闪光吸引异性求偶和猎取食物。萤火虫发的光越亮越绚丽,越能吸引同伴行为或食物。此外,闪烁也可以作为一个保护预警机制。有节奏的闪光,闪烁的速率与时间成为了吸引异性的信号。

  • 萤火虫的闪光仅在一定的距离范围内可见。一方面是由于光强度和距离的平方存在反比关系;另一方面是由于空气会吸收光。
  • 萤火虫个体的荧光素大小与自己所在位置的目标函数有关,荧光素越大、越亮的萤火虫表示它所在的位置越好,即有较好的目标值。
  • 萤火虫会在决策域内寻找邻居,并且荧光素越大的邻居拥有越高的吸引力,吸引萤火虫往这个方向移动,每一次移动的方向会随着选择的邻居不同而改变。
  • 决策域的大小会受到邻居数量的影响:邻居密度越小,萤火虫的决策半径会加大以便寻找更多的邻居;邻居密度越大,它的决策半径则会缩小。

GSO 模型描述

设有 D D D 维目标搜索空间,GSO变量如下

NoteMeaning
l i ( t ) l_i(t) li(t) t t t 代第 i i i 只萤火虫携带的荧光素值
x i ( t ) x_i(t) xi(t) t t t 代第 i i i 只萤火虫的位置
J ( x ) J(x) J(x)计算当前位置的荧光素值函数
N i ( t ) N_i(t) Ni(t) i i i 只萤火虫的邻域集合
n t n_t nt控制邻域范围内邻居萤火虫个数的参数
r d i ( 0 < r d i < r s ) r_d^i(0<r_d^i<r_s) rdi(0<rdi<rs) i i i 只萤火虫的决策域, r s r_s rs为最大感知半径
ρ \rho ρ控制荧光素值的参数
γ \gamma γ荧光素更新率
s s s移动步长

GSO 算法每一次迭代都由两个阶段组成:第一阶段是荧光素更新阶段;第二阶段是萤火虫的运动阶段。其具体算法包括萤火虫的初始分布、荧光素更新、路径选择、位置更新和决策域更新。

荧光素更新: l i ( t ) = ( 1 − ρ ) l i ( t − 1 ) + γ J ( x i ( t ) ) l_i(t)=(1-\rho)l_i(t-1)+\gamma J(x_i(t)) li(t)=(1ρ)li(t1)+γJ(xi(t))
每个个体在其动态决策域半径 r d i r_d^i rdi 之内,选择荧光素值比自己高的个体组成其邻域集 N i ( t ) = j : d i j ( t ) < d d i ( t ) ; l i ( t ) < l j ( t ) N_i(t)={j:d_{ij}(t)<d_d^i(t);\quad l_i(t)<l_j(t)} Ni(t)=j:dij(t)<ddi(t);li(t)<lj(t)即当萤火虫 j j j 的荧光素值大于萤火虫 i i i 的荧光素,且萤火虫 j j j 与萤火虫 i i i 之间的距离小于萤火虫 i i i 所在邻域的决策范围时,将萤火虫 j j j 划分到萤火虫 i i i 所在的邻域。移向邻域集 N i ( t ) N_i(t) Ni(t) 内个体 j j j 的路径选择概率为: p i j ( t ) = l j ( t ) − l i ( t ) ∑ k ∈ N i ( t ) ( l k ( t ) − l i ( t ) ) p_{ij}(t)=\frac{l_j(t)-l_i(t)}{\sum_{k\in N_i(t)}(l_k(t)-l_i(t))} pij(t)=kNi(t)(lk(t)li(t))lj(t)li(t)位置更新: x i ( t + 1 ) = x i ( t ) + s ( x j ( t ) − x i ( t ) ∣ ∣ x j ( t ) − x i ( t ) ∣ ∣ ) x_i(t+1)=x_i(t)+s(\frac{x_j(t)-x_i(t)}{||x_j(t)-x_i(t)||}) xi(t+1)=xi(t)+s(∣∣xj(t)xi(t)∣∣xj(t)xi(t)) ∣ ∣ ⋅ ∣ ∣ ||·|| ∣∣∣∣为标准欧氏距离运算符。
决策域更新: r d i ( t + 1 ) = min ⁡ { r s , max ⁡ { 0 , r d i ( t ) + β ( n t − ∣ N i ( t ) ∣ ) } } r_d^i(t+1)=\min \{ r_s,\max\{ 0,r_d^i(t)+\beta(n_t-|N_i(t)|)\}\} rdi(t+1)=min{rs,max{0,rdi(t)+β(ntNi(t))}}

萤火虫群优化算法的实现步骤如下:

  1. 初始化各个参数。控制萤火虫邻居数目的邻域阈值 n t n_t nt;萤火虫移动的步长 s s s;初始荧光素的值 l 0 l_0 l0; 控制邻居变化范围的参数 β \beta β;控制荧光素值的参数 ρ \rho ρ;光素更新率 γ \gamma γ ;初始化萤火虫的位置。
  2. 对每一个萤火虫 i i i 更新荧光素的值
  3. 进入移动阶段,选出符合条件的萤火虫
  4. 用轮盘赌法选择出目标函数值较大的萤火虫 j ( j ∈ N i ( t ) ) j(j\in N_i(t)) j(jNi(t))
  5. 更新萤火虫的位置
  6. 更新决策域
  7. 一次迭代完成,进入下一次迭代,判断是否满足终止条件,满足退出循环;否则转到步骤2。

在这里插入图片描述


群智能优化算法

模拟动物群体(或个体)的觅食、繁殖、猎等行为的群智能优化算法在智能优化算法中占有很大篇幅。这不仅因为自然界的动物种类繁多,而且还因为各类动物的习性、生存行为各异有的生存在地下巢穴中,有的在地上爬,有的在空中飞,有的在水中游;有小到人眼无法看见的病毒,也有重达几吨的庞然大物等。
人们通过观察不同的动物,设计了非常多的群智能优化算法,截至目前,大约有数百种从动物身上汲取经验思想的算法,更多有趣的算法思想也在不断涌现。本文篇幅有限,加之作者对文献的搜集精力有限,这里罗列了数篇相关的群智能算法链接,有兴趣的小伙伴可以下载看看。

动物文章
蚁狮The Ant Lion Optimizer
蜂群采蜜An idea based on honey bee swarm for numerical optimization
蜜蜂交配MBO: marriage in honey bees optimization-a
Haplometrosis polygynous swarming approach
果蝇A new fruit fly optimization algorithm:
taking the financial distress model as an example
蝴蝶觅食Butterfly optimization algorithm: a novel approach for global optimization
蝴蝶交配Butterfly Mating Optimization
蜻蜓Dragonfly algorithm: a new meta-heuristic optimization technique
for solving single-objective, discrete, and multi-objective problems
蜉蝣A mayfly optimization algorithm
蚱蜢Grasshopper Optimisation Algorithm: Theory and application
飞蛾扑火Moth-flame optimization algorithm:
A novel nature-inspired heuristic paradigm
蛾群Optimal power flow using moth swarm algorithm
群居蜘蛛A swarm optimization algorithm inspired in the behavior of the social-spider
蟑螂Cockroach Swarm Optimization Algorithm for TSP
天牛BAS: Beetle Antennae Search Algorithm for Optimization Problems
蚯蚓Earthworm optimisation algorithm: a bio-inspired metaheuristic algorithm
for global optimisation problems
布谷鸟Cuckoo Search via Lévy flights
候鸟Migrating Birds Optimization: A new metaheuristic approach
and its performance on quadratic assignment problem
雁群GSO: An Improved PSO Based on Geese Flight Theory
燕群Swallow swarm optimization algorithm: a new method to optimization
麻雀A novel swarm intelligence optimization approach: sparrow search algorithm
鸽群Pigeon-inspired optimization: a new swarm intelligence optimizer
for air robot path planning
鸟群A new bio-inspired optimisation algorithm: Bird Swarm Algorithm
乌鸦A novel metaheuristic method for solving constrained
engineering optimization problems: crow search algorithm
缎蓝园丁鸟Satin bowerbird optimizer: A new optimization algorithm to
optimize ANFIS for software development effort estimation
海鸥Seagull optimization algorithm: Theory and its applications for
large-scale industrial engineering problems
哈里斯鹰Harris hawks optimization: Algorithm and applications
秃鹰Novel meta-heuristic bald eagle search optimisation algorithm
蝙蝠Bat algorithm: literature review and applications
飞鼠A novel nature-inspired algorithm for optimization: Squirrel search algorithm
青蛙Shuffled frog-leaping algorithm:
a memetic meta-heuristic for discrete optimization
鱼群

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

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

相关文章

ElementUI用el-table实现表格内嵌套表格

文章目录 一、效果图二、使用场景三、所用组件元素&#xff08;Elementui&#xff09;四、代码部分 一、效果图 二、使用场景 &#x1f6c0;el-form 表单内嵌套el-table表格 &#x1f6c0;el-table 表格内又嵌套el-table表格 三、所用组件元素&#xff08;Elementui&#xff…

Kubeadm部署Kubernetes Containerd集群

文章目录 概述一、硬件系统二、基础配置设置主机名配置主机名与IP地址解析关闭防火墙与selinux时间同步(ntp)升级系统内核配置内核转发及网桥过滤*安装ipset及ipvsadm关闭SWAP分区 三、Containerd准备Containerd获取下载解压Containerd配置文件生成并修改Containerd启动及开机自…

5年经验之谈 —— 性能测试如何定位分析性能瓶颈?

你好&#xff0c;我是小牛&#xff0c;目前在一家准一线互联网大厂做测试开发工程师。 对于一般公司普通测试工程师来说&#xff0c;可能性能测试做的并不是很复杂&#xff0c;可能只是编写下脚本&#xff0c;做个压测&#xff0c;然后输出报告结果&#xff0c;瓶颈分析和调优…

【Hello Go】Go语言复合类型

复合类型 分类指针基本操作new函数指针作为函数的参数 数组概述操作数据数组初始化数组比较在函数之间传递数组 slice概述切片的创建和初始化切片操作切片和底层数组关系内建函数appendcopy 切片作为函数传参 map概述创建和初始化常用操作赋值遍历 删除map作函数参数 结构体结构…

Python (十三) 输出

程序员的公众号&#xff1a;源1024&#xff0c;获取更多资料&#xff0c;无加密无套路&#xff01; 最近整理了一波电子书籍资料&#xff0c;包含《Effective Java中文版 第2版》《深入JAVA虚拟机》&#xff0c;《重构改善既有代码设计》&#xff0c;《MySQL高性能-第3版》&…

基于Python+TensorFlow+Django的交通标志识别系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 随着交通网络的不断扩展和智能交通系统的发展&#xff0c;交通标志的自动识别变得愈发重要。本项目旨在利用Python编…

利用SVD对图像进行压缩

利用SVD对图像进行压缩 使用SVD能够对数据进行降维&#xff0c;对图像进行SVD&#xff0c;降维之后然后重构数据&#xff0c;还原后的图像就是压缩后的图像。 SVD SVD进行图像压缩所依据的数学原理就是矩阵的近似表示&#xff1a; A m n ≈ U m k ∑ k k V k n T A_{m\…

基于晶体结构算法优化概率神经网络PNN的分类预测 - 附代码

基于晶体结构算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于晶体结构算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于晶体结构优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神…

[Docker]八.Docker 容器跨主机通讯

一.跨主机通讯原理 在主机192.168.31.140上的docker0(172.17.0.0/16)中有一个容器mycentos( 172.17.0.2/16), 在主机192.168.31.81上的docker0(172.17.0.0/16)中有一个容器mycentos( 172.17.0.2/16),然后在主机192.168.31.140上ping主机192.168.31.81,发现ping不通要实现两个主…

vite构建项目不能使用require解决方案

在utils文件夹下创建一个getImgUrl.ts文件 /** vite的特殊性, 需要处理图片 */ export const require (imgPath: string) > {try {const handlePath imgPath.replace(, ..)console.log(handlePath::, imgPath)return new URL(handlePath, import.meta.url).href} catch (…

如何入驻抖音本地生活服务商,附上便捷流程!

抖音作为一款短视频社交媒体应用&#xff0c;已经成为全球范围内数以亿计的用户的首选。而在普及的同时&#xff0c;短视频领域也在不断拓展自身的业务领域&#xff0c;其中之一就是本地生活服务。继抖音本地生活服务之后支付宝、视频号也相继开展了本地生活服务&#xff0c;用…

Linux(5):Linux 磁盘与文件管理系统

认识 Linux 文件系统 磁盘的物理组成&#xff1a; 1.圆形的磁盘盘(主要记录数据的部分); 2.机械手臂&#xff0c;与在机械手臂上的磁盘读取头(可擦写磁盘盘上的数据)&#xff1b; 3.主轴马达&#xff0c;可以转动磁盘盘&#xff0c;让机械手臂的读取头在磁盘盘上读写数据。 4…

python接口自动化-参数关联

前言 我们用自动化发帖之后&#xff0c;要想接着对这篇帖子操作&#xff0c;那就需要用参数关联了&#xff0c;发帖之后会有一个帖子的id&#xff0c;获取到这个id&#xff0c;继续操作传这个帖子id就可以了 &#xff08;博客园的登录机制已经变了&#xff0c;不能用账号和密…

【算法设计实验三】动态规划解决01背包问题

请勿原模原样复制&#xff01; 01背包dp具体解释详见链接 ↓ 【算法5.1】背包问题 - 01背包 &#xff08;至多最大价值、至少最小价值&#xff09;_背包问题求最小价值_Roye_ack的博客-CSDN博客 关于如何求出最优物品选择方案&#xff1f; 先在递归求dp公式时&#xff0c;若…

增速大幅下滑?基础L2博弈成本

在高阶智驾&#xff08;从ALC到NOA&#xff09;的光环之下&#xff0c;传统入门级基础L2级辅助驾驶赛道也在发生一些微妙的变化。 高工智能汽车研究院监测数据显示&#xff0c;2023年1-9月&#xff0c;基础L2在中国市场&#xff08;不含进出口&#xff09;乘用车前装标配交付45…

数据库存储引擎

一、MySQL体系结构 二、存储引擎-简介 存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的&#xff0c;而不是基于库的&#xff0c;所以存储引擎也可以被成为表的类型 MySQL 5.5版本之后&#xff0c;默认存储引擎就是InnoDB&#xff0c;之前…

HarmonyOS云开发基础认证【最新题库 满分答案】

系列文章 HarmonyOS应用开发者基础认证【闯关习题 满分答案】 HarmonyOS应用开发者基础认证【满分答案】 HarmonyOS云开发基础认证【最新题库 满分答案】 目录 系列文章一、判断题二、单选题三、多选题 一、判断题 1.应用架构的演进依次经历了微服务架构、单体架构、Serverle…

ArcGIS如何处理并加载Excel中坐标数据?

做GIS行业的各位肯定免不了跟数据打交道&#xff0c;其中数据的处理说复杂也复杂&#xff0c;因为我们要花时间去做数据的转换及调整工作&#xff0c;那说简单也简单&#xff0c;因为我们有很多的工具可以使用&#xff0c;那么今天我就给大家带来处理Excel中的GIS数据中的其中一…

图像处理02 matlab中NSCT的使用

06 matlab中NSCT的使用 最近在学习NSCT相关内容&#xff0c;奈何网上资源太少&#xff0c;简单看了些论文找了一些帖子才懂了一点点&#xff0c;在此分享给大家&#xff0c;希望有所帮助。 一.NSCT流程 首先我们先梳理一下NSCT变换的流程&#xff0c;只有清楚流程才更好的理清…

git 构建报错

钉钉插件]当前任务未配置机器人&#xff0c;已跳过 org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: WorkflowScript: 4: Tool type “maven” does not have an install of “maven-3.8.8” configured - did you mean “Maven-3.8.8”? …