群体智能优化算法

群体智能优化算法群体智能优化算法介绍什么是群体智能优化算法群体智能优化算法的定义群体智能优化算法的原则常见的群体智能优化算法挖坑蚁群算法粒子群优化算法菌群算法蛙跳算法人工蜂群算法总结由于在研究生期间一直研究粒子群优化算法(ParticleSwarmOptimization),所以对其他的一些群体智能优化算法(SwarmIntelligence)也是有一定的了解的,既然自己在这方面还算有一些自己的见解,所以…

大家好,又见面了,我是你们的朋友全栈君。

由于在研究生期间一直研究
粒子群优化算法(Particle Swarm Optimization),所以对其他的一些
群体智能优化算法(Swarm Intelligence)也是有一定的了解的,既然自己在这方面还算有一些自己的见解,所以,就把这些内容分享出来,让更多的人了解这方面的内容,在需要用到这方面内容去做研究或者写毕设或者做项目的过程中,能够快速的入门。

什么是群体智能优化算法

在研究生期间我研究的是粒子群优化算法,主要将其用在目标跟踪等方面,所以,有了介绍粒子群优化算法的想法,但是,在介绍粒子群优化算法之前,有必要先介绍一下群体智能优化算法,因为粒子群优化算法是属于群体智能优化算法中的一种比较常用的算法。

群体智能优化算法的定义

定义:群体智能优化算法主要模拟了昆虫、兽群、鸟群和鱼群的群体行为,这些群体按照一种合作的方式寻找食物,群体中的每个成员通过学习它自身的经验和其他成员的经验来不断地改变搜索的方向。任何一种由昆虫群体或者其他动物社会行为机制而激发设计出的算法或分布式解决问题的策略均属于群体智能(Swarm Intelligence)
白话解释:模仿昆虫或者一些动物的觅食或者其他行为,这些动物群体按照一中合作的方式寻找食物,不断的交流食物信息,能够很快的找到更多的食物。通过对他们的行为的研究抽象出来的一种算法,就是群体智能优化算法。(例如,一个个体找到了食物,就会通知其他个体来这个有食物的地方,这就是一种行为)

群体智能优化算法的原则

  • 邻近原则:群体能够进行简单的空间和时间计算;
  • 品质原则:群体能够响应环境中的品质因子;
  • 多样性反应原则:群体的行动范围不应该太窄;
  • 稳定性原则:群体不应在每次环境变化时都改变自身的行为;
  • 适应性原则:在所需代价不太高的情况下,群体能够在适当的时候改变自身的行为。

常见的群体智能优化算法

群体智能优化算法出现后,可以说是非常的受欢迎,很多研究学者也都提出了一些自己的群体智能优化算法,但是,受到大家认可(应用较为广泛)的算法大致为:

  • 蚁群算法————-1992年提出
  • 粒子群优化算法—-1995年提出
  • 菌群算法————-2002年提出
  • 蛙跳算法————-2003年提出
  • 人工蜂群算法——-2005年提出
  • 花朵授粉算法——-2012年提出

除了几种常见的算法之外,还有很多很多被提出的群体智能优化算法,例如:萤火虫算法、布谷鸟算法、蝙蝠算法、狼群算法、烟花算法、合同网协议算法等等。

挖坑

后续会对一下几种算法进行详细的介绍(先挖个坑-_-)。

蚁群算法

未完待续

粒子群优化算法

粒子群优化算法在1995 年由Eberhart 博士和kennedy 博士提出,源于对鸟群捕食的行为研究 。该算法最初是受到飞鸟集群活动的规律性启发,进而利用群体智能建立的一个简化模型。粒子群算法在对动物集群活动行为观察基础上,利用群体中的个体对信息的共享使整个群体的运动在问题求解空间中产生从无序到有序的演化过程,从而获得最优解。已填坑,点击查看

菌群算法

菌群优化算法(BFO)是近些年来发展起来的,基于大肠杆菌觅食行为模型的一种新型群智能算法。它是一种简单有效的随机全局优化技术。已填坑,点击查看

蛙跳算法

