群算法是Marco Dorigo在1992年提出的一种优化算法,该算法受到蚂蚁搜索食物时对路径的选择策略的启示。蚁群算法作为群体智能算法的一种利用分布式的种群搜索策略来寻找目标函数的最优解。蚁群算法与其他优化算法相比较的一个明显优势是蚁群算法能够适应动态变化的环境,这个特点使它特别适合解决像网络路由这类解空间频繁发生变化的优化问题。

为了更好的理解蚁群算法,我们首先需要了解在自然界中蚂蚁是如何寻找食物的。蚂蚁在寻找食物时会遵循一些简单的基本法则。这些法则的核心是利用一种叫作信息素的物质,信息素是一种蚂蚁分泌的用来向其他同伴告知哪里有食物以及如何得到这些食物的化学物质。当一只蚂蚁在某条路径上发现其它蚂蚁分泌的信息素时,它沿着这条遗留有信息素的路径前进常常会发现食物。然而,蚂蚁不总是沿着遗留有信息素的路径前进,而是按一定的概率来选择这条路径。通常一条路径上的信息素浓度越高,蚂蚁沿着这条路径前进的概率就越大。如果长时间没有蚂蚁在一条路径上分泌新的信息素,这条路径上原有的信息素会全部挥发。我们举一个例子来说明蚂蚁们是如何通过分泌和利用信息素来找到通向食物的最优路径这一过程的。

从上面这幅图上我们可以看到蚂蚁们找到了一条通向食物的路径,但这条路径不是最优路径。

此时,由于概率的因素,有一些蚂蚁开始沿着下面最优的那条路径向食物行进,虽然上面那条不是最优的路径上的蚂蚁仍然比较多,即遗留的信息素也比较多,但下面这条最优路径却比较短,这就意味着一只蚂蚁沿着上面路径到达食物时,利用下面路径获取食物的蚂蚁可能已经往返了几个来回,在这个过程中也分泌了更多的信息素。随着时间的推移下面这条路径上的信息素越来越多,而上面那条路径的信息素却不断地挥发,最后所有蚂蚁都按照下面这条最优路径来前进获取食物,如下图所示:

蚁群算法简介(part 1:蚁群算法之绪论)的更多相关文章

  1. STL所有算法简介 (转) http://www.cnblogs.com/yuehui/archive/2012/06/19/2554300.html

    STL所有算法简介 STL中的所有算法(70个) 参考自:http://www.cppblog.com/mzty/archive/2007/03/14/19819.htmlhttp://hi.baid ...

  2. 算法(三)粒子群算法PSO的介绍

    一.引言 在讲算法之前,先看两个例子: 例子一:背包问题,一个书包,一堆物品,每个物品都有自己的价值和体积,装满书包,使得装的物品价值最大. 例子二:投资问题,n个项目,第i个项目投资为ci 收益为p ...

  3. AI - 机器学习常见算法简介(Common Algorithms)

    机器学习常见算法简介 - 原文链接:http://usblogs.pwc.com/emerging-technology/machine-learning-methods-infographic/ 应 ...

  4. PageRank 算法简介

    有两篇文章一篇讲解(下面copy)< PageRank算法简介及Map-Reduce实现>来源:http://www.cnblogs.com/fengfenggirl/p/pagerank ...

  5. 【异常检测】孤立森林(Isolation Forest)算法简介

    简介 工作的过程中经常会遇到这样一个问题,在构建模型训练数据时,我们很难保证训练数据的纯净度,数据中往往会参杂很多被错误标记噪声数据,而数据的质量决定了最终模型性能的好坏.如果进行人工二次标记,成本会 ...

  6. Redis集群搭建,伪分布式集群,即一台服务器6个redis节点

    Redis集群搭建,伪分布式集群,即一台服务器6个redis节点 一.Redis Cluster(Redis集群)简介 集群搭建需要的环境 二.搭建集群 2.1Redis的安装 2.2搭建6台redi ...

  7. nginx集群:nginx配置负载均衡集群(nginx1.18.0)

    一,nginx的负载均衡集群的特点: 1,nginx集群和lvs的不同? lvs集群:工作在第4层(传输层) nginx集群:工作在第7层(应用层) lvs集群:性能更强 nginx集群:功能更强:可 ...

  8. 海洋女神建新installshield交流群了,原来的老群都满了,请加新群哦,记得认真填写验证信息

    群号511751143 海洋女神installshield群

  9. 6.3.28微信需群主确认才可进群&发GIF动图功能内测开始了

    昨天下午有网友收到微信6.3.28新版内测邀请,不过这个内部体验目前貌似只对安卓手机开放,苹果的IOS系统还不支持,会提示“你当前使用的是非安卓设备,不建议下载安卓体验包,但你仍可邀请朋友尝鲜”.最新 ...

  10. webrtc 的回声抵消(aec、aecm)算法简介(转)

    webrtc 的回声抵消(aec.aecm)算法简介        webrtc 的回声抵消(aec.aecm)算法主要包括以下几个重要模块:1.回声时延估计 2.NLMS(归一化最小均方自适应算法) ...

随机推荐

  1. 实现一个小目标,动动小指,分享可得iphone7/ipad/U盘|奥威软件

    为什么很多人喜欢冬天呢?是因为冬天有着“床边挂起长长棉袜,而你做着甜甜美梦”的平安夜?还是因为冬天有着“具有无法言述的浪漫情怀”的圣诞节? 是不是还沉浸在平安夜,圣诞节的双节狂欢中, 好像不管长到多大 ...

  2. 设置文本框左边显示的View

    效果:

  3. PostgreSQL installations

    [root@test02 init.d]# ll /etc/init.d/postgresql-9.5 -rwxr-xr-x. 1 root root 10072 May 15 06:34 /etc/ ...

  4. 虚拟机下CentOS 6.5配置IP地址的三种方法

    实验软件环境:虚拟机Vmware Workstation10.0 .CentOS 6.5 32位 1.自动获取IP地址 虚拟机使用桥接模式,相当于连接到物理机的网络里,物理机网络有DHCP服务器自动分 ...

  5. android 中获取视频文件的缩略图(非原创)

    在android中获取视频文件的缩略图有三种方法: 1.从媒体库中查询 2. android 2.2以后使用ThumbnailUtils类获取 3.调用jni文件,实现MediaMetadataRet ...

  6. No compiler is provided in this environment. Perhaps you are running on a JRE ra

    No compiler is provided in this environment. Perhaps you are running on a JRE ra,有需要的朋友可以参考下. 控制台输出的 ...

  7. Select2个人使用总结

    最近项目有功能需要使用列表选多个用户,老夫偷懒使用zTree进行了多级checktree实现,不过貌似太丑,虽然对于我这种后端来说无所谓,但强迫症还是让我寻找其他代替控件. 闲话不说了,先上Selec ...

  8. 我的SpringMVC配置

    记住所有导的包都在org.springframework.web.servlet.mvc.annotation.下而不是 org.springframework.web.protlet.mvc.ann ...

  9. Centos vsftpd服务器搭建

    Centos vsftpd服务器搭建 时间:2016-07-18 1.最为简单的vsftpd服务器搭建 1.安装vsftpd 1.yum 安装 yum install vsftpd 2.rpm文件安装 ...

  10. PHP基础班初学心得:脑洞实验-JS变量存储函数与return的一些问题

    本人刚参加PHP基础班培训第一天,由于之前毫无基础,分享的心得可能不规范,方法也许也"旁门左道",不能保证质量,只作自己总结学习,也希望能帮助到同样是初学者的朋友们,共同进步. 在 ...