智能优化算法:麻雀搜索算法-附代码-程序员宅基地

技术标签: 算法  python  机器学习  智能优化算法  人工智能  

2020智能优化算法:麻雀搜索算法


摘要:麻雀搜索算法(Sparrow Search Algorithm, SSA)是于2020年提出的。SSA 主要是受麻雀的觅食行为和反捕食行为的启发而提出的。该算法比较新颖,具有寻优能力强,收敛速度快的优点

1.算法原理

建立麻雀搜索算法的数学模型,主要规则如下所述:

  1. 发现者通常拥有较高的能源储备并且在整个种群中负责搜索到具有丰富食物的区域,为所有的加入者提供觅食的区域和方向。在模型建立中能量储备的高低取决于麻雀个体所对应的适应度值(Fitness Value)的好坏。
  2. 一旦麻雀发现了捕食者,个体开始发出鸣叫作为报警信号。当报警值大于安全值时,发现者会将加入者带到其它安全区域进行觅食。
  3. 发现者和加入者的身份是动态变化的。只要能够寻找到更好的食物来源,每只麻雀都可以成为发现者,但是发现者和加入者所占整个种群数量的比重是不变的。也就是说,有一只麻雀变成发现者必然有另一只麻雀变成加入者。
  4. 加入者的能量越低,它们在整个种群中所处的觅食位置就越差。一些饥肠辘辘的加入者更有可能飞往其它地方觅食,以获得更多的能量。
  5. 在觅食过程中,加入者总是能够搜索到提供最好食物的发现者,然后从最好的食物中获取食物或者在该发现者周围觅食。与此同时,一些加入者为了增加自己的捕食率可能会不断地监控发现者进而去争夺食物资源。
  6. 当意识到危险时,群体边缘的麻雀会迅速向安全区域移动,以获得更好的位置,位于种群中间的麻雀则会随机走动,以靠近其它麻雀。

在模拟实验中,我们需要使用虚拟麻雀进行食物的寻找,由n只麻雀组成的种群可表示为如下形式:
X = [ x 1 1 x 1 2 . . . x 1 d x 2 1 x 2 2 . . . x 2 d . . . . . . . . . . . . x n 1 x n 2 . . . x n d ] (1) X=\left[\begin{matrix} x_1^1&x_1^2&...&x_1^d\\ x_2^1&x_2^2&...&x_2^d\\ ...&...&...&... \\ x_n^1&x_n^2&...&x_n^d\\ \end{matrix}\right]\tag{1} X=x11x21...xn1x12x22...xn2............x1dx2d...xnd(1)
其中, d d d 表示待优化问题变量的维数, n n n 则是麻雀的数量。那么,所有麻雀的适应度值可以表示为如下形式:
F x = [ f ( [ x 1 1 x 1 2 . . . x 1 d ] ) f ( [ x 2 1 x 2 2 . . . x 2 d ] ) . . . f ( [ x n 1 x n 2 . . . x n d ] ) ] (2) F_x =\left[\begin{matrix} f([x_1^1&x_1^2&...&x_1^d])\\ f([x_2^1&x_2^2&...&x_2^d])\\ ... f([x_n^1&x_n^2&...&x_n^d]) \end{matrix}\right]\tag{2} Fx=f([x11f([x21...f([xn1x12x22xn2.........x1d])x2d])xnd])(2)
其中,f 表示适应度值。

