lzh电子论坛

欢迎来到lzh电子论坛:
如果您对电子技术感兴趣就加入我们吧!在这里互相交流互相学习!主要讨论的方向有:单片机,ARM,PCB板设计,FPGA,汇编,C/C++等方面。
-----lzh电子论坛
lzhbbs.top-me.com
lzh电子论坛

电子的道路是孤独的,要懂得左手温暖右手,要懂得把debug当作快乐去欣赏,去享受,那样你才会成功...

欢迎访问lzh电子论坛。可通过【谷歌,SOSO,搜狗】搜索“lzh电子论坛”直接进入论坛。点击了解论坛详细制度


    感觉很牛B的蚁群算法

    分享
    avatar
    Admin
    管理员
    管理员

    帖子数 : 869
    威望 : 15
    注册日期 : 12-11-23
    年龄 : 25

    感觉很牛B的蚁群算法

    帖子 由 Admin 于 2013-09-15, 2:05 pm

    基于蚁群优化算法递归神经网络的短期负荷预测
    蚁群算法的小改进
    基于蚁群算法的无人机任务规划
    多态蚁群算法
    MCM基板互连测试的单探针路径优化研究
    改进的增强型蚁群算法
    基于云模型理论的蚁群算法改进研究
    基于禁忌搜索与蚁群最优结合算法的配电网规划
    自适应蚁群算法在序列比对中的应用
    基于蚁群算法的QoS多播路由优化算法
    多目标优化问题的蚁群算法研究
    多线程蚁群算法及其在最短路问题上的应用研究
    改进的蚁群算法在2D HP模型中的应用
    制造系统通用作业计划与蚁群算法优化
    基于混合行为蚁群算法的研究
    火力优化分配问题的小生境遗传蚂蚁算法
    基于蚁群算法的对等网模拟器的设计与实现
    基于粗粒度模型的蚁群优化并行算法
    动态跃迁转移蚁群算法
    基于人工免疫算法和蚁群算法求解旅行商问题
    基于信息素异步更新的蚁群算法
    用于连续函数优化的蚁群算法
    求解复杂多阶段决策问题的动态窗口蚁群优化算法
    蚁群算法在铸造生产配料优化中的应用
    多阶段输电网络最优规划的并行蚁群算法
    求解旅行商问题的混合粒子群优化算法
    微粒群优化算法研究现状及其进展
    随机摄动蚁群算法的收敛性及其数值特性分析
    广义蚁群与粒子群结合算法在电力系统经济负荷分配中的应用
    改进的蚁群算法及其在TSP中的应用研究
    蚁群算法的全局收敛性研究及改进
    房地产开发项目投资组合优化的改进蚁群算法
    一种改进的蚁群算法用于灰色约束非线性规划问题求解
    一种自适应蚁群算法及其仿真研究
    一种动态自适应蚁群算法
    蚂蚁群落优化算法在蛋白质折叠二维亲-疏水格点模型中的应用
    用改进蚁群算法求解函数优化问题
    连续优化问题的蚁群算法研究进展
    蚁群算法概述
    Ant colony system algorithm for the optimization of beer fermentation control
    蚁群算法在K—TSP问题中的应用
    Parallel ant colony algorithm and its application in the capacitated lot sizing problem for an agile supply chain
    基于遗传蚁群算法的机器人全局路径规划研究
    改进的蚁群算法在矿山物流配送路径优化中的研究
    基于蚁群算法的配电网络综合优化方法
    基于蚁群算法的分类规则挖掘算法
    蚁群算法在连续性空间优化问题中的应用
    蚁群算法在矿井通风系统优化设计中的应用
    基于蚁群算法的液压土锚钻机动力头优化设计
    改进蚁群算法设计拉式膜片弹簧
    计算机科学技术
    基本蚁群算法及其改进
    TSP改进算法及在PCB数控加工刀具轨迹中的应用
    可靠性优化的蚁群算法
    对一类带聚类特征TSP问题的蚁群算法求解
    蚁群算法理论及应用研究的进展
    基于二进制编码的蚁群优化算法及其收敛性分析
    蚁群算法的理论及其应用
    基于蚁群行为仿真的影像纹理分类
    启发式蚁群算法及其在高填石路堤稳定性分析中的应用
    蚁群算法的研究现状
    一种快速全局优化的改进蚁群算法及仿真
    聚类问题的蚁群算法
    蚁群最优化——模型、算法及应用综述
    基于信息熵的改进蚁群算法及其应用
    机载公共设备综合管理系统任务分配算法研究
    基于改进蚁群算法的飞机低空突防航路规划
    利用信息量留存的蚁群遗传算法
    An Improved Heuristic Ant-Clustering Algorithm
    改进型蚁群算法在内燃机径向滑动轴承优化设计中的应用
    基于蚁群算法的PID参数优化
    基于蚁群算法的复杂系统多故障状态的决策
    蚁群算法在数据挖掘中的应用研究
    基于蚁群算法的基因联接学习遗传算法
    基于细粒度模型的并行蚁群优化算法
    Binary-Coding-Based Ant Colony Optimization and Its Convergence
    运载火箭控制系统漏电故障诊断研究
    混沌扰动启发式蚁群算法及其在边坡非圆弧临界滑动面搜索中的应用
    蚁群算法原理的仿真研究
    Hopfield neural network based on ant system
    蚁群算法及其实现方法研究
    分层实体制造激光头切割路径的建模与优化
    配送网络规划蚁群算法
    基于蚁群算法的城域交通控制实时滚动优化
    基于蚁群算法的复合形法及其在边坡稳定分析中的应用
    Ant Colony Algorithm for Solving QoS Routing Problem
    多产品间歇过程调度问题的建模与优化
    基于蚁群算法的两地之间的最佳路径选择
    蚁群算法求解问题时易产生的误区及对策
    用双向收敛蚁群算法解作业车间调度问题
    物流配送路径安排问题的混合蚁群算法
    求解TSP问题的模式学习并行蚁群算法
    基于蚁群算法的三维空间机器人路径规划
    蚁群优化算法及其应用
    蚁群算法不确定性分析
    一种求解TSP问题的相遇蚁群算法
    基于蚁群优化算法的彩色图像颜色聚类的研究
    钣金件数控激光切割割嘴路径的优化
    基于蚁群算法的图像分割方法
    一种基于蚁群算法的聚类组合方法
    圆排列问题的蚁群模拟退火算法
    智能混合优化策略及其在流水作业调度中的应用
    蚁群算法在QoS网络路由中的应用
    一种改进的自适应路由算法
    基于蚁群算法的煤炭运输优化方法
    基于蚁群智能和支持向量机的人脸性别分类方法
    蚁群算法在啤酒发酵控制优化中的应用
    一种基于时延信息的多QoS快速自适应路由算法
    蚁群算法中参数α、β、ρ设置的研究——以TSP问题为例
    基于人工蚁群优化的矢量量化码书设计算法
    具有自适应杂交特征的蚁群算法
    蚁群算法在原料矿粉混匀优化中的应用
    基于多Agent的蚁群算法在车间动态调度中的应用研究
    用蚁群优化算法求解中国旅行商问题
    蚁群算法在婴儿营养米粉配方中的应用
    蚁群算法在机械优化设计中的应用
    蚁群优化算法的研究现状及研究展望
    蚁群优化算法及其应用研究进展
    蚁群算法的理论与应用
    简单蚁群算法的仿真分析
    一种改进的蚁群算法求解最短路径问题
    基于模式求解旅行商问题的蚁群算法
    一种求解TSP的混合型蚁群算法
    基于MATLAB的改进型基本蚁群算法
    动态蚁群算法求解TSP问题
    用蚁群算法求解类TSP问题的研究
    蚁群算法求解连续空间优化问题的一种方法
    用混合型蚂蚁群算法求解TSP问题
    求解复杂TSP问题的随机扰动蚁群算法
    基于蚁群算法的中国旅行商问题满意解
    蚁群算法的研究现状和应用及蚂蚁智能体的硬件实现
    蚁群算法概述
    蚁群算法的研究现状及其展望
    基于蚁群算法的配电网网架优化规划方法
    用于一般函数优化的蚁群算法
    协同模型与遗传算法的集成
    基于蚁群最优的输电网络扩展规划
    自适应蚁群算法
    凸整数规划问题的混合蚁群算法
    一种新的进化算法—蛟群算法
    基于协同工作方式的一种蚁群布线系统


    程序开始运行,蚂蚁们开始从窝里出动了,寻找食物;他们会顺着屏幕爬满整个画面,直到找到食物再返回窝。

    其中,‘F’点表示食物,‘H’表示窝,白色块表示障碍物,‘+’就是蚂蚁了。


    预期的结果:
       各个蚂蚁在没有事先告诉他们食物在什么地方的前提下开始寻找食物。当一只找到食物以后,它会向环境释放一种信息素,吸引其他的蚂蚁过来,这样越来越多的蚂蚁会找到食物!有些蚂蚁并没有象其它蚂蚁一样总重复同样的路,他们会另辟蹊径,如果令开辟的道路比原来的其他道路更短,那么,渐渐,更多的蚂蚁被吸引到这条较短的路上来。最后,经过一段时间运行,可能会出现一条最短的路径被大多数蚂蚁重复着。

    原理:
    为什么小小的蚂蚁能够找到食物?他们具有智能么?设想,如果我们要为蚂蚁设计一个人工智能的程序,那么这个程序要多么复杂呢?首先,你要让蚂蚁能够避开障碍物,就必须根据适当的地形给它编进指令让他们能够巧妙的避开障碍物,其次,要让蚂蚁找到食物,就需要让他们遍历空间上的所有点;再次,如果要让蚂蚁找到最短的路径,那么需要计算所有可能的路径并且比较它们的大小,而且更重要的是,你要小心翼翼的编程,因为程序的错误也许会让你前功尽弃。这是多么不可思议的程序!太复杂了,恐怕没人能够完成这样繁琐冗余的程序。
      然而,事实并没有你想得那么复杂,上面这个程序每个蚂蚁的核心程序编码不过100多行!为什么这么简单的程序会让蚂蚁干这样复杂的事情?答案是:简单规则的涌现。事实上,每只蚂蚁并不是像我们想象的需要知道整个世界的信息,他们其实只关心很小范围内的眼前信息,而且根据这些局部信息利用几条简单的规则进行决策,这样,在蚁群这个集体里,复杂性的行为就会凸现出来。这就是人工生命、复杂性科学解释的规律!那么,这些简单规则是什么呢?下面详细说明:
    1、范围:
       蚂蚁观察到的范围是一个方格世界,蚂蚁有一个参数为速度半径(一般是3),那么它能观察到的范围就是3*3个方格世界,并且能移动的距离也在这个范围之内。
    2、环境:
       蚂蚁所在的环境是一个虚拟的世界,其中有障碍物,有别的蚂蚁,还有信息素,信息素有两种,一种是找到食物的蚂蚁洒下的食物信息素,一种是找到窝的蚂蚁洒下的窝的信息素。每个蚂蚁都仅仅能感知它范围内的环境信息。环境以一定的速率让信息素消失。
    3、觅食规则:
       在每只蚂蚁能感知的范围内寻找是否有食物,如果有就直接过去。否则看是否有信息素,并且比较在能感知的范围内哪一点的信息素最多,这样,它就朝信息素多的地方走,并且每只蚂蚁多会以小概率犯错误,从而并不是往信息素最多的点移动。蚂蚁找窝的规则和上面一样,只不过它对窝的信息素做出反应,而对食物信息素没反应。
    4、移动规则:
       每只蚂蚁都朝向信息素最多的方向移,并且,当周围没有信息素指引的时候,蚂蚁会按照自己原来运动的方向惯性的运动下去,并且,在运动的方向有一个随机的小的扰动。为了防止蚂蚁原地转圈,它会记住最近刚走过了哪些点,如果发现要走的下一点已经在最近走过了,它就会尽量避开。
    5、避障规则:
       如果蚂蚁要移动的方向有障碍物挡住,它会随机的选择另一个方向,并且有信息素指引的话,它会按照觅食的规则行为。
    7、播撒信息素规则:
       每只蚂蚁在刚找到食物或者窝的时候撒发的信息素最多,并随着它走远的距离,播撒的信息素越来越少。

       根据这几条规则,蚂蚁之间并没有直接的关系,但是每只蚂蚁都和环境发生交互,而通过信息素这个纽带,实际上把各个蚂蚁之间关联起来了。比如,当一只蚂蚁找到了食物,它并没有直接告诉其它蚂蚁这儿有食物,而是向环境播撒信息素,当其它的蚂蚁经过它附近的时候,就会感觉到信息素的存在,进而根据信息素的指引找到了食物。

    问题:
        说了这么多,蚂蚁究竟是怎么找到食物的呢?
       在没有蚂蚁找到食物的时候,环境没有有用的信息素,那么蚂蚁为什么会相对有效的找到食物呢?这要归功于蚂蚁的移动规则,尤其是在没有信息素时候的移动规则。首先,它要能尽量保持某种惯性,这样使得蚂蚁尽量向前方移动(开始,这个前方是随机固定的一个方向),而不是原地无谓的打转或者震动;其次,蚂蚁要有一定的随机性,虽然有了固定的方向,但它也不能像粒子一样直线运动下去,而是有一个随机的干扰。这样就使得蚂蚁运动起来具有了一定的目的性,尽量保持原来的方向,但又有新的试探,尤其当碰到障碍物的时候它会立即改变方向,这可以看成一种选择的过程,也就是环境的障碍物让蚂蚁的某个方向正确,而其他方向则不对。这就解释了为什么单个蚂蚁在复杂的诸如迷宫的地图中仍然能找到隐蔽得很好的食物。
        当然,在有一只蚂蚁找到了食物的时候,其他蚂蚁会沿着信息素很快找到食物的。

        蚂蚁如何找到最短路径的?这一是要归功于信息素,另外要归功于环境,具体说是计算机时钟。信息素多的地方显然经过这里的蚂蚁会多,因而会有更多的蚂蚁聚集过来。假设有两条路从窝通向食物,开始的时候,走这两条路的蚂蚁数量同样多(或者较长的路上蚂蚁多,这也无关紧要)。当蚂蚁沿着一条路到达终点以后会马上返回来,这样,短的路蚂蚁来回一次的时间就短,这也意味着重复的频率就快,因而在单位时间里走过的蚂蚁数目就多,洒下的信息素自然也会多,自然会有更多的蚂蚁被吸引过来,从而洒下更多的信息素……;而长的路正相反,因此,越来越多地蚂蚁聚集到较短的路径上来,最短的路径就近似找到了。也许有人会问局部最短路径和全局最短路的问题,实际上蚂蚁逐渐接近全局最短路的,为什么呢?这源于蚂蚁会犯错误,也就是它会按照一定的概率不往信息素高的地方走而另辟蹊径,这可以理解为一种创新,这种创新如果能缩短路途,那么根据刚才叙述的原理,更多的蚂蚁会被吸引过来。


    引申
       跟着蚂蚁的踪迹,你找到了什么?通过上面的原理叙述和实际操作,我们不难发现蚂蚁之所以具有智能行为,完全归功于它的简单行为规则,而这些规则综合起来具有下面两个方面的特点:
    1、多样性
    2、正反馈
       多样性保证了蚂蚁在觅食的时候不置走进死胡同而无限循环,正反馈机制则保证了相对优良的信息能够被保存下来。我们可以把多样性看成是一种创造能力,而正反馈是一种学习强化能力。正反馈的力量也可以比喻成权威的意见,而多样性是打破权威体现的创造性,正是这两点小心翼翼的巧妙结合才使得智能行为涌现出来了。
        引申来讲,大自然的进化,社会的进步、人类的创新实际上都离不开这两样东西,多样性保证了系统的创新能力,正反馈保证了优良特性能够得到强化,两者要恰到好处的结合。如果多样性过剩,也就是系统过于活跃,这相当于蚂蚁会过多的随机运动,它就会陷入混沌状态;而相反,多样性不够,正反馈机制过强,那么系统就好比一潭死水。这在蚁群中来讲就表现为,蚂蚁的行为过于僵硬,当环境变化了,蚂蚁群仍然不能适当的调整。
        既然复杂性、智能行为是根据底层规则涌现的,既然底层规则具有多样性和正反馈特点,那么也许你会问这些规则是哪里来的?多样性和正反馈又是哪里来的?我本人的意见:规则来源于大自然的进化。而大自然的进化根据刚才讲的也体现为多样性和正反馈的巧妙结合。而这样的巧妙结合又是为什么呢?为什么在你眼前呈现的世界是如此栩栩如生呢?答案在于环境造就了这一切,之所以你看到栩栩如生的世界,是因为那些不能够适应环境的多样性与正反馈的结合都已经死掉了,被环境淘汰了!

    参数说明:
    最大信息素:蚂蚁在一开始拥有的信息素总量,越大表示程序在较长一段时间能够存在信息素。信息素消减的速度:随着时间的流逝,已经存在于世界上的信息素会消减,这个数值越大,那么消减的越快。
    错误概率表示这个蚂蚁不往信息素最大的区域走的概率,越大则表示这个蚂蚁越有创新性。
    速度半径表示蚂蚁一次能走的最大长度,也表示这个蚂蚁的感知范围。
    记忆能力表示蚂蚁能记住多少个刚刚走过点的坐标,这个值避免了蚂蚁在本地打转,停滞不前。而这个值越大那么整个系统运行速度就慢,越小则蚂蚁越容易原地转圈


    下载: 蚁群算法.zip
    下载: 蚁群算法2.zip

      目前的日期/时间是2018-07-22, 2:51 am