我是靠谱客的博主 顺心春天,最近开发中收集的这篇文章主要介绍粒子群与蚁群算法的区别,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

作者:莫石
链接:http://www.zhihu.com/question/30326374/answer/59884351
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
 
群体智能算法家族的两个重要成员就是粒子群算法与蚁群算法。基本思想都是模拟自然界生物群体行为来构造随机优化算法的,不同的是粒子群算法模拟鸟类群体行为,而蚁群算法模拟蚂蚁觅食原理。
1.相同点
(1)都是一类不确定算法。不确定性体现了自然界生物的生物机制,并且在求解某些特定问题方面优于确定性算法。仿生优化算法的不确定性是伴随其随机性而来的,其主要步骤含有随机因素,从而在算法的迭代过程中,事件发生与否有很大的不确定性。
(2)都是一类概率型的全局优化算法。非确定算法的优点在于算法能有更多机会求解全局最优解。
(3)都不依赖于优化问题本身的严格数学性质。在优化过程中都不依赖于优化问题本身严格数学性质(如连续性,可导性)以及目标函数和约束条件精确的数学描述。
(4)都是一种基于多个智能体的仿生优化算法。仿生优化算法中的各个智能体之间通过相互协作来更好的适应环境,表现出与环境交互的能力。
(5)都具有本质并行性。仿生优化算法的本质并行性表现在两个方面:仿生优化计算的内在并行性(inherent parallelism )和内含并行性(implicit parallelism ),这使得仿生优化算法能以较少的计算获得较大的收益。
(6)都具有突出性。仿生优化算法总目标的完成是在多个智能体个体行为的运动过程中突现出来的。
(7)都具有自组织和进化性。具有记忆功能,所有粒子都保存优解的相关知识。在不确定的复杂时代环境中,仿生优化算法可以通过自学习不断提高算法中个体的适应性。
(8)都具有稳健性。仿生优化算法的稳健性是指在不同条件和环境下算法的实用性和有效性。由于仿生优化算法不依赖于优化问题本身严格数学性质和所求问题本身的结构特征,因此用仿生优化算法求解不同问题时,只需要设计相应的评价函数(代价函数),而基本上无需修改算法的其他部分。但是对高维问题复杂问题,往往会遇到早熟收敛和收敛性能差的缺点,都无法保证收敛到最优点。
~~~~~~~~~~~~~~~~~

2.不同点
(1)粒子群算法。粒子群算法是一种原理相当简单的启发式算法,与其他仿生算法相比,它所需的代码和参数较少。
粒子群算法通过当前搜索到的最优点进行共享信息,很大程度上这是一种单项信息共享机制。
粒子群算法受所求问题维数的影响较小。
粒子群算法的数学基础相对较为薄弱,目前还缺乏深刻且具有普遍意义的理论分析。在对收敛性分析方面研究还需进一步将确定性向随机性转化。
(2)蚁群算法。蚁群算法采用了正反馈机制,这是不同于其他仿生算法最为显著的一个特点。
蚁群算法中那个个体只能感知局部信息,不能直接利用全局信息。
基本蚁群算法一般需要较长的搜索时间,且容易出现停滞现象。
蚁群算法的收敛性能对初始化参数的设置较为敏感。
蚁群算法已经有了较成熟的收敛性分析方法,并且可对收敛速度进行估计。

最后

以上就是顺心春天为你收集整理的粒子群与蚁群算法的区别的全部内容,希望文章能够帮你解决粒子群与蚁群算法的区别所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部