获取更多资讯,赶快关注上面的公众号吧!

文章目录

  • 第七章 萤火虫群优化算法
    • 7.1 介绍
      • 7.1.1 闪光模式
      • 7.1.2 群体交配
    • 7.2 萤火虫群优化算法
      • 7.2.1 算法
    • 7.3 GSO算法的数学证明
    • 参考文献

第七章 萤火虫群优化算法

7.1 介绍

萤火虫(Glowworms)是一群能发光的昆虫,也被称为闪电虫,它们使用一种叫做生物发光(bioluminescence)的过程来发光。然而,已经发现了许多具有类似发光行为的生物,如水母、某些细菌、原生动物、水生动物等,事实上,大约80%到90%的海洋生物是由发光生物组成的。萤火虫流行的原因是它们很容易被发现且数量巨大。

看到萤火虫在夏夜忽明忽暗地眨眼,要比看到它们的群体行为容易得多,大量的萤火虫聚集在一起形成一个群体,同时发出闪光,在目睹了这些美丽的景象之后,人们不禁想知道萤火虫这种发光和聚集行为的“原理”和“原因”。这种发光行为的原因是为了吸引它们不知情的猎物进入陷阱,并吸引配偶进行繁殖。在繁殖过程中,既可以观察到个体的求偶也可以观察到群体的交配。
萤火虫的生命周期从卵开始,然后从卵变成蛹,蛹变成幼虫,幼虫变成成虫,萤火虫只需要几周的时间就可以成年,因此,以保留物种为目标,寻找交配对象进行繁殖是当务之急。

7.1.1 闪光模式

随着进化,萤火虫已经进化到可以通过多种方式控制光的发射,从而产生不同的交配信号。它们通过改变如下参数来产生不同的信号:

  • 发光的颜色;
  • 发光的亮度;
  • 雄性闪光和雌性闪光-相位差;
  • 每次闪光持续时间;
  • 每周期闪光次数;
  • 闪光时间;
  • 连续发光或闪光脉冲序列。

Kaipa和Ghose (2017)用不同的例子来描述这些闪光模式,例如使用Lampyrus萤火虫,一种在欧洲常见的萤火虫,只有雌性才有发光的能力。她在草地上扭动着身体,把光线从一个方向扫到另一个方向,以吸引四处游荡的雄性萤火虫的注意。对于Lamprophorustenebrosus萤火虫,雄性和雌性都具有发光能力,但雌性没有翅膀,其类似于Lampyrus,利用光线吸引配偶。在一些物种中,雌性使用不同的模式,如长闪光发光,在间隔时间内并不完全熄灭。当雄性在10英尺远的地方能感觉到这种模式时,它们就会飞向雌性。这些闪光模式是物种特有的,例如在Photinus这一类萤火虫中,雄性通过在地面上爬行开始交配,发出各种各样的光,并观察附近雌性的反应信号。在Photinus consanguineus中,雄萤火虫发出两道闪光,雄萤火虫停顿一下,接着又发出两道闪光,它重复这个模式。在雄性发出第二次闪光后,雌性会在一秒钟内做出回应。在Photinus castus中,雄萤火虫发出长长的闪光,雌萤火虫立即做出回应。尽管P. consanguineus和P. castus的结构非常类似,但根据它们发光的模式不同,它们被认为是不同的物种。尽管它们经常一起飞行,但是不会出现杂交的情况,但根据它们发光的模式不同,它们被认为是不同的物种,但它们经常一起飞行。

7.1.2 群体交配

上面提到的物种有一个共同点,不管是雄性还是雌性,不管是谁在吸引另一个,都需要一个不间断的视线,这样他们才能感知到信号并做出回应。在一些视觉杂乱的地区,比如东南亚的红树林沼泽,要获得如此不间断的视线并不容易。因此,在这些地区发现的物种没有选择个体求偶。这里的萤火虫而是在树上或洞穴里成群结队,因为这样游走的萤火虫就很容易找到交配对象。如果最初没有群体,那么通过相互的光吸引,萤火虫可能会形成一个核团。在形成这些群体的过程中存在着竞争,这就导致了不止一个更大的群体,而这些更大的群体会进一步吸引附近更小的核,因为它们的平均光发射量更高,这意味着找到配偶的可能性更高。

7.2 萤火虫群优化算法

