概述
算法本质
优化算法是一种给定方向的遍历
智能理论算法的优点是无需先验知识,不需要分析数据内部的规律和内在关联,只需要对数据本身进行学习,自组织、自适应的完成优化问题的求解,缺点是采用这种模型的收敛速度往往极慢,处理大量的样本数据时会占据极多的计算机运行内存,对计算机的运行速度有很高的要求。
定义
群体智能优化算法主要模拟了昆虫、兽群、鸟群和鱼群的群体行为,这些群体按照一种合作的方式寻找食物,群体中的每个成员通过学习它自身的经验和其他成员的经验来不断地改变搜索的方向。任何一种由昆虫群体或者其他动物社会行为机制而激发设计出的算法或分布式解决问题的策略均属于群体智能(Swarm Intelligence)
白话解释
模仿昆虫或者一些动物的觅食或者其他行为,这些动物群体按照一中合作的方式寻找食物,不断的交流食物信息,能够很快的找到更多的食物。通过对他们的行为的研究抽象出来的一种算法,就是群体智能优化算法。(例如,一个个体找到了食物,就会通知其他个体来这个有食物的地方,这就是一种行为)
算法原则
- 邻近原则:群体能够进行简单的空间和时间计算;
- 品质原则:群体能够响应环境中的品质因子;
- 多样性反应原则:群体的行动范围不应该太窄;
- 稳定性原则:群体不应在每次环境变化时都改变自身的行为;
- 适应性原则:在所需代价不太高的情况下,群体能够在适当的时候改变自身的行为。
遗传算法(GA)
全局搜索能力强,局部搜索能力较弱,往往只能得到次优解而不是最优解。
研究发现,遗传算法可以用极快的速度达到最优解的90%以上,但是要达到真正的最优解需要花费很长时间,即局部搜索能力不足。
粒子群算法(PSO)
产生早熟收敛并被证明算法不是全局收敛
未加权重——收敛速度快但容易陷入局部最优解
蚁群算法
参数设置复杂,如果参数设置不当,容易偏离优质解
模拟退火算法
全局寻优,适合搭配粒子群、鲸鱼优化算法等容易陷入局部最优解的
鱼群算法
参数设置复杂,如果参数设置不当,容易偏离优质解.(同蚁群)
鲸鱼优化算法
算法陷入局部极值和收敛速度问题
陷入局部最优解
结合模拟退火算法,通过接受较差点来提升全局寻优能力
收敛速度慢
引入自适应权重,提升算法的局部寻优能力
(以下的没有总结)
蛙跳算法
蛙跳算法的思想是:在一片湿地中生活着一群青蛙。湿地内离散的分布着许多石头,青蛙通过寻找不同的石头进行跳跃去找到食物较多的地方。每只青蛙个体之间通过文化的交流实现信息的交换。每只青蛙都具有自己的文化。每只青蛙的文化被定义为问题的一个解。
湿地的整个青蛙群体被分为不同的子群体,每个子群体有着自己的文化,执行局部搜索策略。在子群体中的每个个体有着自己的文化,并且影响着其他个体,也受其他个体的影响,并随着子群体的进化而进化。当子群体进化到一定阶段以后,各个子群体之间再进行思想的交流(全局信息交换)实现子群体间的混合运算,一直到所设置的条件满足为止。
人工蜂群算法
人工蜂群算法是模仿蜜蜂行为提出的一种优化方法,是集群智能思想的一个具体应用,它的主要特点是不需要了解问题的特殊信息,只需要对问题进行优劣的比较,通过各人工蜂个体的局部寻优行为,最终在群体中使全局最优值突现出来,有着较快的收敛速度。