蛙跳算法的思想是:在一片湿地中生活着一群青蛙。湿地内离散的分布着许多石头,青蛙通过寻找不同的石头进行跳跃去找到食物较多的地方。每只青蛙个体之间通过文化的交流实现信息的交换。每只青蛙都具有自己的文化。每只青蛙的文化被定义为问题的一个解。湿地的整个青蛙群体被分为不同的子群体,每个子群体有着自己的文化,执行局部搜索策略。在子群体中的每个个体有着自己的文化,并且影响着其他个体,也受其他个体的影响,并随着子群体的进化而进化。当子群体进化到一定阶段以后,各个子群体之间再进行思想的交流(全局信息交换)实现子群体间的混合运算,一直到所设置的条件满足为止。未完待续(会单独写一篇文章详细介绍)

人工蜂群算法

人工蜂群算法是模仿蜜蜂行为提出的一种优化方法,是集群智能思想的一个具体应用,它的主要特点是不需要了解问题的特殊信息,只需要对问题进行优劣的比较,通过各人工蜂个体的局部寻优行为,最终在群体中使全局最优值突现出来,有着较快的收敛速度。未完待续(会单独写一篇文章详细介绍)

总结

本博文对群体智能优化算法进行了简单的介绍,并对几种群体智能优化算法进行了简单的描述,留着后续填坑。
如果您有任何需要,都可以加我微信,进行讨论。
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142297.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java 流程控制

    Java 流程控制

    2021年10月6日
    42
  • springboot test 测试

    springboot test 测试最近项目中写了一个模块,只写到service给其他地方调用就行,不需要写接口这样的话测试就不方便了,于是想起了springboottest,这里有几个需要注意的地方就是test类必须和主启动类所在的包路径一样,不然报错,还有test类需要加入注解@SpringBootTest(classes=主启动类.class),@RunWith指定的运行器,我只用了springrunner,其他的还有junit,Suite等,然后在方法上加入@Test就可以运行了,运行的方式选择(run方法名withcove

    2022年5月4日
    63
  • localdate和localdatetime互转_datetimeformatter.ofpattern

    localdate和localdatetime互转_datetimeformatter.ofpatternLocalDateTime及LocalDate是Java8的新特性,有时为了兼容Date类型需要进行转换。今天的项目就有一个需求是实现一个函数能够计算出当天在一年中的第多少天,通过搜索找到java8有LocalDateTime类就能够实现这个需求。但是需要进行时间类型的转换工作。这里把LocalDateTimeLocalDate和Date之间的转换进行了整理,方便大家使用。转换方法LocalDateTime转LocalDateLocalDate转LocalD

    2022年9月27日
    0
  • layUI展示树状treetable树形表格完整代码

    layUI展示树状treetable树形表格完整代码前言:因项目功能需要,在shiro权限管理模块中需要使用树状展示,前端使用的layUI框架,在官网的开发文档上没有找到树状表格的内容。只有树状菜单的文档:https://www.layui.com/doc/modules/tree.html树状表格步骤如下:1、首先下载所需调用的文件。下载链接:https://download.csdn.net/download/qq_35393472/10…

    2022年6月14日
    26
  • CPU测试_性能测试cpu温度多少范围正常

    CPU测试_性能测试cpu温度多少范围正常目录一系统性能测试指标1.1响应时间1.2并发1.3点击量/点击率1.4吞吐量/吞吐率1.5TPS/QPS1.6PV/UV二Linux服务器性能指标2.1CPU使用率2.2内存占用率2.3系统平均负载2.4磁盘IO2.5linux常用性能命令2.5.1CPU2.5.2内存2.5.3负载2.5.4磁盘2.5.5整体性能测试指标是衡量系统性能的评价标准,常用的系统性能测试指标包括:响应时间…

    2022年10月22日
    0
  • 【python】Windows中编译安装libsamplerate和scikits.samplerate

    【python】Windows中编译安装libsamplerate和scikits.sampleratelibrosa缘由librosa是一个音频和音乐处理的Python包,我用它来做音频的特征提取。但是在使用时,发现librosa.load将音乐文件转化为时间序列的过程中,速度实在难以忍受,cpu跑的非常高,程序好像假死的状态。查阅官方文档发现,默认情况下,librosa会使用scipy.signal进行音频信号的重采样,这在实际使用时是很慢的。如果要获得很高的性能,官方建议安装libsampl

    2022年10月17日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号