群体智能(swarm intelligence)
定义:
由单个复杂个体
完成的任务可由大量简单个体
组成的群体合作完成,而后者往往更具有健壮性、灵活性等优势。在没有集中控制,不提供全局模型的前提下,为寻找复杂问题解决方案提供了新的思路。
分类:
- 一组简单智能体(agent)构成的集体智能,以
蚁群优化算法
(Ant Colony Optimization,ACO)和蚂蚁聚类算法
等为代表 - 把群体中的成员看作粒子,而不是智能体,以
粒子群优化算法
(Particle Swarm Optimization,PSO)为代表
蚁群优化算法(Ant Colony Optimization)
背景:
蚂蚁优化算法受蚂蚁取食行为中的通信机制
启发而得来。经过大量的观察研究发现,蚂蚁个体之间可以通过分泌信息素(pheromone)来传递信息。蚂蚁在行动的过程中,会在经过的路径上留下信息素,后面的蚂蚁通过感知这种物质的浓度来选择自己的路径。这样,由大量蚂蚁组成的蚁群集体行为就表现出了一种信息正反馈的现象,信息素随时间挥发,在较短的路径上浓度较大,因而蚂蚁总是可以找到更短的路径取食
。
用该方法求解TSP问题、分配问题、job-shop调度问题,取得了较好的试验结果.虽然研究时间不长,但是现在的研究显示出,蚁群算法在求解复杂优化问题(特别是离散优化问题)方面有一定优势,表明它是一种有发展前景的算法。
与大多数基于梯度的优化算法不同,群体智能依靠的是概率搜索算法
。虽然概率搜索算法通常要采用较多的评价
函数,但是与梯度方法及传统的演化算法相比,其优点还是显著的 ,主要表现在以下几个方面:
-
无集中控制约束,不会因个别个体的故障影响整个问题的求解,确保了系统具备更强的鲁棒性
-
以非直接的信息交流方式确保了系统的扩展性
-
并行分布式算法模型,可充分利用多处理器
-
对问题定义的连续性无特殊要求
-
算法实现简单
现状:
最初提出的AS有三种版本:蚁密
(Ant-density)、蚁量
(Ant-quantity)和蚁环
(Ant-cycle)。在Ant-density和Ant-quantity系统中蚂蚁在两个位置节点间每移动一次后就立即更新信息素,而在Ant-cycle中当所有的蚂蚁都完成了自己的行程后才对信息素进行更新,而且每个蚂蚁所释放的信息素被表达为反映相应行程质量的函数
。通过与其它各种通用的启发式算法相比,在不大于75城市的TSP中,这三种基本算法的求解能力还是比较理想的,但是当问题规模扩展时,AS的解题能力大幅度下降。
其后的ACO研究工作主要集中在AS性能的改进方面。较早的一种改进方法是精英策略
(Elitist Strategy),其思想是在算法开始后即对所有已发现的最好路径给予额外的增强,并将随后与之对应的行程记为Tgb (全局最优行程),当进行信息素更新时,对这些行程予以加权,同时将经过这些行程的蚂蚁记为“精英”,从而增大较好行程的选择机会。 这种改进型算法能够以更快的速度获得更好的解。但是若选择的精英过多则算法会由于较早的收敛于局部次优解而导致搜索的过早停滞。
为了进一步克服AS中暴露出的问题,提出了 蚁群系统 Ant Colony System, ACS
。该系统的提出是以Ant-Q算法为基础的。Ant-Q将蚂蚁算法和一种增强型学习算法Q-learning有机的结合了起来。
ACS与AS之间存在三方面的主要差异:
- ACS采用了更为大胆的行为选择规则
- 只增强属于全局最优解的路径上的信息素(加号的后半部分)
- 引入了负反馈机制,每当一只蚂蚁由一个节点移动到另一个节点时,该路径上的信息素都按照如下公式被相应的消除一部分,从而实现一种信息素的局部调整,以减小已选择过的路径再次被选择的概率
另一种对AS改进的算法是 Rank-based Version AS
。与“精英策略”相似,在此算法中总是更新更好进程上的信息素,选择的标准是其行程长度
决定的排序,且每个蚂蚁放置信息素的强度通过下式中的排序加权处理确定:
蚁群算法原理:
蚁群在觅食途中,会在所经过路径留下一种挥发性分泌物—信息素(pheromone) ,并能感知其存在和强度,朝着信息素浓度高的方向移动。与此同时释放出与路径长度有关的信息素。路径越长,释放的激素浓度越低。浓度越高的路径选择它的蚂蚁越多,越发增加该路径上的信息素浓度,这样又吸引更多的蚂蚁,从而形成一个正反馈。蚂蚁最终总能找到一条从食物到巢穴之间的最优路径。最优路径上的激素浓度越来越大。而其它路径上的激素浓度却会随着时间的流逝而消减。最终整个蚁群会找出觅食最优路径。
蚁群算法与TSP问题:
TSP问题的人工蚁群算法中,假设m只蚂蚁在图的相邻节点间移动,从而协作异步地得到问题的解。每只蚂蚁的一步转移概率由图中的每条边上的两类参数决定:1 信息素值, 也称信息素痕迹。2 可见度,即先验值。
信息素的更新方式有2种,一是挥发,也就是所有路径上的信息素以一定的比率进行减少,模拟自然蚁群的信息素随时间挥发的过程;二是增强,给评价值“好”(有蚂蚁走过)的边增加信息素。