0
点赞
收藏
分享

微信扫一扫

零基础学启发式算法(6)-蚁群算法 (Ant Colony Optimization, ACO)


一、原理   

     蚂蚁会分泌一种叫做信息素的化学物质,蚂蚁的许多行为受信息素的调控。蚂蚁在运动过程中能够感知其经过的路径上信息素的浓度,蚂蚁倾向朝着信息素浓度高的方向移动。

零基础学启发式算法(6)-蚁群算法 (Ant Colony Optimization, ACO)_蚁群算法


    蚂蚁从A点出发,速度相同,食物在D点,取得食物后再折返回蚁巢。可能随机选择路线ABD(9个时间单位)或ACD(18个时间单位)。假设蚂蚁每经过一处所留下的信息素为一个单位,则经过36个时间单位后,所有开始一起出发的蚂蚁都经过不同路径从D点取得了食物,此时ABD的路线往返了2趟,每一处的信息素为4个单位,而ACD的路线往返了一趟,每一处的信息素为2个单位,其比值为2:1。

    单位时间内路径上通过蚂蚁的数量越多,则该路径上留下的信息素浓度越高。因此,最短路径上走过的蚂蚁数量越多,则后来的蚂蚁选择该路径的机率就越大,从而蚂蚁通过信息的交流实现了寻找食物和蚁巢之间最短路的目的。

二、蚁群算法

零基础学启发式算法(6)-蚁群算法 (Ant Colony Optimization, ACO)_蚁群算法_02

蚁群算法的基本原理:

1、蚂蚁在路径上释放信息素。

2、碰到还没走过的路口,就随机挑选一条路走。同时,释放与路径长度有关的信息素。

3、信息素浓度与路径长度成反比。后来的蚂蚁再次碰到该路口时,就选择信息素浓度较高路径。

4、最优路径上的信息素浓度越来越大。

5、最终蚁群找到最优寻食路径。

流程

零基础学启发式算法(6)-蚁群算法 (Ant Colony Optimization, ACO)_蚁群算法_03

三、案例

对于 TSP(旅行商问题),其流程图如下

零基础学启发式算法(6)-蚁群算法 (Ant Colony Optimization, ACO)_算法_04

零基础学启发式算法(6)-蚁群算法 (Ant Colony Optimization, ACO)_蚁群算法_05



举报

相关推荐

0 条评论