针对萤火虫和萤火虫群的行为,Krishnanand和Ghose(2005)[1]提出了萤火虫群优化算法(Glowworm Swarm Optimization,GSO),并使用于诸多应用。最初,GSO的开发目标是提供数值优化问题的解决方案,而不是确定全局最优,但是由于GSO的分散决策和移动协议,它在机器人等领域做出了更多的贡献。

最初受萤火虫启发,GSO在随机搜索空间中随机分布一组或一群代理,代理间通过其他行为机制相互影响,而这些机制在其自然界中的对应物中是不存在的。算法的基本工作基于以下三种机制:

  1. 适应度广播
    萤火虫有一种叫做荧光素(luciferin)的色素,可以使萤火虫发光。萤火虫体内荧光素的含量决定了它们在目标空间中的位置的适应度。
  2. 正趋性
    萤火虫被比自己亮的邻居吸引,因此开始向它移动。当有多个这样的邻居时,它利用概率机制来选择一个。
  3. 自适应邻域
    每个萤火虫利用一个自适应邻域来识别邻居,该邻域由一个具有可变范围rdi的局部决策域定义,该域的边界是一个硬限制的感知范围rs(0<rdi<rs)。这里可以使用一种合适的启发式方法来调节rdi。萤火虫的运动完全依赖于局部信息,每个萤火虫都会选择一个邻居,这个邻居的荧光素值大于它自己的荧光素值,然后向它靠近。这些运动建立在可用的局部信息和选择性的邻居交互的基础上,使得萤火虫群能够聚集成不相交的子群,朝着给定多峰函数的多个最优值移动并在其上相遇。

7.2.1 算法

虽然该算法被解释为寻找多峰函数的多个最优解,但可以通过简单修改用于最小化问题。最初,GSO将萤火虫随机地放置在搜索空间中,使它们分布得很好。初始时,每只萤火虫体内的荧光素含量为零。该算法的单位周期包括荧光素更新阶段、移动阶段和邻域范围更新阶段,如图1所示。

图1 GSO算法流程

以下为GSO算法的伪代码:

Begin设置维数=d设置萤火虫数量=g设步长=n设xi(t)为萤火虫i在时间t的位置for i=1 to g do Li(0)=L0rd=r0设置最大迭代次数=iter max设置t=1设置邻域阈值ntWhile(t<=iter max)for 每一个萤火虫i//更新荧光素,J(xi(t))表示萤火虫i在t时刻所在位置的目标函数值Li(t)=(1-ρ)Li(t-1)+γJ(xi(t))endfor 每一个萤火虫ifor 每一个萤火虫j//寻找萤火虫的邻居Ni(t)={j:||xj(t)−xi(t)||<rdi(t)且Li(t)<Lj(t)}endfor 每一个萤火虫j∈Ni(t)//轮盘赌选择移动的方向pij(t)=[Lj(t)-Li(t)]/{sumk∈Ni(t)[Lk(t)-Li(t)]}endj=max pij(t)//移动,更新位置xi(t+1)=xi(t)+n*(xj(t)-xi(t))/(||xj(t)-xi(t)||)rdi(t+1)=min{rs,max{0,rdi(t)+β(nt-|Ni(t)|)}}endt=t+1end
end

7.3 GSO算法的数学证明

参见原文[1]。

参考文献

  1. Krishnanand, K.N. and D. Ghose. Detection of multiple source locations using a glowworm metaphor with applications to collective robotics. in Proceedings 2005 IEEE Swarm Intelligence Symposium, 2005. SIS 2005. 2005.

