搜索未来(3) -- 蚁群系统
我们在生活中也发现有趣的现象,蚂蚁总是能很快找到我们无意见丢的食物(肉块或糖果)。迅速找到巢穴与食物源之间得最短路径。
1,可以探明周围的环境,例如遇到障碍物时,通过触角可以感知其大小、形状、硬度等方面的情况,同类也是通过触碰触角来传递信息。
2,嗅觉作用,蚂蚁能从腹部末端的肛门以及腿部的腺体分泌化学物质“信息素”,外出活动时将其留在沿途作为“路标”,它们到离巢数十米远的地方活动也不会迷路,通过嗅闻气味仍可找到自己的“家”。如果我们用手划过蚂蚁的行进队伍,干扰了蚂蚁的信息素,蚂蚁就会失去方向感。此外,根据气味还可以很快地识别自家人,防止外人混入。蚂蚁留下的气味能保持比较长的时间。如果因意外被破坏,它们还可以根据太阳及其它环境因素来确定巢穴的位置。
蚂蚁在行进的过程分泌的信息素除了能够避免迷路外,这种会引导后面的蚂蚁走相同的路线。到处乱爬蚂蚁觅食时,在它走过的路上,留下外激素,这些外激素就象留下路标一样,留给后来“蚁”一个路径标志。后面的蚂蚁,就会沿着有外激素的路径行走,外激素越多引诱蚂蚁的能力就越强。
[1] . 浅谈蚂蚁算法 2008年9月12日 ... 在这样的看法下,一个蚂蚁就相当于脑中的一个细胞(神经元),蚂蚁之间的信息交流,就 相当于大脑中各个细胞之间的联接。那么人工智能界用人工神经网络 ...
资料分析
蚁群算法是一种模拟进化算法,蚁群算法是一种求解组合最优化问题的新型通用启发式方法,该方法具有正反馈、分布式计算和富于建设性的贪婪启发式搜索的特点。它充分利用了生物蚁群通过个体间简单得信息传递,搜索从蚁巢至食物间最短路径得集体寻优特征,以及该过程与旅行商问题求解之间得相似性。得到了具有 NP难度的旅行商问题的最优解答。同时,该算法还被用于求解Job-Shop调度问题、二次指派问题以及多维背包问题等,显示了其适用于组合优化类问题求解得优越特征。
蚂蚁个体之间在相互作用下产生了协调一致的行为,尽管这些作用可能很简单,仅仅是一只蚂蚁紧跟另一只蚂蚁留下的路线而已,但是它们合起来却可以解决棘手的问题,例如从通往一个食物源的无数条可能路径中找出最短路径。从一群群居生物中产生出来这样一种集体行动被称为群集智能。最近越来越多的研究者正试图运用群集智能完成种种任务。蚂蚁的觅食方式引导人们找到一种新的方法,从而为繁忙的通讯系统中的网络通讯重选路由,获得最佳的程序。
如上图,蚂蚁和食物之间存在重重障碍,蚂蚁随机外出寻找食物。当一只蚂蚁找到食物后,它会向环境释放一种信息素,吸引其它蚂蚁沿着其路径过来,这样越来越多的蚂蚁会找到食物。但是,有些蚂蚁并未像其它蚂蚁一样总重复同样的路,它们会另辟蹊径,如果开辟的道路比原来的其他道路更短。渐渐更多的蚂蚁被吸引到这条较短的路上来。最后,经过一段时间运行,可能会出现一条最短的路径被大多数蚂蚁使用。
证据评价 表面上,蚁群算法非常复杂,但单个蚂蚁能力非常简单(也复杂不起来,每个蚂蚁神经元个数是100,000个,人类神经元数是10,000,000,000)。为什么蚂蚁能实现如此复杂的功能,答案是蚂蚁通过简单有效规则来实现:
1、正反馈 每只蚂蚁都朝向信息素最多的方向移。正反馈规则保证了相对优良的信息能够被保存下来,并被强化。
2、随机原则 蚂蚁随机寻找食物当周围没有信息素指引的时候,蚂蚁按照自己原来运动的方向惯性的运动下去。
3、负反馈 环境除了是蚂蚁的障碍外,还以一定的速率让信息素消失。假设蚂蚁散播的信息素固定,并在环境下按一定比例衰减,那么时间越长(距离越远遗留信息素越少,反之则越多)。并且有一定蚂蚁按照非正常规则另觅捷径。
4、正确判断 如果蚂蚁要移动的方向有障碍物挡住,它会随机的选择另一个方向,并且有信息素指引的话,它会按照觅食的规则移动。
蚂蚁运动具有一定的目的性,尽量保持最佳方向,同时一部分蚂蚁又有新的试探,尤其当碰到障碍物的时候它会立即改变方向,这可以看成一种选择的过程,也就是环境的障碍物让蚂蚁的某个方向正确,而其他方向则不对。蚂蚁在复杂的诸如迷宫的地图中仍然能找到隐蔽得很好的食物。当有一只蚂蚁找到了食物的时候,通过信息素其他蚂蚁很快找到食物的。当“另辟蹊径”蚂蚁和原始路径蚂蚁,按照一定速率行进,路径短的蚂蚁,自然时间就短,信息素强度高于较长的路径。实际上是一种逐渐收敛的过程,慢慢接近全局最短路径。
我们可以将整个”蚁群”看成一个分散的生物体。假如将蚁后当成大脑,各个工蚁和兵蚁视为人体各个具有功能的细胞(如神经元,免疫细胞,血细胞)。虽然蚁群是分离生物体,后者是一个整体。但事实上,细胞离开原有载体仍然能工作。换句话说,智能并不一定存在于单一个体内。
引用
[1] . 蚁群算法-数学算法- 数学百科全书- Powered by HDWiki! 蚁群算法(ant colony optimization, ACO),又称蚂蚁算法,是一种用来在图中寻找优化 ... 年在他的博士论文中引入,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。 .... 了系统的创新能力,正反馈保证 【质量:600】
[2] . 杨剑峰, 导师:蒋静坪,蚁群算法及其应用研究 受这种现象启发,意大利学者M.Dorigo,V.Maniezzo和A.Colorni通过模拟蚁群觅食行为 ... 提出了一种回溯蚂蚁系统。该算法使用了一种新的类型的回溯蚂蚁(BA)来发现新的 ... 【质量:330】
[3] . 精灵解读搜索引擎算法系列–蚁群算法(一) - 搜索引擎算法研究- 上海 ... 通过对蚂蚁觅食行为的研究,他们发现,整个蚁群就是通过这种信息素进行相互 ... 具有 贪婪启发式搜索特征的蚁群系统又能在搜索过程的早期找到可以接受的问题解答。 ... 【质量:300】
[4] . 精灵解读搜索引擎算法系列–蚁群算法-滨州站长网 2009年6月5日 ... 通过对蚂蚁觅食行为得研究,它们发现,整个蚁群就是通过这种信息素进行 ... 启发式 搜索特征得蚁群系统又能在搜索过程得早期找到可以接受得问题解答。 ... 【质量:210】
申明 本文引自循证中国(www.sodake.com) 证据《关于蚁群系统发现》。
更多内容请前往查看。如需引用,请保留版权声明、并注明出处。
转载地址[http://www.sodake.com/proof/p583197c27e3887c84fa1a245271cbec8.aspx]
转载于:https://www.cnblogs.com/sodake/archive/2009/06/22/1508734.html
搜索未来(3) -- 蚁群系统相关推荐
- 【蚁群系统】解决TSP旅行商问题(matlab实现)
目录 1. 蚁群系统(Ant Colony System)(ACS) 2. 旅行商问题 3. 蚁群系统解决TSP问题(Matlab) 1. 蚁群系统(Ant Colony System)(ACS) 1 ...
- 蚁群算法及蚂蚁系统的原理(js实现版)
蚁群算法及蚂蚁系统的原理(js实现版) 蚁群算法 旅行商问题 蚁群系统 代码实现 蚁群算法 蚁群算法是著名的启发式算法,常用于解决最短路径问题 蚁群算法的来源 蚁群算法来源于对蚂蚁寻找食物行为的观察, ...
- 【本科毕业设计】基于蚁群算法的无人机飞行路径规划
基于蚁群算法的无人机飞行路径规划 1. 绪论 1.1 选题背景及意义 1.2 研究现状 1.2.1 路径规划的研究现状 2. 四旋翼无人机 2.1 四旋翼无人机简介 2.2 无人机飞行工作原理 2.2 ...
- 智能优化算法之蚁群算法(1)
蚁群算法(ant colony algorithm) : 一种模拟进化算法 蚂蚁在觅食过程中能够在其经过的路径留下一种称为信息素的物质,并在觅食的过程中能感知这种物质的强度,并指导自己的行动方向,他们 ...
- 【控制】蚁群算法(ACO,Ant Colony Optimization)及 Matlab 实现
文章目录 简介 实现思路 规则 特点 应用 仿真 Ref. 简介 蚁群算法是一种用来寻找优化路径的概率型算法.它由Marco Dorigo于1992年在他的博士论文中提出,其灵感来源于蚂蚁在寻找食物过 ...
- 蚁群算法,PSO算法以及两种算法可以融合的几种方法
蚁群算法(ACO)是受自然界中蚂蚁搜索食物行为的启发,是一种群智能优化算法.它基于对自然界真实蚁群的集体觅食行为的研究,模拟真实的蚁群协作过程.算法由若干个蚂蚁共同构造解路径,通过在解路径上遗留并交换 ...
- 蚁群优化算法 ACO
群体智能(swarm intelligence) 定义: 由单个复杂个体完成的任务可由大量简单个体组成的群体合作完成,而后者往往更具有健壮性.灵活性等优势.在没有集中控制,不提供全局模型的前提下,为寻 ...
- 【其他】结构技术优化算法--蚁群算法(ant colony optimization)
目录 1 遗传基因算法 2 模拟退火算法 2.1爬山算法 2.2随机概率优化 3 群体智能算法 3.1蚁群算法 3.2粒子群算法 4总结 1 遗传基因算法 遗传算法(Genetic Algorithm ...
- 蚁群优化算法(ACO)
背景知识 蚁群优化算法是Marco Dorigo 受到蚂蚁寻找食物发现路径的行为启发,在博士论文提出的算法,是一种用来寻找优化路径的概率型算法,刚开始是为了解决 TSP(旅行商问题) ,即旅行家要旅行 ...
最新文章
- mysql 重启失败,重启MySQL服务失败
- html中svg的css,HTML5 内联 SVG
- R变量索引 - 什么时候使用 @或$
- 交换机分布缓存_网络核心交换机和普通交换机有什么区别?
- 挣钱难,做老板不易,特别是种植老板
- Openstack的用户登录流程
- C#-Activex插件操作指南
- webpack 处理字体_不可错过的Webpack核心知识点
- eslint 换行_给 eslint 写一个插件
- python数据结构之匿名函数lambda
- EndNote X9导入论文投稿的期刊参考文献格式
- 利用交换机搭建局域网并实现PC机或者带网口设备的通信
- Fragment、FragmentActivity、Fragment生命周期及Fragment组件穿透
- docker-comose入门到实战
- pdf 转 高清图片
- 小学美术计算机教案模板,小学美术教案模板五篇
- Qgis教程5:添加精美底图的三种方法
- Java入门-Java执行语句
- iOS 实现 WiFi 局域网传输文件到 App
- 给定一字符串,按顺时针顺序输出为一个正方形