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

技术标签: 算法  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

智能推荐

【数据结构复习04】队列的链式存储实现以及基本操作_用链队列作存储结构,实现队列(元素为整型)的基本运算。-程序员宅基地

文章浏览阅读640次。队列的链式存储实现以及基本操作队列的链式存储类型描述typedef struct Node{ //链式队列节点 int data; struct Node *next;}LinkNode;typedef struct Queue{ //链式队列 LinkNode *front,*rear; //队头与队尾指针}LiQueue;注意事项总体上和单链表的操作相同,只不过是存取受限。值得注意的是定义“链式队列”结构体时,要注意和单链表的定义不一样。“链式队列”结构体里面已经包含了指针,_用链队列作存储结构,实现队列(元素为整型)的基本运算。

python怎么编写口算题_来出口算题—— Python编程-程序员宅基地

文章浏览阅读2.3k次。原标题:来出口算题—— Python编程今天,小编带大家做一个实用的小程序,也就是计算题生成器。低年级的小朋友,最需要提高的就是计算能力,而计算能力的提升离不开有效的练习,而手动出题总会有局限性,并且很麻烦。家长们一开始都是自己一道一道的出题,后来买许多口算的书从书上拼凑,有时也从网上查找,有的题目需要反复验算其合理性,家长的工作量是孩子的好几倍,花1小时出好的题,孩子可能10分钟就做完了,家长再..._python口算题代码

沈师PTA--JAVA程序设计-第5章习题集--判断题答案版_可以使用throws语句来指明方法有异常抛出。-程序员宅基地

文章浏览阅读1.5k次,点赞2次,收藏7次。R1-1一个异常处理中 finally语句块可以不出现,也可以出现一次。(2分)TR1-2一个try语句可以有多个catch语句与之对应。(2分)TR1-3Java语言中的所有异常类都是java.lang.Throwable的子类。(2分)TR1-4可以使用throws语句来指明方法有异常抛出。(2分)TR1-5所有异常都必须捕获。(2分)FR1-6用户可以自定义自己的异常类。(2分)TR1-7若异常发生时,它没有捕获,后续的程序不受任何影响,依然能正常执行_可以使用throws语句来指明方法有异常抛出。

TTL、CMOS、RS232、RS485、RS422、CAN、USB电平说明 与通讯芯片_单片机引脚一般是ttl-程序员宅基地

文章浏览阅读2.8k次,点赞4次,收藏40次。什么是TTL电平、CMOS电平、RS232电平?它们有什么区别呢?一般说来,CMOS电平比TTL电平有着更高的噪声容限。单片机串口输出的是TTL电平,电脑串口输出的是RS232电平,需要芯片转换。(一)、TTL电平标准输出 L: &lt;0.8V ; H:&gt;2.4V。输入 L: &lt;1.2V ; H:&gt;2.0VTTL器件输出低电平要小于0.8V,高电平要大于2.4V..._单片机引脚一般是ttl

Flutter原理:三棵重要的树(渲染过程、布局约束,flutterlistview原理复用_flutter focus原理-程序员宅基地

文章浏览阅读2.7k次。每次,当控件挂载到控件树上时,Flutter 调用其 createElement() 方法,创建其对应的 Element。Flutter 再将这个 Element 放到元素树上,并持有创建它控件的引用,如下图:控件会有它的子树:子控件也会创建相应 Element 被放在元素树上:4Element 中的状态我们上文提到了 Widget 的不可变性,相应的 Element 就有其可变性,正如我们前文所说的它被标记为 dirty Element 便是作为需要更新的状态,另外一个我们需要格外注意的是,_flutter focus原理

zepto.js选择器_zepto.js 属性选择-程序员宅基地

文章浏览阅读2.1k次。1.$是一个函数构造器_zepto.js 属性选择

随便推点

hashcode详解-程序员宅基地

文章浏览阅读2k次。HashCode是在Java中用于获取对象的唯一标识符的方法。它是根据对象的内容生成的一个整数值。对象的hashCode()方法被调用时,它返回的是对象的哈希码。哈希码可以用于在哈希表等数据结构中快速定位对象。在Java中,hashCode()方法是被Object类定义的,所有的对象都可以调用该方法。默认情况下,hashCode()方法返回的是对象的内存地址的哈希码表示。通常情况下,如果两个对象的equals()方法返回true,那么它们的hashCode()方法应该返回相同的值。_hashcode

java计算机毕业设计(附源码)英语单词学习软件app(ssm+mysql+maven+LW文档)-程序员宅基地

文章浏览阅读231次,点赞5次,收藏6次。其次,通过智能化的学习算法,软件能够根据用户的学习进度和记忆能力,提供定制化的学习计划和复习提醒,从而确保学习效果的最大化。此外,软件中的互动元素和游戏化设计,增加了学习的趣味性,激发了用户的学习动力。最后,随着用户词汇量的增加,他们将更加自信地运用英语进行沟通和表达,这不仅有助于个人职业发展,也促进了跨文化交流,增进了不同文化之间的理解和尊重。因此,英语单词学习软件APP的开发和应用,不仅是技术进步的体现,更是推动语言学习和文化交流的重要力量。随着科技的发展和移动设备的普及,学习英语的方式也在不断进化。

_004_jspAndServlet_Servlet3.0的异步_hasoriginalrequestandresponse-程序员宅基地

文章浏览阅读127次。来自https://www.cnblogs.com/zr520/p/6103410.html,感谢作者的无私分享。servlet之前的操作同时同步的,就是按照这样的一个流程来走的:1.请求根据一个路径路由到一个servlet中,2.servlet获取一系列的参数3.执行一系列的逻辑(花费时间所占的比重也更大)4.返回结果上面的问题出现在这一系列的操作都是同步的,所以这个请求必定是堵塞到所以任务都完..._hasoriginalrequestandresponse

异构计算 — CPU+GPU_异构计算 cpu gpu-程序员宅基地

文章浏览阅读5.9k次。目录文章目录目录CPU-GPU 异构计算系统分离式架构CPU-GPU 异构计算系统在现代的异构计算系统中,GPU 是以 PCIe 卡的形式作为 CPU 的辅助计算设备。根据 CPU 和 GPU 是否共享了内存,可分为两种类型的 CPU-GPU 异构计算架构:分离式架构:CPU 和 GPU 拥有各自独立的缓存和内存,两者之间通过 PCIe 总线通信。目前主要做计算机、智能手机中使用。耦合式架构:CPU 和 GPU 共享内存和缓存。AMD 的 APU 采用的就是这种结构,目前主要使用在游戏主机中。_异构计算 cpu gpu

小米10pro卡刷教程 卡刷升级官方系统方法_小米10如何刷澎湃系统-程序员宅基地

文章浏览阅读1.3w次。来源:智能手机网小米10pro卡刷升级官方系统图文步骤1、确保手机电量充足,己经下载好了官方卡刷包,还没有下载的请下载小米10pro官方完整卡刷包。2、将手机连接电脑,打开存储模式,将下载后的zip格式的压缩包不要解压,直接拷贝至内置存储 /downloaded_rom 文件夹下,或仅包含"英文或数字"路径的文件夹下。3、然后进入小米10pro手机中“设置-我的设备,如下图所示:..._小米10如何刷澎湃系统

浅析J2EE,J2SE,J2ME_简述j2se.j2ee和j2me的特点及使用方向-程序员宅基地

文章浏览阅读1k次。J2EE,J2SE,J2ME三者有什么不同?J2EE,J2SE,J2ME是Sun 公司的Java多个版本,就像Windows XP还有专业版和家庭版是一样的。J2EE:Java 2 Platform Enterprise Edition 企业版,用于企业应用,支持分布式部署。J2SE:Java 2 Platform Standard Edition 标准版,用于桌面应用,也是J2EE的_简述j2se.j2ee和j2me的特点及使用方向

推荐文章

热门文章

相关标签