智能优化算法——正余弦优化算法(SCA)及其改进策略

news2024/10/6 18:34:17

正余弦优化算法(SCA)及其改进策略

    • 一、基本介绍
      • 1. 背景
      • 2. 算法简介
    • 二、基本的SCA算法
      • 1. 算法介绍
      • 2. 算法步骤
    • 三、算法分析
      • 1. 正余弦分布
      • 2. 算法实验结果
      • 3. 算法优缺点
    • 四、SCA改进策略
      • 1. 参数的改进
      • 2. 应用权重更新机制
      • 3. 基于反向学习的改进
    • 五、引用与代码

一、基本介绍

1. 背景

近十年涌现了众多优秀的智能优化算法,然而一个算法在某些优化问题上的优异表现并不能保证其在其他问题上的有效性,即不存在一个算法能有效解决所有的优化问题,即著名的“无免费午餐”定理。

同时,新算法的提出是否能跳出仿生的思路而开拓新的思路也是我们的研究方向之一。正余弦算法的提出者 归纳了仿生智能优化算法的迭代策略并利用简单的正余弦函数逻辑构思出了正弦余弦算法(SCA) ,这也极大拓宽了开发新算法的思路。

2. 算法简介

SCA是一种新颖的随机优化算法,该算法最显著的特点是其通过简洁明了的形式完备了一个智能优化算法所应具备的必要要素,其仅利用正弦和余弦函数的波动性和周期性作为实现算子的设计目标来搜索和迭代最优解。与遗传算法,粒子群算法,等众多智能优化算法相比,正弦余弦算法具有参数少、结构简单、易实现、收敛速度快等优点,在实际应用中具有较优的性能。

正弦余弦算法(SCA)归纳吸收了部分群智能优化算法的迭代策略,以包含特定个数随机解的集合作为算法的初始解集,重复地通过目标函数评价解的适应度并按照特定更新策略随机迭代解集,最终求得最优解或满足适应度要求的满意解。同大部分群智能优化算法一样,SCA 依靠迭代策略实现解空间的随机搜索,并不能保证在一次运算中找到最优解,但当初始解集规模和迭代次数足够大时,求得最优解的概率大大提高。

二、基本的SCA算法

1. 算法介绍

SCA把迭代策略归纳结构为全局搜索局部开发两个线程。
在全局搜索线程中,对当前解集中的解施加较大的随机波动来搜索解空间中的未知区域
在局部开发线程中,对解集施加微弱的随机扰动来充分搜索当前解的邻域。

SCA 利用正弦、余弦函数的周期波动性构造了实现全局搜索和局部开发两个线程功能的迭代方程,通过该简洁的更新迭代方程来施加扰动并更新解集,具体的迭代方程分为以下正弦迭代或余弦迭代方程两种:
在这里插入图片描述
其中 𝑡 表示当前迭代次数, X i j ( t ) X_{i}^{j}(t) Xij(t) 表示个体 i i i 在第 𝑡 次迭代时的位置在第 j j j 维 的分量, r 1 r_1 r1 r 2 r_2 r2 r 3 r_3 r3 为随即参数, r 1 r_1 r1 由更新函数确定, r 2 r_2 r2 ~ 𝑈 [ 0 , 2 π ] 𝑈[0,2\pi] U[0,2π] r 3 r_3 r3 ( 0 , ∞ ) (0,∞) (0,) P 𝑗 ( 𝑡 ) P^𝑗 (𝑡) Pj(t) 表示候选解集在第 𝑡 次迭代的最优候选解在第 j j j 维度的分量。

