蚁群算法、遗传算法、蜂群算法、粒子群算法和差分进化算法,这五种群智能对比分析

狮子行大运2022-10-04 11:39:541条回答

已提交,审核后显示!提交回复

共1条回复
yslzjx 共回答了23个问题 | 采纳率95.7%
粒子群算法(PSO)和遗传算法(GA)都是优化算法,都力图在自然特性的基础上模拟个体种群的适应性,它们都采用一定的变换规则通过搜索空间求解.
PSO和GA的相同点:
(1)都属于仿生算法.PSO主要模拟鸟类觅食、人类认知等社会行为而提出;GA主要借用生物进化中“适者生存”的规律.
(2)都属于全局优化方法.两种算法都是在解空间随机产生初始种群,因而算法在全局的解空间进行搜索,且将搜索重点集中在性能高的部分.
(3)都属于随机搜索算法.都是通过随机优化方法更新种群和搜索最优点.PSO中认知项和社会项前都加有随机数;而GA的遗传操作均属随机操作.
(4)都隐含并行性.搜索过程是从问题解的一个集合开始的,而不是从单个个体开始,具有隐含并行搜索特性,从而减小了陷入局部极小的可能性.并且由于这种并行性,易在并行计算机上实现,以提高算法性能和效率.
(5)根据个体的适配信息进行搜索,因此不受函数约束条件的限制,如连续性、可导性等.
(6)对高维复杂问题,往往会遇到早熟收敛和收敛性能差的缺点,都无法保证收敛到最优点.
PSO和GA不同点
(1)PSO有记忆,好的解的知识所有粒子都保存,而GA没有记忆,以前的知识随着种群的改变被破坏.
(2)在GA算法中,染色体之间相互共享信息,所以整个种群的移动是比较均匀地向最优区域移动.PSO中的粒子仅仅通过当前搜索到最优点进行共享信息,所以很大程度上这是一种单项信息共享机制,整个搜索更新过程是跟随当前最优解的过程.在大多数情况下,所有粒子可能比遗传算法中的进化个体以更快速度收敛于最优解.
(3)GA的编码技术和遗传操作比较简单,而PSO相对于GA,不需要编码,没有交叉和变异操作,粒子只是通过内部速度进行更新,因此原理更简单、参数更少、实现更容易.
(4)在收敛性方面,GA己经有了较成熟的收敛性分析方法,并且可对收敛速度进行估计;而PSO这方面的研究还比较薄弱.尽管已经有简化确定性版本的收敛性分析,但将确定性向随机性的转化尚需进一步研究.
(5)在应用方面,PSO算法主要应用于连续问题,包括神经网络训练和函数优化等,而GA除了连续问题之外,还可应用于离散问题,比如TSP问题、货郎担问题、工作车间调度等.
1年前

相关推荐

遗传算法、粒子群算法、蚁群算法,各自优缺点和如何混合?
舞伴1年前2
我是风沙 共回答了18个问题 | 采纳率88.9%
遗传算法适合求解离散问题,具备数学理论支持,但是存在着汉明悬崖等问题.
粒子群算法适合求解实数问题,算法简单,计算方便,求解速度快,但是存在着陷入局部最优等问题.
蚁群算法适合在图上搜索路径问题,计算开销会大.
要将三种算法进行混合,就要针对特定问题,然后融合其中的优势,比如将遗传算法中的变异算子加入粒子群中就可以形成基于变异的粒子群算法.
模式识别、神经网络、遗传算法、蚁群算法等等人工智能算法需要哪些数学知识?
模式识别、神经网络、遗传算法、蚁群算法等等人工智能算法需要哪些数学知识?
比如,需要看《算法导论》先学透其中的算法么?
coolersummer1年前1
岚妮 共回答了14个问题 | 采纳率92.9%
这些算法,如果需要搞透,数学知识越多越好.算法导论,随机过程,概率论,数理统计是基础,矩阵论也很重要.还有一个最重要的是有关优化方法的基本理论,很多的模式识别的问题,就是一个求最优解的问题.以前是有一本《计算方法》的书,里面就是用牛顿法等,来解线性方程之类,书很薄,如果搞懂了,很有启发作用.
蚁群算法优化BP神经网络 遇到的问题.
蚁群算法优化BP神经网络 遇到的问题.
看了不少文献,发现蚁群算法优化神经网络是利用蚁群算法在解空间寻找出一组最优的权值和阈值,然后将这一组解带回到神经网络进行细致优化,从而得到最好的权值和阈值.但是这样并没有从根本上解决BP算法容易陷入局部最小值的缺点,因为他还是用了梯度下降法进行细致优化.那么蚁群算法优化BP神经网络也就失去了意义了.
在这里,我迷茫了,智能算法不可避免的会用到随机取值,每一次计算出的结果或者计算出的误差都可能不同,那么有哪一种算法会保证他得到的结果会是最优的呢?尤其是进行预测时,并不是1+1=2这样确定的结果.
现在课题陷入僵局,很困惑,说的乱七八糟的,希望懂蚁群优化BP的人来讨论、指教.
yt7171年前1
yiqiuhua 共回答了19个问题 | 采纳率89.5%
蚁群算法的实质是遗传算法,为了避免陷入局部最优解,我使用的办法是基因多样化算法,初始化基因组时,多取几组随机值,然后对这n组数据同时进化优化,并行计算.这样可以大大减低陷入局部最优解的风险
蚁群算法中tau = ones(N,K) *
b3iin1年前1
qingfeng2004 共回答了14个问题 | 采纳率85.7%
设置禁忌表初始化,N行K列的二维表,每个元素初始值都为c
有蚁群算法和遗传算法,用哪种方法更能通俗易懂,容易让人明白?
dwedwqqw1年前1
之诗乎 共回答了13个问题 | 采纳率100%
说实话,这两种方法都是智能仿生算法,都比普通的算法要稍微复杂一些.我不知道你要解决什么寻优问题,但我推荐你还是用遗传算法吧.遗传算法应用比蚁群算法要广泛,了解的人也较多.蚁群算法更适合解决寻路问题、旅行商问题等.
蚁群算法中转移概率是怎么用的.不同的蚂蚁为什么会选择不同的路径?
彷徨_迷惘1年前2
wangzh8808 共回答了20个问题 | 采纳率85%
因为不同路径的信息素和启发信息不同,所以向每条路径转移的概率也不同.
具体实现可以运用轮盘赌选择,转移概率越大的路径就会有更多的蚂蚁选择.