- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
蚁群算法的基本思想一、引言?蚁群算法(Ant?Colony?Optimization,?ACO),是一种用来在图中寻找优化路径的算法。它由Marco?Dorigo于1992年在他的博士论文中提出,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。蚁群算法是一种模拟进化算法,初步的研究表明该算法具有许多优良的性质。?蚁群算法成功解决了旅行商问题(Traveling?Salesman?Problem,?TSP):一个商人要到若干城市推销物品,从一个城市出发要到达其他各城市一次而且最多一次最后又回到第一个城市。寻找一条最短路径,使他从起点的城市到达所有城市一遍,最后回到起点的总路程最短。若把每个城市看成是图上的节点,那么旅行商问题就是在N个节点的完全图上寻找一条花费最少的回路。?二、基本蚁群算法?(一)算法思想?各个蚂蚁在没有事先告诉他们食物在什么地方的前提下开始寻找食物。当一只找到食物以后,它会向环境释放一种信息素,信息素多的地方显然经过这里的蚂蚁会多,因而会有更多的蚂蚁聚集过来。假设有两条路从窝通向食物,开始的时候,走这两条路的蚂蚁数量同样多(或者较长的路上蚂蚁多,这也无关紧要)。当蚂蚁沿着一条路到达终点以后会马上返回来,这样,短的路蚂蚁来回一次的时间就短,这也意味着重复的频率就快,因而在单位时间里走过的蚂蚁数目就多,洒下的信息素自然也会多,自然会有更多的蚂蚁被吸引过来,从而洒下更多的信息素。因此,越来越多地蚂蚁聚集到较短的路径上来,最短的路径就找到了。?蚁群算法的基本思想如下图表示: ?(二)算法描述??基本蚁群算法的算法简单描述如下:1.所有蚂蚁遇到障碍物时按照等概率选择路径,并留下信息素;?2.随着时间的推移,较短路径的信息素浓度升高;?3.蚂蚁再次遇到障碍物时,会选择信息素浓度高的路径;?4.较短路径的信息素浓度继续升高,最终最优路径被选择出来。??三、随机蚁群算法?在基本蚁群算法中,蚂蚁会在多条可选择的路径中,自动选择出最短的一条路径。但是,一旦蚁群选择了一条比之前短的路径,就会认为这条路径是最好的,在这条路径上一直走下去。这样的算法存在问题:蚂蚁可能只是找到了局部的最短路径,而忽略了全局最优解。?因此,在基本蚁群算法的基础上,需要对蚂蚁选路的方案加以改善:有些蚂蚁并没有象其它蚂蚁一样总重复同样的路,他们会另辟蹊径,也就是它会按照一定的概率不往信息素高的地方。如果令开辟的道路比原来的其他道路更短,那么,渐渐地,更多的蚂蚁被吸引到这条较短的路上来。最后,经过一段时间运行,可能会出现一条最短的路径被大多数蚂蚁重复着,这就是优化的随机蚁群算法为了实现蚂蚁的“随机”选路,我们需要做以下假设:?1.范围:蚂蚁观察到的范围是一个方格世界,蚂蚁有一个参数为速度半径,如果半径等于2,那么它能观察到的范围就是2*2个方格世界,并且能移动的距离也在这个范围之内。?2.环境:环境以一定的速率让信息素消失。?3.觅食规则:在每只蚂蚁能感知的范围内寻找是否有食物,如果有就直接过去。否则看是否有信息素,并且比较在能感知的范围内哪一点的信息素最多,那么它朝哪个方向走的概率就大。这就意味着每只蚂蚁多会以小概率犯错误,从而并不是往信息素最多的点移动。?4.避障规则:如果蚂蚁要移动的方向有障碍物挡住,它会随机的选择另一个方向,并且有信息素指引的话,它会按照觅食的规则行为。??5.播撒信息素规则:每只蚂蚁在找到食物后撒发的信息素。?自然想到一个问题:开始时环境没有信息素,蚂蚁为什么会相对有效的找到食物呢??这个问题用蚂蚁的移动规则同样可以解释。首先,它要能尽量保持某种惯性,这样使得蚂蚁尽量向前方移动(开始,这个前方是随机固定的一个方向),而不是原地无谓的打转或者震动;其次,蚂蚁要有一定的随机性,虽然有了固定的方向,但它也不能像粒子一样直线运动下去,而是有一个随机的干扰。这样就使得蚂蚁运动起来具有了一定的目的性,尽量保持原来的方向,但又有新的试探,这就解释了为什么单个蚂蚁在复杂的诸如迷宫的地图中仍然能找到隐蔽得很好的食物。?(二)算法描述?随机蚁群算法的算法描述如下:?算法输入:城市数量N,两两城市间的距离,所有路径的信息素浓度??算法输出:蚂蚁走过的路径长度?1.设置全部城市都没有去过,走过的路径长度为0;??2.随机选择一个出发的城市;??3.i?=?1??4.while(i??N)?根据可选择路径的信息素浓度,计算出各自选中的概率;?5根据不同选择的概率,使用轮盘选择算法,得到选择的下一个城市;6将所在城市标记为不可选择;??7.end?8.计算走过路径的长度;?用随机蚁群算法解决旅行商问题,实际上是多次使用蚁群算法,不断更新最短路径的过程。由此,我们容易得到旅行商问题的算法描述:??算法输入:所有城市的X、Y坐标,蚂蚁数量n,迭代次数K??算法输出:旅
您可能关注的文档
最近下载
- 2023届高考数学一轮复习专题:三角函数有关w的值及w取值范围的求法题型总结.docx
- 2024新湘艺版音乐七年级上册第二单元 汉族民歌 课件.pptx
- 教师资格证小学科目二默写本《教育知识与能力》.pdf VIP
- 江苏省淮安市淮安区2022-2023学年统考八年级上学期期中数学试卷 .docx
- GB-T17167-1997企业能源计量器具配备和管理导则.pdf
- 【优质】某地区一级水电站建设项目可行性研究报告-优秀甲级资质可研报告180页.doc
- 灶具成品检测标准.pdf
- 腹股沟疝(共27张PPT).pptx
- 部编版小学语文五年级上册第四单元整体解读与教学建议.doc
- 幼儿园 中班数学《10以内的倒数》.ppt VIP
文档评论(0)