群体智能优化算法之萤火虫群优化算法(Glowworm Swarm Optimization,GSO)相关推荐

  1. 智能算法|以动物命名的算法

    黄梅时节家家雨,青草池塘处处蛙. 有约不来过夜半,闲敲棋子落灯花. 鱼群算法?鸟群算法?蝙蝠算法?蚁群算法?病毒算法?...what?这些是什么沙雕算法? 别看这些算法名字挺接地气的,实际上确实很接地 ...

  2. 【智能优化算法】基于全局优化的改进鸡群算法求解单目标优化问题(ECSO)附matlab代码

    1 简介 智能算法分为两种,一种是群体智能算法(swarmintelligencealgorithm),该算法大多模拟自然界中动植物的特有行为,并将其表达成数学语言,从而进行迭代寻优,如模拟蝙蝠回声定 ...

  3. 【优化求解】粒子群优化和重力搜索算法求解MLP问题matlab代码

    1 简介 本文通过结合引力搜索算法和粒子群优化算法,克服单一算法的不足,发挥单个算法的优点,提出一种改进的混合优化算法( Integrated Gravitation- al Search Algor ...

  4. 群体智能优化算法之细菌觅食优化算法(Bacterial Foraging Optimization Algorithm,BFOA)

    获取更多资讯,赶快关注上面的公众号吧! 文章目录 第十四章 细菌觅食优化算法 14.1 介绍 14.2 BFOA的基本原理与流程 14.2.1 趋向性操作 14.2.2 复制操作 14.2.3 迁徙操 ...

  5. 智能优化算法:白鲸优化算法-附代码

    智能优化算法:白鲸优化算法 摘要:白鲸优化算法([Beluga whale optimization,BWO)是由是由 Changting Zhong 等于2022 年提出的一种群体智能优化算法.其灵 ...

  6. 求解高维优化问题的改进正弦余弦算法

    文章目录 一.理论基础 1.正弦余弦算法 2.改进的正弦余弦算法 (1)反向学习初始化 (2)修改个体位置更新方程 (3)算法步骤 二.仿真实验与结果分析 1.测试函数 2.实验结果 (1)和原始SC ...

  7. 智能优化算法:侏儒猫鼬优化算法-附代码

    智能优化算法:侏儒猫鼬优化算法 摘要:侏儒猫鼬优化算法(Dwarf Mongoose Optimization,DMO)是由是由 Jeffrey O. Agushaka 等于2022 年提出的一种群体 ...

  8. 【学习笔记】【算法】【智能优化】粒子群优化(PSO)

    [学习笔记][算法][智能优化]粒子群优化(PSO) 文章目录 [学习笔记][算法][智能优化]粒子群优化(PSO) 1 算法背景 1.1 背景 1.2 基础知识 2 算法原理 2.1 基本原理 2. ...

  9. 【优化调度】基于粒子群算法求解梯级水电站调度问题matlab代码

    1 简介 粒子群算法( Particle Swarm Optimization, PSO)最早是由Eberhart和Kennedy于1995年提出,它的基本概念源于对鸟群觅食行为的研究.设想这样一个场 ...

  10. 【优化求解】基于猫群算法CSO求解最优目标matlab源码

    1 简介 猫群算法(CSO)是 2006 年由台湾学者 Chu 等人通过观察猫群在日常生活中的行为提出来的一种新型群体智能算法.猫群算法与遗传算法类似,是基于迭代的优化方法,但是没有遗传算法的交叉算子 ...

最新文章

  1. 机器学习2021 | 机器学习算法如何商业落地?
  2. 地理信息技术加持 用数字孪生让城市更“聪明”
  3. scala unapply
  4. oracle as 不可以省略,Oracle:存储过程,存储函数
  5. spring入门-----spring中遍历各种集合
  6. CA与数字证书的自结
  7. 我的世界服务器怎么弄无限急迫,我的世界有什么指令设置无限急迫
  8. 翻译: 2.5. 自动微分 深入神经网络 pytorch
  9. 计算机语言入门vfp,VFP基础教程第二章VFP语言基础3
  10. python做软件二次开发好吗_利用Python二次开发Creo
  11. Leetcode热门100之两数相加
  12. 拜占庭鲁棒Krum聚合算法
  13. 国产开源基于 Java 的轻量级 CMS 解决方案 天梯
  14. linux日志查看/项目日志查看/监控日志
  15. 【时空】冰与火之歌一文弄懂时间复杂度与空间复杂度
  16. 狼在猪面前自杀了(超级搞笑)
  17. “智能对话机器人”离“智能”还有多远?
  18. opencv 傅立叶变换及其逆变换实例及其理解1
  19. windows server 2008 r2服务器安全加固
  20. 坑!windows自带的远程桌面连接会限制目标设备的显卡功能,opengl 版本过低 谁之过

热门文章

  1. Windows下安装和配置NodeJS
  2. jQuery基础资料(三)
  3. pandas之combine_first() 合并重叠数据(修补)
  4. android开发项目app实例_JNPF快速开发平台-快速开发Web+APP项目的java开发平台
  5. java应用中如何连接dbproxy_GitHub - alchemystar/hero: 用c语言写的dbproxy
  6. python求小于n的所有素数_关于求N以内素数的python实现以及优化方法
  7. 多线程java_敞开心扉,一起聊聊Java多线程
  8. python统计频数_python统计单词出现次数
  9. feign调用https接口_SpringCloudFeign远程调用
  10. 随手记_论文读写策略