为了消除迭代步长和方向的相关关系,通过随即参数 r 4 r_4 r4 ~ 𝑈 [ 0 , 1 ] 𝑈[0,1] U[0,1] 将上面的两个迭代方程结合到完整的迭代方程:
在这里插入图片描述

  • r 1 r1 r1 控制算法从全局搜索到局部开发的转换。当 r 1 r1 r1 的值较大时,算法倾向于全局搜索;当 r 1 r1 r1 的值较小时,算法偏向于局部 开发。
  • r 2 r2 r2描述了当前解向当前最优解更新时移动的方向,以及所能达到迭代步长的极值,影响更新解是位于当前解及最优解之间的解空间还是之外的空间;
  • r 3 r 3 r3 为最优解给出一个随机权值,是为了随机强调( r 3 r 3 r3 > 1 或者忽略( r 3 r 3 r3 < 1 ) 最优解在定义候选解移动距离时的影响效果;
  • r 4 r4 r4 描述了在正弦更新和余弦更新之间的随机性,拟消除迭代步长和方向可能存在的相关性。

以二维随机变量为例:
r 1 s i n ( r 2 ) r_1sin(r_2) r1sin(r2) r 1 c o s ( r 2 ) r_1 cos(r_2) r1cos(r2) 的值在 -1 和 1 之间时,迭代应用局部开发策略,算法搜索候选解和当前最优解之间的解空间,即侯选解的某个邻域; r 1 s i n ( r 2 ) r_1sin(r_2) r1sin(r2) r 1 c o s ( r 2 ) r_1 cos(r_2) r1cos(r2) 的值 > 1 >1 >1 或者 < − 1 <-1 <1 时,则应用全局开发策略.SCA 正是借此实现了对解空间全局搜索和局部开发.
在这里插入图片描述
考虑到全局搜索和局部开发两个过程的平衡性和算法收敛到全局最优解的必要性,随着迭代的进行适应性地调整 r 1 r_1 r1
r 1 = a − a T t r_1=a-\frac{a}{T}t r1=aTat

a a a是一个常数; t t t 为当前迭代次数; T T T 为最大迭代次数; 由于 r 1 r_1 r1 的值随迭代次数逐渐减小,平衡了算法局部开发和全局搜索的能力;
当我们设置 a = 2 a =2 a=2 时,如图下图所示,此时 r 1 s i n ( r 2 ) r_1sin(r_2) r1sin(r2) r 1 c o s ( r 2 ) r_1 cos(r_2) r1cos(r2) (正余弦参数部分)的波动幅度随着迭代次数的增加逐渐衰减,其值在 ( 1 , 2 ] (1,2] (1,2] [ − 2 , − 1 ) [-2,-1) [2,1) 范围内,算法进行全局搜索,在 [ − 1 , 1 ] [-1,1] [11]之间进行局部开发。
在这里插入图片描述

2. 算法步骤

  1. 初始化迭代次数 𝑡 = 0 𝑡=0 t=0 ,初始候选解集 m m m,候选解随机位置 X i j ( t ) X_{i}^{j}(t) Xij(t),迭代更新方程的 r 1 , r 2 r_1, r_2 r1r2等参数;
  2. 计算每个候选解的适应度,确定并保留当前最优候选解 𝑃(𝑡);
  3. 根据迭代方程更新候选解集;
  4. 根据公式和参数概率分布规律迭代更新方程的 r 1 , r 2 r_1, r_2 r1r2等参数;
  5. 终止检验。判断终止条件是否满足,如达到迭代次数或满意解条件,则输出𝑃(𝑡);不满足则回到步骤 2。
    在这里插入图片描述

三、算法分析

1. 正余弦分布

在这里插入图片描述
迭代式上下两个式子各以 0.5 的概率选取,由于正弦函数平移后便可以得到余弦函数,所以正弦函数和余弦函数的 函数值分布是相同的。因此,虽然 r 2 r_2 r2 ~ 𝑈 [ 0 , 2 π ] 𝑈[0,2\pi] U[0,2π] 是随机数,但是从概率角度而言, r 1 s i n ( r 2 ) r_1sin(r_2) r1sin(r2) r 1 c o s ( r 2 ) r_1 cos(r_2) r1cos(r2) 的函数值分布几乎相同。 取 a = 2 , T = 10000 , r 1 = a − a t / T , r 2 ∈ U [ 0 , 2 π ] a = 2,T = 10 000, r_1 = a - at/T,r_2 ∈ U[0,2π] a=2,T=10000,r1=aat/T,r2U[0,2π], 下给出了 r 2 r_2 r2 ~ 𝑈 [ 0 , 2 π ] 𝑈[0,2\pi] U[0,2π] 函数值的频数分布直方图。
在这里插入图片描述
我们可以看出
r 1 s i n ( r 2 ) r_1sin(r_2) r1sin(r2) r 1 c o s ( r 2 ) r_1 cos(r_2) r1cos(r2) 频数直方图几乎是等效的。结合此图和 r 1 r_1 r1的计算公式,我们也可以发现,当迭代次数到达一定频数后, r 1 < 1 r_1<1 r1<1,即算法后期不再进行全局搜索,而是局部开发。

2. 算法实验结果

在原论文中,研究人员试图在尽可能多的测试用例上测试他们的算法。本文采用了三组不同特性的测试函数。
所使用的案例研究包括单模态、多模态和复合测试函数。第一组测试函数没有局部最优值,只有一个全局最优值。这使得它们非常适合于测试算法的收敛速度和开发。第二组测试函数除了全局最优外,还有多个局部解。这些特征有利于测试算法的局部最优避免和探索能力。最后,复合测试函数是几个单模态和多模态测试函数的旋转、移位、偏置和组合版本。

为了求解上述测试函数,总共允许30个搜索代理在500次迭代中确定全局最优。将SCA算法与萤火虫算法(FA)、蝙蝠算法(BA)、花授粉算法(FPA、引力搜索算法(GSA)、粒子群算法(PSO)和遗传算法进行了比较,验证结果。由于元启发式的随机性质,单次运行的结果可能不可靠,所有算法都运行了30次,统计结果(均值和标准差) 如表所示。结果在[0,1]中进行了归一化,以比较所有测试函数的结果。
在这里插入图片描述

表中的结果表明,SCA算法在大多数测试用例中都优于其他算法。SCA算法在6个单模态测试函数中有3个显示出较好的结果。在所有的多模态测试函数上比其他算法表现得都要好(7,9,11,12),表1的最后一行给出了算法在所有测试函数上的平均值和标准差的总和。很明显,SCA的ave和std的都是最小的,证明该算法在总体上可靠地优于其他算法。

3. 算法优缺点

SCA 在候选解集规模和迭代次数充分的情况下求解优化问题的全局最优解的理论优势在于:

  • SCA同其他群智能优化算法一样,相对单个候选解的算法,一定规模的候选解集实现了更强的搜索能力和逃离局部最优陷阱能力,具有充分的随机搜索能力;
  • 最优候选解在迭代过程中始终被保留并作为更新候选解集的依据,在搜索过程中有向最优解空间移动的趋势;
  • SCA全局搜索和局部开发的随机性与分两阶段进行搜索和开发相比具有更强的适应性和稳定性;
  • SCA 的随机搜索设计使其具有广泛的适用性,能求解不同领域不同类型的优化问题。

其测试函数集的表现也说明了其存在的一些不足

  • SCA 在部分测试函数上具有一定的早熟情况,受到一些较明显的局部最优陷阱的影响;;
  • SCA最终求解的满意度围绕理论最优解波动较大,算法的收敛性有待提高。

四、SCA改进策略

1. 参数的改进

第一类改进策略研究了转换参数 r 1 r_1 r1 对 SCA 全局搜索和局部开发两个线程平衡的影响,提出了参数 r 1 r_1 r1非线性递减的正余弦算法,实现了算法计算精度和收敛速度一定程度的提高。其测试了凸函数中的抛物线函数和凹函数中的指数函数来作为 r 1 r_1 r1的更新策略:

抛物线函数: r 1 = a ( 1 − t T ) 2 ,指数函数: r 1 = a e − t T 抛物线函数:r_1=a(1-\frac{t}{T})^{2} ,指数函数:r_1=ae^{-\frac{t}{T}} 抛物线函数:r1=a(1Tt)2,指数函数:r1=aeTt

转换参数非线性递减的 SCA算法流程仅参数 r 1 r_1 r1 同标准SCA 不同,算法流程同与SCA相同。

2. 应用权重更新机制

为了改善迭代过程中父代个体的信息具有惯性权重所导致的搜索后期震荡性,提出了应用个体适应度调整的权重更新机制的正余弦算法(WSCA)
在WSCA 中,除了当前最优解及扰动幅度,每个候选解还受到一个按其适应度线性调整的权重的影响,该权重取决于其在候选集中适应度的排序值,适应度较高的候选集分配较高的权重,在更新过程中对一下代候选解集影响较大:

W x i ( t ) = 1 − i × ( 1 m ) W_{x_{i}(t)}=1-i×(\frac{1}{m}) Wxi(t)=1i×(m1)

其中 𝑡 表示当前迭代次数, 𝑥 𝑖 ( 𝑡 ) 𝑥_𝑖 (𝑡) xi(t) 表示第 𝑡 次迭代中适应度第𝑖高的候选解, W x i ( t ) W_{x_{i}(t)} Wxi(t) 表示在 𝑡 次迭代中 𝑥 𝑖 ( 𝑡 ) 𝑥_𝑖 (𝑡) xi(t)所获得的权重, m m m表示候选解集规模。

在确定每个候选解的权重之后再选择一部分适应度较高的候选集计算平均位的分量:

A u g i j = s u m ( W x 1 ( t ) x 1 ( t ) , W x 2 ( t ) x 2 ( t ) , . . . , W x c ( t ) x c ( t ) ) c t Aug_{i}^{j}=\frac{sum(W_{x_{1}(t)}x_1(t),W_{x_{2}(t)}x_2(t),...,W_{x_{c}(t)}x_c(t))}{c_t} Augij=ctsum(Wx1(t)x1(t),Wx2(t)x2(t),...,Wxc(t)xc(t))

其中 c 𝑡 c_𝑡 ct为参与平均位置计算的优选候选解的规模,随迭代次数的增加而减少, c t = [ m − 1 m t ] c_t=[m-\frac{1}{m}t] ct=[mm1t]

以上的权重机制(WUPM)着眼于消除迭代过重中候选解的惯性权重所可能导致的算法后期震荡性,WSCA候选解迭代更新方程如下:
在这里插入图片描述
根据上式,一方面,算法初始所有候选解都参与平均位置的计算,描述了算法进行全局搜索的随机性;随着迭代次数的增加,只有适应度较高的候选解参与平均位置的计算,适应度较低的候选解对迭代策略的影响越来越小。另一方面,迭代过重中适应度较低的候选解的权重越来越小,平均位置最终只保留当前最优解,算法充分开发当前最优解的邻域并最终求得问题的全局最优解.算法的流程如下:

  1. 初始化迭代次数 𝑡 = 0 𝑡=0 t=0,粒子群 m m m,候选解随机位置 X ( 𝑡 ) X(𝑡) X(t),优选候选解规模 c c c ,迭代更新方程初始参数等;
  2. 计算候选解集𝑀中候选解及反向目标的适应度,选取适应度较高的 m m m个组成新的候选解集𝑀 ;
  3. 计算当前平均候选解的所有分量 A u g Aug Aug
  4. 根据上面方程更新候选解集;根据迭代次数更新参数 r 1 , r 2 , 𝑐 t r_1, r_2, 𝑐_t r1r2ct等;
  5. 终止检验。判断终止条件是否满足,如迭代次数或满意解条件,则输出 X ( 𝑡 ) X(𝑡) X(t)。不满足则回到步骤2。

3. 基于反向学习的改进

将优化启发式算法收敛性常用的反向学习(OBL)运用到SCA当中并提出了反向学习正余弦算法(OBSCA)。OBL改进策略考虑了候选解在解空间对称位置的解的信息并在迭代过程中保留适应度较高的一方,以可接受的计算成本提高算法的有效程度和收敛性.

OBL 策略首先定义实数 x ∈ [ 1 , u ] x∈[1,u] x[1,u] 的反向数 x ˉ , x ˉ = l + u − x \bar{x},\bar{x}=l+u-x xˉ,xˉ=l+ux,则多维变量 X = ( 𝑥 1 , 𝑥 2 , … , 𝑥 𝑛 ) ∈ 𝑅 𝑛 , 𝑥 𝑖 ∈ [ 𝑙 𝑖 , 𝑢 𝑖 ] X=(𝑥_1,𝑥_2,…,𝑥_𝑛 ) ∈ 𝑅^𝑛,𝑥^𝑖 ∈[𝑙_𝑖,𝑢_𝑖] X=(x1,x2,,xn)Rn,xi[li,ui]的反向目标 X ˉ , \bar{X}, Xˉ, 可定义为:
X ˉ = ( x ˉ 1 , x ˉ 2 , … , x ˉ 𝑛 ) , x ˉ i = 𝑙 𝑖 + 𝑢 i − 𝑥 𝑖 , 𝑖 = 1 , 2 , … 𝑛 \bar{X}=(\bar{x}1,\bar{x}_2,…,\bar{x}_𝑛 ),\bar{x}_i=𝑙_𝑖+𝑢_i−𝑥_𝑖,𝑖=1,2,…𝑛 Xˉ=(xˉ1,xˉ2,,xˉn)xˉi=li+uixi,i=1,2,n

基于反向目标的定义, 对于 m m m个候选解的候选解集 M M M,计算 M M M中每个候选解 X X X和其反向目标的适应度,保留两个集合中适应度最高的 m m m个解组成新的候选集 M M M,完成候选解的反向学习.将OBL 整合到SCA 中,在每次迭代过程对当前候选解集应用OBL 得到适应度较高的新候选解集M之后再依据标准SCA迭代公式更新候选解集,就得到了OBSCA.OBSCA的算法流程如下:

  1. 初始化迭代次数 𝑡 = 0 𝑡=0 t=0,粒子群 m m m,候选解随机位置 X ( 𝑡 ) X(𝑡) X(t),优选候选解规模 c c c ,迭代更新方程初始参数等;
  2. 计算每个候选解的适应度,按适应度递减排序,确定每个候选解的权重;
  3. 迭代候选解集;
  4. 更新参数 r 1 , r 2 r_1, r_2 r1r2等;
  5. 终止检验。判断终止条件是否满足,如迭代次数或满意解条件,则输出 X ( 𝑡 ) X(𝑡) X(t)。不满足则回到步骤2。

引入反向 学习策略增加了可选粒子数量,并择优选取粒子,增大随机性的同时提高种群进化速度。通过可接受的计算成本增加较好地提高了算法的收敛性和准确性。

五、引用与代码

参考论文:Mirjalili S.SCA:a sine cosine algorithm for solving optimization problems
代码:python实现SCA算法

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

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

相关文章

Linux操作系统之进程间通信—信号量

文章目录一、信号量的定义&#xff1f;二、信号量的使用三、ipcs的使用一、信号量的定义&#xff1f; 信号量是一个特殊的变量&#xff0c;一般取正数值。它的值代表允许访问的资源数目&#xff0c;获取资源时&#xff0c;需要对信号的值进行原子减一&#xff0c;该操作被称为…

计算方阵的迹(主对角线上各元素之和)numpy.trace()

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 计算方阵的迹&#xff08;主对角线上各元素之和&#xff09; numpy.trace() [太阳]选择题 以下关于python代码表述正确的一项是&#xff1f; import numpy as np A np.array([[1,2,3],[4,5…

ArcGIS基础实验操作100例--实验14设置字段别名

本实验专栏来自于汤国安教授《地理信息系统基础实验操作100例》一书 实验平台&#xff1a;ArcGIS 10.6 实验数据&#xff1a;请访问实验1&#xff08;传送门&#xff09; 基础编辑篇--实验14 设置字段别名 目录 一、实验背景 二、实验数据 三、实验步骤 &#xff08;1&…

CSS知识点精学2-盒子模型

CSS第三特性&#xff1a;优先级 &#xff08;优先级是三大特性中最复杂且重要的&#xff0c;前两大特性分别是继承性和层叠性&#xff0c;已经在CSS知识点精学1里面讲了&#xff09; 优先级 特性&#xff1a;不同选择器具有不同的优先级&#xff0c;优先级高的选择器样式会覆…

C++ 函数模板、具体化模板的分文件书写

函数模板分为普通函数模板和具体化函数模板 普通函数模板&#xff1a;函数模板只是函数的描述符&#xff0c;没有实体&#xff0c;创建函数模板的代码整体放在头文件中&#xff1b; 具体化函数模板&#xff1a;具体化函数模板有实体&#xff0c;编译时和普通函数一样&#xf…

Linux多线程互斥量与原理剖析

这里我们简要介绍了线程间互斥相关的概念&#xff0c;并对加锁的一种原理进行了剖析&#xff0c;本人目前理解尚浅&#xff0c;若文中有表述不当的地方还望理解并指正&#xff0c;谢谢大家&#xff01; 文章目录一&#xff1a;线程间互斥相关背景概念二&#xff1a;互斥量mutex…

摄影测量学:期末考试重点总结

本文参考《摄影测量学》 (王佩军&#xff0c;徐亚明 编著)&#xff1b; 01 不同阶段的摄影测量的对比&#xff0c;课本表1-1 &#xff08;原始资料、投影方式、仪器记不住&#xff0c;那名字总该记住吧&#xff1f;模拟摄影测量、解析摄影测量、数字摄影测量&#xff09; 02 量…

Python中的所有运算符以及运算符的优先级

文章目录前言一、算术运算符二、赋值运算符三、比较运算符四、逻辑运算符五、位运算符六、运算符的优先级案例实战总结前言 运算符是一些人为定义的特殊符号&#xff0c;比如我们生活当中最常见的 、-、、&#xff0c;它们主要用于数学计算、比较大小和逻辑运算等等。那这些运…

数字孪生医院的智能化运营平台建设内容

随着国务院办公厅《关于推动公立医院高质量发展的意见》印发&#xff0c;高质量发展已成为医院发展的主旋律。当前市场经济正处于增长速度换挡期&#xff0c;医院面临着转型发展的紧迫性&#xff0c;运 用新一代信息技术促进医院管理体系与管理能力现代化发展势在必行。基于数字…

读论文---DETR

DETR 深度学习之目标检测(十一)--DETR详解_木卯_THU的博客-CSDN博客_detr 下面内容取材自上述博客和唐宇迪视频

20221229英语学习

今日新词 premier adj.首要的, 最著名的, 最成功的, 第一的 microscopic adj.极小的&#xff1b;需用显微镜观察的&#xff1b;使用显微镜的 complaint n.抱怨&#xff1b;埋怨&#xff1b;投诉&#xff1b;控告 moth n.蛾 prototype n.原型&#xff0c;雏形 tournament …

面试官:自动化测试都没弄明白,你怎么敢来面试 “ 软件测试开发 ” 的?

面试一直都是一个热门话题&#xff0c;测试员当然也逃不过~纵使你是一个技能全部满点的超优秀测试员&#xff0c;卡在面试这一关也是万万不可的。特别是大厂的测试员&#xff0c;他们面试所问的东西&#xff0c;你在学校通常接触不道&#xff0c;所以没有哪个应届生是一毕业啥也…

关于Nginx 用户认证、SSL证书生成配置的一些笔记

写在前面 分享一些 Nginx 用户认证、SSL 加密配置的笔记博文内容涉及 Nginx 用户认证、SSL 加密配置 Demo通过 OpenSSL 生成使用 SSL 证书、私钥和 CSR Demo 理解不足小伙伴帮忙指正 这世界的一面至始至终是表象&#xff0c;正如另一面至始至终是意志 -----《作为意志和表象的世…

涨价都涨疯了

大家好&#xff0c;我是校长。给大家推荐个好东西&#xff0c;可能大家能用得着。最近新冠肺炎闹得人心惶惶&#xff0c;噢&#xff0c;不对&#xff0c;改名了&#xff0c;叫&#xff1a;新冠感染了。只要专家建议个什么东西&#xff0c;什么东西绝对准脱销&#xff0c;而且是…

计算机软考高级好考吗?需要备考多久?

不简单&#xff0c;整体的通过率只有15%左右。 软考高级一共有五个科目。 信息系统项目管理师&#xff1a;零基础&#xff0c;有考证需求的或者从事管理的人员&#xff0c;项目经理可以考这个。 系统分析师&#xff1a;适合在项目开发过程中定制需求规格说明书&#xff0c;和编…

[内网渗透]—CS生成office宏钓鱼

简介 ​ 宏是一个批量处理程序命令,正确地运用它可以提高工作效率。微软的office软件允许用户自己编写,叫VBA的脚本来增加其灵活性,进一步扩充它的能力。如完打开word文件同时要打开某个文件的功能,必须要自己编写一段称之为宏的脚本。具体做法是在“工具”菜单“宏”-“…

图的简要介绍

1、图的基本概念 &#xff08;1&#xff09;定义 图是一种较为复杂的非线性结构。 图就是由顶点的有穷非空集合和顶点之间的边组成的集合。通常表示为G(V,E)&#xff0c;其中&#xff0c;G表示一个图&#xff0c;V表示顶点的集合&#xff0c;E表示边的集合。 &#xff08;2&…

Cookie和Session的区别

&#x1f49f;&#x1f49f;前言 ​ 友友们大家好&#xff0c;我是你们的小王同学&#x1f617;&#x1f617; 今天给大家打来的是 Cookie和Session的区别 希望能给大家带来有用的知识 觉得小王写的不错的话麻烦动动小手 点赞&#x1f44d; 收藏⭐ 评论&#x1f4c4; 小王的主页…

北京智和信通:IT资产全生命周期运维监控管理方案

IT资产是企业开展正常业务运营和拓展不可或缺的资源&#xff0c;也是企业财产的重要载体。随着信息科技的快速发展&#xff0c;各企业对IT资产的依赖逐渐增强&#xff0c;IT资产的可靠性和有效性面临着愈来愈大的挑战。例如IT资产管理混乱&#xff0c;通过维护手工台账的方式进…

vue入门(一)搭建vue项目,基础显示,指令

之前接触过vue&#xff0c;但是一直不是十分清晰&#xff0c;学的云里雾里&#xff0c;最近打算再次系统的整理一下&#xff0c;重新入门。还是根据vue官方文档一步一步的来&#xff0c;但是是属于简化的那种&#xff0c;会把我的学习过程都记录下来。 1.vue项目的搭建&#xf…