麻雀搜索算法

1.1算法来源

麻雀搜索算法(Sparrow Search Algorithm, SSA)是一种新型的群智能优化算法,在2020年提出,主要是受麻雀的觅食行为和反捕食行为的启发其期刊为:A novel swarm intelligence optimization approach: sparrow search algorithm https://www.tandfonline.com/doi/full/10.1080/21642583.2019.1708830

1.2鸟类种群的特点

   麻雀通常是群居鸟类,种类繁多。它们分布在世界大部分地区,喜欢生活在人类生活的地方。此外,它们是杂食性鸟类,主要以谷物或杂草的种子为食。众所周知,麻雀是常见的留鸟。与许多其他小型鸟类相比,麻雀非常聪明,记忆力很强。

研究表明,个体会监控群体中其他人的行为。与此同时,鸟群中的攻击者想要提高自己的捕食率,被用来争夺高摄入量同伴的食物资源

当麻雀选择不同的觅食策略时,个体的能量储备可能发挥重要作用,能量储备低的麻雀搜寻更多。值得一提的是,位于种群外围的鸟类更容易受到捕食者的攻击,并不断尝试获得更好的位置。请注意,位于中心的动物可能会靠近邻伴,以尽量减少它们的危险领域。我们也知道,所有的麻雀都表现出对一切事物好奇的天生本能,同时它们总是保持警惕。

2.六大原则

在讲解数学模型前,原文中给出了六条规则:

1.在整个种群中,探索者通常拥有较高的能源储备并且负责搜索食物丰富的区域,为所有的追随者提供觅食的区域和方向。在算法中能量储备的高低与麻雀个体适应度值息息相关。

2.一旦麻雀发现天敌,即发出鸣叫作为报警信号。当报警值大于安全值时,探索者将会引导追随者到其它安全区域进行觅食。

3.算法中根据能否找到更好的食物来定义麻雀的身份,虽然麻雀的身份会随时转变,但是探索着与追随者在种群内的比重是不变的。

4.能量储备较高的麻雀将充当探索者。为了获得更多的能量,能量较低的追随者有可能飞到其他地方觅食。

5.在觅食过程中,追随者总是能够跟随能量储备较高的探索者进行觅食。为了提高自己的捕食率,某些个体吃着碗里瞧着锅里,它们可能会监视探索者进而争夺更多的食物资源。

6.当天敌构成一定的威胁时,位于群体边缘的麻雀为了获得更好的位置会迅速向安全区域移动,而位于种群中间的麻雀则会随机移动。

3数学模型

在每次迭代的过程中,发现者的位置更新描述如下

其中,Xij 为麻雀个体位置,i 为当前迭代次数,itermax 为最大迭代次数;α为[0,1]内一随机数;R2 (R2 ∈ [0,1]) 、ST (ST ∈ [0.5,1])分别为预警值和安全值;Q 为服从正态分布的随机数;为一个 1×d 的矩阵,其中每个元素均为1。

R2<ST 时,这意味着周围没有天敌,探索者可以进行全局搜索。若R2≥ST 这意味着一些麻雀已经发现了捕食者,所有麻雀都要采取相关行动。前文提到在觅食过程中,一些追随者会时刻监视着探索者。一旦探索者找到更好的食物,它们会立即离开现在的位置去争夺食物。如果它们赢得了竞争则可以立即获得该食物,追随者的位置更新方式如下:

其中,Xp为最优探索者的位置,Xworst 为当前全局最差位置;n为种群规模。A为一 个1×d 的矩阵,每个元素随机幅值为1或-1,并且A+=AT(AAT)-1>n/2时,这表明,适应度值较低的第i个加入者没有获得食物,处于十分饥饿的状态,此时需要飞往其它地方觅食,以获得更多的能量

当意识到危险时,麻雀种群会做出反捕食行为:

猜你喜欢

转载自blog.csdn.net/m0_54176616/article/details/127649944