零基础学启发式算法-蚁群算法 (Ant Colony Optimization, ACO)
Posted 软件工程小施同学
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了零基础学启发式算法-蚁群算法 (Ant Colony Optimization, ACO)相关的知识,希望对你有一定的参考价值。
一、原理
蚂蚁会分泌一种叫做信息素的化学物质,蚂蚁的许多行为受信息素的调控。蚂蚁在运动过程中能够感知其经过的路径上信息素的浓度,蚂蚁倾向朝着信息素浓度高的方向移动。
蚂蚁从A点出发,速度相同,食物在D点,取得食物后再折返回蚁巢。可能随机选择路线ABD(9个时间单位)或ACD(18个时间单位)。假设蚂蚁每经过一处所留下的信息素为一个单位,则经过36个时间单位后,所有开始一起出发的蚂蚁都经过不同路径从D点取得了食物,此时ABD的路线往返了2趟,每一处的信息素为4个单位,而ACD的路线往返了一趟,每一处的信息素为2个单位,其比值为2:1。
单位时间内路径上通过蚂蚁的数量越多,则该路径上留下的信息素浓度越高。因此,最短路径上走过的蚂蚁数量越多,则后来的蚂蚁选择该路径的机率就越大,从而蚂蚁通过信息的交流实现了寻找食物和蚁巢之间最短路的目的。
二、蚁群算法
蚁群算法的基本原理:
1、蚂蚁在路径上释放信息素。
2、碰到还没走过的路口,就随机挑选一条路走。同时,释放与路径长度有关的信息素。
3、信息素浓度与路径长度成反比。后来的蚂蚁再次碰到该路口时,就选择信息素浓度较高路径。
4、最优路径上的信息素浓度越来越大。
5、最终蚁群找到最优寻食路径。
流程
三、案例
对于 TSP(旅行商问题),其流程图如下
https://leovan.me/cn/2019/04/heuristic-algorithms/
https://blog.csdn.net/qq_33829154/article/details/85258615
https://blog.csdn.net/qq_36744449/article/details/120033201
https://www.cnblogs.com/caiyishuai/p/13270746.html
https://blog.csdn.net/weixin_42715356/article/details/83590449
以上是关于零基础学启发式算法-蚁群算法 (Ant Colony Optimization, ACO)的主要内容,如果未能解决你的问题,请参考以下文章
零基础学启发式算法-模拟退火 (Simulated Annealing)
零基础学启发式算法-遗传算法 (Genetic Algorithm)