在 SSA 中,具有较好适应度值的发现者在搜索过程中会优先获取食物。此外,因为发现者负责为整个麻雀种群寻找食物并为所有加入者提供觅食的方向。因此,发现者可以获得比加入者更大的觅食搜索范围。根据规则(1)和规则(2),在每次迭代的过程中,发现者的位置更新描述如下:
X i , j t + 1 = { X i , j . e x p ( − i α . i t e r m a x ) , i f   R 2 < S T X i , j + Q . L , i f   R 2 ≥ S T (3) X_{i,j}^{t+1}=\begin{cases} X_{i,j}.exp(-\frac{i}{\alpha.iter_{max}}),if\, R_2<ST\\ X_{i,j} + Q.L,if\, R_2\geq ST \end{cases}\tag{3} Xi,jt+1={ Xi,j.exp(α.itermaxi),ifR2<STXi,j+Q.L,ifR2ST(3)
其中, t t t 代表当前迭代数, j = 1 , 2 , 3 , . . . , d j =1, 2, 3, . . . , d j=1,2,3,...,d i t e m m a x item_{max} itemmax
是一个常数,表示最大的迭代次数。 X i j X_{ij} Xij表示第 i i i 个麻雀在第 j j j 维中的位置信息。 α ∈ ( 0 , 1 ] α∈(0, 1] α(0,1]是一个随机数。 R 2 ( R 2 ∈ [ 0 , 1 ] ) R_2(R_2∈[0,1]) R2(R2[0,1]) S T ( S T ∈ [ 0.5 , 1 ] ) ST(ST∈[0.5,1]) ST(ST[0.5,1])分别表示预警值和安全值。 Q Q Q 是服从正态分布的随机数。 L L L 表示一个 1 × d 1×d 1×d 的矩阵,其中该矩阵内每个元素全部为 1。

R 2 < S T R2< ST R2<ST 时,这意味着此时的觅食环境周围没有捕食者,发现者可以执行广泛的搜索操作。如果 R 2 ≥ S T R2≥ ST R2ST,这表示种群中的一些麻雀已经发现了捕食者,并向种群中其它麻雀发出了警报,此时所有麻雀都需要迅速飞到其它安全的地方进行觅食。

对于加入者,它们需要执行规则(3)和规则(4)。如前面所描述,在觅食过程中,一些加入者会时刻监视着发现者。一旦它们察觉到发现者已经找到了更好的食物,它们会立即离开现在的位置去争夺食物。如果它们赢了,它们可以立即获得该发现者的食物,否则需要继续执行规则(4)。加入者的位置更新描述如下:
X i , j t + 1 = { Q . e x p ( X w o r s t − X i , j t i 2 ) , i f   i > n / 2 X P t + 1 + ∣ X i , j − X P t + 1 ∣ . A + . L , o t h e r w i s e (4) X_{i,j}^{t+1}=\begin{cases} Q.exp(\frac{X_{worst}-X_{i,j}^t}{i^2}),if\, i>n/2\\ X_P^{t+1}+ |X_{i,j} - X_P^{t+1}|.A^{+}.L,otherwise \end{cases}\tag{4} Xi,jt+1={ Q.exp(i2XworstXi,jt),ifi>n/2XPt+1+Xi,jXPt+1.A+.L,otherwise(4)
其中, X p X_p Xp是目前发现者所占据的最优位置, X w o r s t X_{worst} Xworst则表示当前全局最差的位置。 A A A表示一个 1 × d 1×d 1×d 的矩阵,其中每个元素随机赋值为 1 或-1,并且 A + = A T ( A A T ) − 1 A^+=A^T(AA^T)^{-1} A+=AT(AAT)1。当i >n/2 时,这表明,适应度值较低的第 i 个加入者没有获得食物,处于十分饥饿的状态,此时需要飞往其它地方觅食,以获得更多的能量。

在模拟实验中,我们假设这些意识到危险的麻雀占总数量的 10% 到 20%。这些麻雀的初始位置是在种群中随机产生的。根据规则(5),其数学表达式可以表示为如下形式:
X i , j t + 1 = { X b e s t t + β . ∣ X i , j t − X b e s t t ∣ , i f   f i > f g X i , j t + K . ( ∣ X i , j t − X w o r s t t ∣ ( f i − f w ) + ε ) , i f   f i = f g (5) X_{i,j}^{t+1}=\begin{cases} X_{best}^t + \beta.|X_{i,j}^t - X_{best}^t|,if\, f_i>f_g\\ X_{i,j}^t + K.(\frac{|X_{i,j}^t - X_{worst}^t|}{(f_i -f_w)+\varepsilon}), if\, f_i =f_g \end{cases}\tag{5} Xi,jt+1={ Xbestt+β.Xi,jtXbestt,iffi>fgXi,jt+K.((fifw)+εXi,jtXworstt),iffi=fg(5)
其中,其中 X b e s t X_{best} Xbest是当前的全局最优位置。 β β β 作为步长控制参数,是服从均值为 0,方差为 1 的正态分布的随机数。 K ∈ [ − 1 , 1 ] K∈[-1,1] K[1,1]是一个随机数,fi则是当前麻雀个体的适应度值。 f g f_g fg f w f_w fw分别是当前全局最佳和最差的适应度值。 ε \varepsilon ε 的常数,以避免分母出现零。

为简单起见,当 f i > f g f_i >f_g fi>fg表示此时的麻雀正处于种群的边缘,极其容易受到捕食者的攻击。 X b e s t X_{best} Xbest表示这个位置的麻雀是种群中最好的位置也是十分安全的。 f i = f g f_i = f_g fi=fg时,这表明处于种群中间的麻雀意识到了危险,需要靠近其它的麻雀以此尽量减少它们被捕食的风险。 K K K 表示麻雀移动的方向同时也是步长控制参数。

算法流程

Step1: 初始化种群,迭代次数,初始化捕食者和加入者比列。

Step2:计算适应度值,并排序。

Step3:利用式(3)更新捕食者位置。

Step4:利用式(4)更新加入者位置。

Step5:利用式(5)更新警戒者位置。

Step6:计算适应度值并更新麻雀位置。

Step7:是否满足停止条件,满足则退出,输出结果,否则,重复执行Step2-6;

2.算法结果

在这里插入图片描述

3.参考文献

[1] Xue J , Shen B . A novel swarm intelligence optimization approach: sparrow search algorithm[J]. Systems ence & Control Engineering An Open Access Journal, 2020, 8(1):22-34.

4.Matlab代码

麻雀搜索算法
改进算法:

名称 说明或者参考文献
基于反向策略的麻雀搜索算法 原创
基于Tent混沌映射的麻雀搜索算法 原创
基于Logistic混沌映射的麻雀搜索算法 原创
基于Circle混沌映射的麻雀搜索算法 原创
基于Piecewise混沌映射的麻雀搜索算法 原创
基于Chebyshev混沌映射的麻雀搜索算法 原创
基于Sine混沌映射的麻雀搜索算法 原创
基于Singer混沌映射的麻雀搜索算法 原创
基于迭代混沌映射的麻雀搜索算法 原创
基于Sinusoidal混沌映射的麻雀搜索算法 原创
基于随机游走改进的麻雀搜索算法 原创
基于萤火虫改进的麻雀搜索算法 原创
基于精英反向策略的麻雀搜索算法1 原创
基于精英反向策略的麻雀搜索算法2 原创
基于levy飞行改进的麻雀搜索算法 原创
基于自适应t分布的麻雀算法 原创
混沌麻雀 [1]吕鑫,慕晓冬,张钧,王震.混沌麻雀搜索优化算法[J/OL].北京航空航天大学学报:1-10[2020-11-16].https://doi.org/10.13700/j.bh.1001-5965.2020.0298.
融合柯西变异和反向学习的改进麻雀算法 [1]毛清华,张强.融合柯西变异和反向学习的改进麻雀算法[J/OL].计算机科学与探索:1-12[2020-12-16].http://kns.cnki.net/kcms/detail/11.5602.tp.20201203.1601.006.html.
混合正弦余弦算法和Lévy飞行的麻雀算法(ISSA) [1]毛清华,张强,毛承成,柏嘉旋.混合正弦余弦算法和Lévy飞行的麻雀算法[J/OL].山西大学学报(自然科学版):1-6[2021-04-09].https://doi.org/10.13451/j.sxu.ns.2020135.
基于 Sobol 序列和纵横交叉策略的麻雀搜索算法(SSASC) [1]段玉先,刘昌云.基于 Sobol 序列和纵横交叉策略的麻雀搜索算法[J/OL].计算机应用. https://kns.cnki.net/kcms/detail/51.1307.TP.20210525.1453.002.html
融合正余弦和柯西变异的麻雀搜索算法(SCSSA) [1]李爱莲,全凌翔,崔桂梅,解韶峰.融合正余弦和柯西变异的麻雀搜索算法[J/OL].计算机工程与应用:1-11[2021-09-09].http://kns.cnki.net/kcms/detail/11.2127.TP.20210806.0937.008.html.
多策略融合的改进麻雀搜索算法(ISSA) [1]付华,刘昊.多策略融合的改进麻雀搜索算法及其应用[J/OL].控制与决策:1-10[2021-09-09].https://doi.org/10.13195/j.kzyjc.2021.0582.
基于Logistic回归麻雀算法(MSSA) [1]陈刚,林东,陈飞,陈祥宇.基于Logistic回归麻雀算法的图像分割[J/OL].北京航空航天大学学报:1-14[2021-09-26].https://doi.org/10.13700/j.bh.1001-5965.2021.0268.
自适应变异麻雀搜索优化算法(AMSSA) [1]唐延强,李成海,宋亚飞,陈晨,曹波.自适应变异麻雀搜索优化算法[J/OL].北京航空航天大学学报:1-14[2021-09-27].https://doi.org/10.13700/j.bh.1001-5965.2021.0282.
混合策略改进的麻雀搜索算法(MSSA) [1]张伟康,刘升,任春慧.混合策略改进的麻雀搜索算法[J/OL].计算机工程与应用:1-12[2021-08-05].http://kns.cnki.net/kcms/detail/11.2127.TP.20210721.0848.002.html.
融合多策略的改进麻雀搜索算法(ISSA) [1]张晓萌,张艳珠,刘禄,张硕,熊夫睿.融合多策略的改进麻雀搜索算法[J/OL].计算机应用研究:1-8[2021-12-17].https://doi.org/10.19734/j.issn.1001-3695.2021.09.0412.
自适应t分布与黄金正弦改进的麻雀搜索算法(tGSSA) [1]张伟康,刘升.自适应t分布与黄金正弦改进的麻雀搜索算法及其应用[J/OL].微电子学与计算机:1-8[2021-12-17].https://doi.org/10.19304/J.ISSN1000-7180.2020-0026.
分数阶麻雀搜索算法(FDSSA) [1]江妍,马瑜,梁远哲,王原,李光昊,马鼎.基于分数阶麻雀搜索优化OTSU肺组织分割算法[J].计算机科学,2021,48(S1):28-32.
螺旋探索与自适应混合变异的麻雀搜索(SHSSA) [1]陈功,曾国辉,黄勃,刘瑾.螺旋探索与自适应混合变异的麻雀搜索算法[J/OL].小型微型计算机系统:1-12[2021-12-24].http://kns.cnki.net/kcms/detail/21.1106.tp.20211214.1828.006.html.
改进搜索机制的单纯形法引导麻雀搜索算法(SMSSA) [1]刘成汉,何庆.改进搜索机制的单纯形法引导麻雀搜索算法[J/OL].计算机工程与科学:1-9[2021-12-24].http://kns.cnki.net/kcms/detail/43.1258.TP.20211223.0930.002.html.
基于逐维高斯变异的混沌麻雀优化算法(ISSA) [1]楚哲宇,唐秀英,谭庆,张清君.基于逐维高斯变异的混沌麻雀优化算法[J].自动化应用,2021(08):60-63.DOI:10.19769/j.zdhy.2021.08.019.
基于莱维飞行扰动策略的麻雀搜索算法(ISSA) [1]马卫,朱娴.基于莱维飞行扰动策略的麻雀搜索算法[J].应用科学学报,2022,40(01):116-130.

算法相关应用matlab代码:

名称 说明或者参考链接
麻雀优化的BP神经网络(预测) https://blog.csdn.net/u011835903/article/details/112149776
基于Tent混沌映射改进的麻雀搜索算法SSA优化BP神经网络(预测) -
基于Sine混沌映射改进的麻雀搜索算法SSA优化BP神经网络(预测) -
基于Logistic混沌映射改进的麻雀搜索算法SSA优化BP神经网络(预测) -
麻雀优化的BP神经网络(分类) https://blog.csdn.net/u011835903/article/details/112149394
基于麻雀搜索算法优化概率神经网络PNN的分类预测 https://blog.csdn.net/u011835903/article/details/111496232
基于麻雀搜索算法优化的Elman神经网络数据预测 https://blog.csdn.net/u011835903/article/details/111411127
基于麻雀搜索算法的极限学习机(ELM)分类算法 https://blog.csdn.net/u011835903/article/details/111177850
基于麻雀搜索算法的极限学习机(ELM)回归预测 https://blog.csdn.net/u011835903/article/details/111073635
基于麻雀算法优化的相关向量机RVM的分类算法 https://blog.csdn.net/u011835903/article/details/119005293
基于麻雀算法优化的相关向量机RVM回归预测算法 https://blog.csdn.net/u011835903/article/details/118998966
基于麻雀算法优化的核极限学习机(KELM)的分类算法 https://blog.csdn.net/u011835903/article/details/116851164
基于麻雀算法优化的核极限学习机(KELM)回归预测 https://blog.csdn.net/u011835903/article/details/116849032
基于麻雀搜索算法优化的广义回归神经网络(GRNN)预测 https://blog.csdn.net/u011835903/article/details/110941139
基于麻雀搜索算法优化的SVM数据分类预测 https://blog.csdn.net/u011835903/article/details/110523352
基于麻雀搜索的PID神经网络解耦控制算法 https://blog.csdn.net/u011835903/article/details/110437852
基于麻雀搜索优化K-means图像分割算法 https://blog.csdn.net/u011835903/article/details/109404281
基于麻雀算法优化的二维最大熵图像阈值分割 https://blog.csdn.net/u011835903/article/details/108214713
基于麻雀算法优化的最大熵多阈值分割 https://blog.csdn.net/u011835903/article/details/108203775
基于麻雀算法的二维Otsu图像阈值分割 https://blog.csdn.net/u011835903/article/details/108023193
麻雀算法优化的otsu多阈值分割 https://blog.csdn.net/u011835903/article/details/108019744
麻雀算法优化脉冲耦合神经网络的图像自动分割 https://blog.csdn.net/u011835903/article/details/112909060
基于麻雀算法优化的Tsallis相对熵图像多阈值分割 https://blog.csdn.net/u011835903/article/details/113755585
基于麻雀搜索算法与双伽马校正的图像自适应增强算法 https://blog.csdn.net/u011835903/article/details/109330643
基于麻雀搜索算法与非完全beta函数的自适应图像增强算法 https://blog.csdn.net/u011835903/article/details/109313513
基于麻雀搜索算法PID参数优化 https://blog.csdn.net/u011835903/article/details/109306387
基于麻雀搜索算法的TSP问题求解 https://blog.csdn.net/u011835903/article/details/109587929
基于麻雀搜索算法无线传感器网络(WSN)覆盖优化 https://blog.csdn.net/u011835903/article/details/109262039
基于麻雀搜索算法的3D无线传感器网络(WSN)覆盖优化 https://blog.csdn.net/u011835903/article/details/113834323
基于麻雀搜索的LMS自适应滤波算法 https://blog.csdn.net/u011835903/article/details/110529694
基于麻雀搜索的路径规划算法 https://blog.csdn.net/u011835903/article/details/109100220
基于麻雀搜搜算法的积分计算算法 https://blog.csdn.net/u011835903/article/details/114330697
基于麻雀搜索算法的工程优化案例(3种) https://blog.csdn.net/u011835903/article/details/114106139
基于麻雀算法改进的随机森林回归预测算法(SSA-RF) https://blog.csdn.net/u011835903/article/details/121860633
基于麻雀算法改进的随机森林分类算法(SSA-RF) https://blog.csdn.net/u011835903/article/details/121860734
麻雀算法改进的深度极限学习机DELM的预测(SSA-DELM) https://blog.csdn.net/u011835903/article/details/123115147
麻雀算法改进的深度极限学习机DELM的分类(SSA-DELM) https://blog.csdn.net/u011835903/article/details/123091238
基于麻雀算法优化的Renyi熵图像多阈值分割 https://blog.csdn.net/u011835903/article/details/108276355 原理一样只是优化算法部分原理为麻雀
基于麻雀算法优化的指数熵图像多阈值分割 https://blog.csdn.net/u011835903/article/details/108263933 原理一样只是优化算法部分原理为麻雀
基于麻雀算法优化的灰度熵图像多阈值分割 https://blog.csdn.net/u011835903/article/details/108243596 原理一样只是优化算法部分原理为麻雀
基于麻雀算法优化的对称交叉熵图像多阈值分割 https://blog.csdn.net/u011835903/article/details/108241032 原理一样只是优化算法部分原理为麻雀
基于麻雀算法优化的最小交叉熵图像多阈值分割 https://blog.csdn.net/u011835903/article/details/108240562 原理一样只是优化算法部分原理为麻雀
基于麻雀算法优化的二维最大熵图像阈值分割 https://blog.csdn.net/u011835903/article/details/108214713 原理一样只是优化算法部分原理为麻雀
基于麻雀算法的二维Otsu图像阈值分割 https://blog.csdn.net/u011835903/article/details/108023193 原理一样只是优化算法部分原理为麻雀
基于麻雀搜索算法的同步优化特征选择 https://blog.csdn.net/u011835903/article/details/121103001
基于麻雀算法的投影寻踪模型(SSA-PP) https://blog.csdn.net/u011835903/article/details/121120392
基于麻雀算法改进的无线传感器网络Dv-hop定位算法 https://blog.csdn.net/u011835903/article/details/121334401
基于麻雀算法的无人机航迹规划 https://blog.csdn.net/u011835903/article/details/122926764

5.Python代码

麻雀搜索算法
改进算法:

名称 说明或者参考文献
基于反向策略的麻雀搜索算法 原创
基于Tent混沌映射的麻雀搜索算法 原创
基于Logistic混沌映射的麻雀搜索算法 原创
基于Circle混沌映射的麻雀搜索算法 原创
基于Piecewise混沌映射的麻雀搜索算法 原创
基于Chebyshev混沌映射的麻雀搜索算法 原创
基于Sine混沌映射的麻雀搜索算法 原创
基于Singer混沌映射的麻雀搜索算法 原创
基于迭代混沌映射的麻雀搜索算法 原创
基于Sinusoidal混沌映射的麻雀搜索算法 原创
基于随机游走改进的麻雀搜索算法 原创
基于萤火虫改进的麻雀搜索算法 原创
基于精英反向策略的麻雀搜索算法1 原创
基于精英反向策略的麻雀搜索算法2 原创
基于levy飞行改进的麻雀搜索算法 原创
基于自适应t分布的麻雀算法 原创
混沌麻雀 [1]吕鑫,慕晓冬,张钧,王震.混沌麻雀搜索优化算法[J/OL].北京航空航天大学学报:1-10[2020-11-16].https://doi.org/10.13700/j.bh.1001-5965.2020.0298.
混合正弦余弦算法和Lévy飞行的麻雀算法(ISSA) [1]毛清华,张强,毛承成,柏嘉旋.混合正弦余弦算法和Lévy飞行的麻雀算法[J/OL].山西大学学报(自然科学版):1-6[2021-04-09].https://doi.org/10.13451/j.sxu.ns.2020135.

算法相关应用Python代码:

名称 说明或者参考文献
基于麻雀算法的SVM分类(SSA-SVM) https://blog.csdn.net/u011835903/article/details/110523352
基于麻雀算法的SVM回归预测(SSA-SVM) https://blog.csdn.net/u011835903/article/details/110630270
基于麻雀搜索算法的极限学习机(ELM)分类算法(SSA-ELM) https://blog.csdn.net/u011835903/article/details/111177850
基于麻雀搜索算法的极限学习机(ELM)回归预测算法(SSA-ELM) https://blog.csdn.net/u011835903/article/details/111073635
基于麻雀算法的无线传感器网(WSN)覆盖优化(SSA-WSN) https://blog.csdn.net/u011835903/article/details/109262039
基于麻雀算法改进的随机森林分类算法(SSA-RF) https://blog.csdn.net/u011835903/article/details/121860734
基于麻雀算法改进的随机森林回归预测算法(SSA-RF) https://blog.csdn.net/u011835903/article/details/121860633
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u011835903/article/details/108830958

智能推荐

【史上最易懂】马尔科夫链-蒙特卡洛方法:基于马尔科夫链的采样方法,从概率分布中随机抽取样本,从而得到分布的近似_马尔科夫链期望怎么求-程序员宅基地

文章浏览阅读1.3k次,点赞40次,收藏19次。虽然你不能直接计算每个房间的人数,但通过马尔科夫链的蒙特卡洛方法,你可以从任意状态(房间)开始采样,并最终收敛到目标分布(人数分布)。然后,根据一个规则(假设转移概率是基于房间的人数,人数较多的房间具有较高的转移概率),你随机选择一个相邻的房间作为下一个状态。比如在巨大城堡,里面有很多房间,找到每个房间里的人数分布情况(每个房间被访问的次数),但是你不能一次进入所有的房间并计数。但是,当你重复这个过程很多次时,你会发现你更有可能停留在人数更多的房间,而在人数较少的房间停留的次数较少。_马尔科夫链期望怎么求

linux以root登陆命令,su命令和sudo命令,以及限制root用户登录-程序员宅基地

文章浏览阅读3.9k次。一、su命令su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。命令su的格式为:su [-] username1、后面可以跟 ‘-‘ 也可以不跟,普通用户su不加username时就是切换到root用户,当然root用户同样可以su到普通用户。 ‘-‘ 这个字符的作用是,加上后会初始化当前用户的各种环境变量。下面看下加‘-’和不加‘-’的区别:root用户切换到普通..._限制su root登陆

精通VC与Matlab联合编程(六)_精通vc和matlab联合编程 六-程序员宅基地

文章浏览阅读1.2k次。精通VC与Matlab联合编程(六)作者:邓科下载源代码浅析VC与MATLAB联合编程浅析VC与MATLAB联合编程浅析VC与MATLAB联合编程浅析VC与MATLAB联合编程浅析VC与MATLAB联合编程  Matlab C/C++函数库是Matlab扩展功能重要的组成部分,包含了大量的用C/C++语言重新编写的Matlab函数,主要包括初等数学函数、线形代数函数、矩阵操作函数、数值计算函数_精通vc和matlab联合编程 六

Asp.Net MVC2中扩展ModelMetadata的DescriptionAttribute。-程序员宅基地

文章浏览阅读128次。在MVC2中默认并没有实现DescriptionAttribute(虽然可以找到这个属性,通过阅读MVC源码,发现并没有实现方法),这很不方便,特别是我们使用EditorForModel的时候,我们需要对字段进行简要的介绍,下面来扩展这个属性。新建类 DescriptionMetadataProvider然后重写DataAnnotationsModelMetadataPro..._asp.net mvc 模型description

领域模型架构 eShopOnWeb项目分析 上-程序员宅基地

文章浏览阅读1.3k次。一.概述  本篇继续探讨web应用架构,讲基于DDD风格下最初的领域模型架构,不同于DDD风格下CQRS架构,二者架构主要区别是领域层的变化。 架构的演变是从领域模型到C..._eshoponweb

Springboot中使用kafka_springboot kafka-程序员宅基地

文章浏览阅读2.6w次,点赞23次,收藏85次。首先说明,本人之前没用过zookeeper、kafka等,尚硅谷十几个小时的教程实在没有耐心看,现在我也不知道分区、副本之类的概念。用kafka只是听说他比RabbitMQ快,我也是昨天晚上刚使用,下文中若有讲错的地方或者我的理解与它的本质有偏差的地方请包涵。此文背景的环境是windows,linux流程也差不多。 官网下载kafka,选择Binary downloads Apache Kafka 解压在D盘下或者什么地方,注意不要放在桌面等绝对路径太长的地方 打开conf_springboot kafka

随便推点

VS2008+水晶报表 发布后可能无法打印的解决办法_水晶报表 不能打印-程序员宅基地

文章浏览阅读1k次。编好水晶报表代码,用的是ActiveX模式,在本机运行,第一次运行提示安装ActiveX控件,安装后,一切正常,能正常打印,但发布到网站那边运行,可能是一闪而过,连提示安装ActiveX控件也没有,甚至相关的功能图标都不能正常显示,再点"打印图标"也是没反应解决方法是: 1.先下载"PrintControl.cab" http://support.businessobjects.c_水晶报表 不能打印

一. UC/OS-Ⅱ简介_ucos-程序员宅基地

文章浏览阅读1.3k次。绝大部分UC/OS-II的源码是用移植性很强的ANSI C写的。也就是说某产品可以只使用很少几个UC/OS-II调用,而另一个产品则使用了几乎所有UC/OS-II的功能,这样可以减少产品中的UC/OS-II所需的存储器空间(RAM和ROM)。UC/OS-II是为嵌入式应用而设计的,这就意味着,只要用户有固化手段(C编译、连接、下载和固化), UC/OS-II可以嵌入到用户的产品中成为产品的一部分。1998年uC/OS-II,目前的版本uC/OS -II V2.61,2.72。1.UC/OS-Ⅱ简介。_ucos

python自动化运维要学什么,python自动化运维项目_运维学python该学些什么-程序员宅基地

文章浏览阅读614次,点赞22次,收藏11次。大家好,本文将围绕python自动化运维需要掌握的技能展开说明,python自动化运维从入门到精通是一个很多人都想弄明白的事情,想搞清楚python自动化运维快速入门 pdf需要先了解以下几个事情。这篇文章主要介绍了一个有趣的事情,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。_运维学python该学些什么

解决IISASP调用XmlHTTP出现msxml3.dll (0x80070005) 拒绝访问的错误-程序员宅基地

文章浏览阅读524次。2019独角兽企业重金招聘Python工程师标准>>> ..._hotfix for msxml 4.0 service pack 2 - kb832414

python和易语言的脚本哪门更实用?_易语言还是python适合辅助-程序员宅基地

文章浏览阅读546次。python和易语言的脚本哪门更实用?_易语言还是python适合辅助

redis watch使用场景_详解redis中的锁以及使用场景-程序员宅基地

文章浏览阅读134次。详解redis中的锁以及使用场景,指令,事务,分布式,命令,时间详解redis中的锁以及使用场景易采站长站,站长之家为您整理了详解redis中的锁以及使用场景的相关内容。分布式锁什么是分布式锁?分布式锁是控制分布式系统之间同步访问共享资源的一种方式。为什么要使用分布式锁?​ 为了保证共享资源的数据一致性。什么场景下使用分布式锁?​ 数据重要且要保证一致性如何实现分布式锁?主要介绍使用redis来实..._redis setnx watch

推荐文章

热门文章

相关标签