蚁群算法综述
蚁群算法内容简介

蚁群算法内容简介蚁群算法(ant colony optimization, ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型算法群算法是由意大利学者Dorigo等人于20世纪90年代初期通过模拟自然界中蚂蚁集体寻经的行为而提出的一种基于种群的启发式随机搜索算法,蚁群算法具有并行性、鲁棒性、正反馈性等特点。
蚁群算法最早成功应用于解决著名的旅行商问题以及二次分配问题、车间任务调度问题、图的着色问题、网络路由等许多复杂的组合问题。
蚁群算法是一种模拟进化算法,初步的研究表明该算法具有许多优良的性质.针对PID控制器参数优化设计问题,将蚁群算法设计的结果与遗传算法设计的结果进行了比较,数值仿真结果表明,蚁群算法具有一种新的模拟进化优化方法的有效性和应用价值。
随着人们对效益的要求越来越高,人们发现组合优化的各种方法,但在一些复杂度比较高的问题上,一些传统的方法显示了他的限制,列如计算量上升太快,时间复杂度很高,这就需要一些新的方法来解决这些问题,从而有效地克服传统蚁群算法中容易陷入局部最优解和收敛速度慢的现象。
蚁群系统(Ant Colony System),这种算法是目前国内外启发式算法中的研究热点和前沿课题,被成功地运用于旅行商问题的求解,蚁群算法在求解复杂优化问题方面具有很大的优越性和广阔的前景。
但是,根据观察实验发现,蚁群中的多个蚂蚁的运动是随机的,在扩散范围较大时,在较短时间内很难找出一条较好的路径,在算法实现的过程中容易出现停滞现象和收敛速度慢现象。
在这种弊端的情况下,学者们提出了一种自适应蚁群算法,通过自适应地调整运行过程中的挥发因子来改变路径中信息素浓度,从而有效地克服传统蚁群算法中容易陷入局部最优解和收敛速度慢的现象。
下面是一些最常用的变异蚁群算法精英蚂蚁系统全局最优解决方案在每个迭代以及其他所有的蚂蚁的沉积信息素。
最大最小蚂蚁系统(MMAS)添加的最大和最小的信息素量[ τmax ,τmin ],只有全局最佳或迭代最好的巡逻沉积的信息素。
蚁群算法

蚁群算法目录1 蚁群算法基本思想 (1)1.1蚁群算法简介 (1)1.2蚁群行为分析 (1)1.3蚁群算法解决优化问题的基本思想 (2)1.4蚁群算法的特点 (2)2 蚁群算法解决TSP问题 (3)2.1关于TSP (3)2.2蚁群算法解决TSP问题基本原理 (3)2.3蚁群算法解决TSP问题基本步骤 (5)3 案例 (6)3.1问题描述 (6)3.2解题思路及步骤 (6)3.3MATLB程序实现 (7)3.1.1 清空环境 (7)3.2.2 导入数据 (7)3.3.3 计算城市间相互距离 (7)3.3.4 初始化参数 (7)3.3.5 迭代寻找最佳路径 (7)3.3.6 结果显示 (7)3.3.7 绘图 (7)1 蚁群算法基本思想1.1 蚁群算法简介蚁群算法(ant colony algrothrim ,ACA )是由意大利学者多里戈(Dorigo M )、马聂佐( Maniezzo V )等人于20世纪90初从生物进化的机制中受到启发,通过模拟自然界蚂蚁搜索路径的行为,提出来的一种新型的模拟进化算法。
该算法用蚁群在搜索食物源的过程中所体现出来的寻优能力来解决一些系统优化中的困难问题,其算法的基本思想是模仿蚂蚁依赖信息素,通过蚂蚁间正反馈的方法来引导每个蚂蚁的行动。
蚁群算法能够被用于解决大多数优化问题或者能够转化为优化求解的问题,现在其应用领域已扩展到多目标优化、数据分类、数据聚类、模式识别、电信QoS 管理、生物系统建模、流程规划、信号处理、机器人控制、决策支持以及仿真和系统辩识等方面。
蚁群算法是群智能理论研究领域的一种主要算法。
1.2 蚁群行为分析EABCDF d=3d=2 m=20 t=0AB C Dd=3d=2 m=10 m=10t=11.3 蚁群算法解决优化问题的基本思想用蚂蚁的行走路径表示待优化问题的可行解,整个蚂蚁群体的所有路径构成待优化问题的解空间。
路径较短的蚂蚁释放的信息量较多,随着时间的推进,较短路径上积累的信息浓度逐渐增高,选择该路径的蚂蚁个数愈来愈多。
蚁群算法及案例分析精选全文

群在选择下一条路径的时
候并不是完全盲目的,而是
按一定的算法规律有意识
地寻找最短路径
自然界蚁群不具有记忆的
能力,它们的选路凭借外
激素,或者道路的残留信
息来选择,更多地体现正
反馈的过程
人工蚁群和自然界蚁群的相似之处在于,两者优先选择的都
是含“外激素”浓度较大的路径; 两者的工作单元(蚂蚁)都
正反馈、较强的鲁棒性、全
局性、普遍性
局部搜索能力较弱,易出现
停滞和局部收敛、收敛速度
慢等问题
优良的分布式并行计算机制
长时间花费在解的构造上,
导致搜索时间过长
Hale Waihona Puke 易于与其他方法相结合算法最先基于离散问题,不
能直接解决连续优化问题
蚁群算法的
特点
蚁群算法的特点及应用领域
由于蚁群算法对图的对称性以
及目标函数无特殊要求,因此
L_ave=zeros(NC_max,1);
%各代路线的平均长度
while NC<=NC_max
%停止条件之一:达到最大迭代次数
% 第二步:将m只蚂蚁放到n个城市上
Randpos=[];
for i=1:(ceil(m/n))
Randpos=[Randpos,randperm(n)];
end
Tabu(:,1)=(Randpos(1,1:m))';
scatter(C(:,1),C(:,2));
L(i)=L(i)+D(R(1),R(n));
hold on
end
plot([C(R(1),1),C(R(N),1)],[C(R(1),2),C(R(N),2)])
蚁群算法概述

蚁群算法概述一、蚁群算法蚁群算法(ant colony optimization, ACO),又称蚂蚁算法,是一种用来寻找最优解决方案的机率型技术。
它由Marco Dorigo于1992年在他的博士论文中引入,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。
蚂蚁在路径上前进时会根据前边走过的蚂蚁所留下的分泌物选择其要走的路径。
其选择一条路径的概率与该路径上分泌物的强度成正比。
因此,由大量蚂蚁组成的群体的集体行为实际上构成一种学习信息的正反馈现象:某一条路径走过的蚂蚁越多,后面的蚂蚁选择该路径的可能性就越大。
蚂蚁的个体间通过这种信息的交流寻求通向食物的最短路径。
蚁群算法就是根据这一特点,通过模仿蚂蚁的行为,从而实现寻优。
这种算法有别于传统编程模式,其优势在于,避免了冗长的编程和筹划,程序本身是基于一定规则的随机运行来寻找最佳配置。
也就是说,当程序最开始找到目标的时候,路径几乎不可能是最优的,甚至可能是包含了无数错误的选择而极度冗长的。
但是,程序可以通过蚂蚁寻找食物的时候的信息素原理,不断地去修正原来的路线,使整个路线越来越短,也就是说,程序执行的时间越长,所获得的路径就越可能接近最优路径。
这看起来很类似与我们所见的由无数例子进行归纳概括形成最佳路径的过程。
实际上好似是程序的一个自我学习的过程。
3、人工蚂蚁和真实蚂蚁的异同ACO是一种基于群体的、用于求解复杂优化问题的通用搜索技术。
与真实蚂蚁通过外激素的留存/跟随行为进行间接通讯相似,ACO中一群简单的人工蚂蚁(主体)通过信息素(一种分布式的数字信息,与真实蚂蚁释放的外激素相对应)进行间接通讯,并利用该信息和与问题相关的启发式信息逐步构造问题的解。
人工蚂蚁具有双重特性:一方面,他们是真实蚂蚁的抽象,具有真实蚂蚁的特性,另一方面,他们还有一些在真实蚂蚁中找不到的特性,这些新的特性,使人工蚂蚁在解决实际优化问题时,具有更好地搜索较好解的能力。
人工蚂蚁与真实蚂蚁的相同点为:1.都是一群相互协作的个体。
蚁群算法原理介绍

15
15
A
B 30 15 F 15
C 30
D
A
B 30 30 F 30
C 30
D
路径BFC:蚂蚁增加,信息量增加,路径被选择的机率增加; 路径BEC:时间增加,信息量减少,路径被选择的机率减小。
基本蚁群算法的系统学特征
蚁群算法是一个系统
分布式计算
自组织
正反馈
蚁群算法是一个系统
Bertalanffy L V: 系统可以确定为处于一定的相互关系中 并与环境发生关系的各组成部分(要素)的 综合体。
蚁群行为描述
E E
d=1
d=1
15
15
蚁A 穴
B 30 d=0.5
C 30 d=0.5
D
食 物 源
A
B 30 15 F 15
C 30
D
F
释放信息素与路径长度成反比
蚁群行为描述
E E
10
10
A
B 30 20 20
C 30
D
A
B 30 30 30
C 30
D
F
F
信息量大,路径被选概率大
基本蚁群算法的机制原理
2.2.5 初始的蚁群优化算法—基于图的蚁群 系统(GBAS)
假设共4只蚂蚁,所有蚂蚁都从城市A出发,挥发因子 k 1 2 , k 1, 2,3 。此时,观察GBAS的计算过程。 矩阵 共有12条弧,初始信息素记忆矩阵为:
0 1 12 1 12 1 12 1 12 0 1 12 1 12 (0) ( ij (0)) 1 12 1 12 0 1 12 1 12 1 12 1 12 0
TSP的目的
蚁群算法理论、应用及其与其它算法的混合

基本内容
蚁群算法是一种基于自然界中蚂蚁觅食行为的启发式优化算法,被广泛应用 于解决各种优化问题。该算法具有鲁棒性、并行性和自适应性等优点,但同时也 存在一些局限性,如易陷入局部最优解等问题。本次演示将详细介绍蚁群算法的 基本理论、应用场景以及与其它算法的混合使用。
蚁群算法的实现包括两个关键步骤:构造解和更新信息素。在构造解的过程 中,每只蚂蚁根据自己的概率选择下一个节点,这个概率与当前节点和候选节点 的信息素以及距离有关。在更新信息素的过程中,蚂蚁会在构造解的过程中更新 路径上的信息素,以便后续的蚂蚁能够更好地找到最优解。
蚁群算法在许多领域都得到了广泛的应用。在机器学习领域,蚁群算法被用 来提高模型的性能和效果。例如,在推荐系统中,蚁群算法被用来优化用户和物 品之间的匹配,从而提高推荐准确率;在图像处理中,蚁群算法被用来进行特征 选择和图像分割,从而提高图像处理的效果。此外,蚁群算法在数据挖掘、运筹 学等领域也有着广泛的应用。
结论本次演示介绍了蚁群优化算法的理论研究及其应用。通过分析蚁群优化 算法的组成、行为和优化原理,以及其在不同领域的应用案例,本次演示展示了 蚁群优化算法在求解组合优化、路径规划、社会优化和生物信息学等领域问题的 优势和潜力。本次演示展望了蚁群优化算法未来的发展方向和可能挑战,强调了 其理论研究和应用价值。
总之,蚁群算法是一种具有广泛应用价值的优化算法,它通过模拟蚂蚁的觅 食行为来实现问题的优化。未来可以通过进一步研究蚁群算法的原理和应用,以 及克服其不足之处,来提高蚁群算法的性能和扩展其应用领域。
基本内容
理论基础蚁群优化算法由蚁群系统、行为和优化原理三个核心要素组成。蚁 群系统指的是一群相互协作的蚂蚁共同构成的社会组织;行为则是指蚂蚁在寻找 食物过程中表现出的行为模式;优化原理主要是指蚂蚁通过信息素引导和其他蚂 蚁的协同作用,以最短路径找到食物来源。
蚁群算法报告

蚁群算法报告学院:专业:学号:姓名:目录第一部分:蚁群算法原理介绍 (3)1.1蚁群算法的提出 (3)1.2蚁群算法的原理的生物学解释 (3)1.3蚁群算法的数学模型 (3)1.4蚁群算法实现步骤 (5)第二部分:蚁群算法实例--集装箱码头船舶调度模型 (7)2.1集装箱码头船舶调度流程图 (7)2.2算例与MATLAB编程的实现 (7)2.2.1算法实例 (7)2.2.2 Matlab编程 (9)第三章:MATLAB 优化设计工具箱简介 (15)3.1M ATLAB优化工具箱 (15)3.1.1优化工具箱功能: (16)3.2M ATLAB 优化设计工具箱中的函数 (16)3.2.2 方程求解函数 (17)3.2.3最小二乘(曲线拟合)函数 (17)3.2.4 使用函数 (17)3.2.5 大型方法的演示函数 (17)3.2.6 中型方法的延时函数 (18)3.4优化函数简介 (18)3.4.1优化工具箱的常用函数 (18)3.4.2 函数调用格式 (18)3.5模型输入时所需注意的问题 (20)第一部分:蚁群算法原理介绍1.1蚁群算法的提出蚂蚁是地球上最常见、数量最多的昆虫种类之一,常常成群结队地出现于人类的日常生活环境中。
受到自然界中真实蚁群集体行为的启发,意大利学者M.Dorig 。
于20世纪90年代初,在他的博士论文中首次系统地提出了一种基于蚂蚁种群的新型优化算法—蚁群算法}28}(Ant Colony Algorithm, ACA),并成功地用于求解旅行商问题,自1996年之后的五年时间里,蚁群算法逐渐引起了世界许多国家研究者的关注,其应用领域得到了迅速拓宽。
1.2蚁群算法的原理的生物学解释据观察和研究发现,蚂蚁倾向于朝着信息激素强度高的方向移动。
因此蚂蚁的群体行为便表现出了一种信息激素的正反馈现象。
当某条路径上经过的蚂蚁越多,该路径上存留的信息激素也就越多,以后就会有更多的蚂蚁选择它。
蚁群算法的解释

蚁群算法的解释
蚁群算法是一种自组织的算法。
在系统论中,自组织和它组织是组织的两个基本分类,其区别在于组织力或组织指令是来自于系统的内部还是来自于系统的外部,来自于系统内部的是自组织,来自于系统外部的是他组织。
如果系统在获得空间的、时间的或者功能结构的过程中,没有外界的特定干预,我们便说系统是自组织的。
在抽象意义上讲,自组织就是在没有外界作用下使得系统熵减小的过程(即是系统从无序到有序的变化过程)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
智能控制之蚁群算法1引言进入21世纪以来,随着信息技术的发展,许多新方法和技术进入工程化、产品化阶段,这对自动控制技术提出新的挑战,促进了智能理论在控制技术中的应用,以解决用传统的方法难以解决的复杂系统的控制问题。
随着计算机技术的飞速发展,智能计算方法的应用领域也越来越广泛。
智能控制技术的主要方法有模糊控制、基于知识的专家控制、神经网络控制和集成智能控制等,以及常用优化算法有:遗传算法、蚁群算法、免疫算法等。
蚁群算法是近些年来迅速发展起来的,并得到广泛应用的一种新型模拟进化优化算法。
研究表明该算法具有并行性,鲁棒性等优良性质。
它广泛应用于求解组合优化问题,所以本文着重介绍了这种智能计算方法,即蚁群算法,阐述了其工作原理和特点,同时对蚁群算法的前景进行了展望。
2 蚁群算法概述1、起源蚁群算法(ant colony optimization, ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型技术。
它由Marco Dorigo于1992年在他的博士论文中引入,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。
Deneubourg及其同事(Deneubourg et al.,1990; Goss et al.,1989)在可监控实验条件下研究了蚂蚁的觅食行为,实验结果显示这些蚂蚁可以通过使用一种称为信息素的化学物质来标记走过的路径,从而找出从蚁穴到食物源之间的最短路径。
在蚂蚁寻找食物的实验中发现,信息素的蒸发速度相对于蚁群收敛到最短路径所需的时间来说过于缓慢,因此在模型构建时,可以忽略信息素的蒸发。
然而当考虑的对象是人工蚂蚁时,情况就不同了。
实验结果显示,对于双桥模型和扩展双桥模型这些简单的连接图来说,同样不需要考虑信息素的蒸发。
相反,在更复杂的连接图上,对于最小成本路径问题来说,信息素的蒸发可以提高算法找到好解的性能。
2、基于蚁群算法的机制原理模拟蚂蚁群体觅食行为的蚁群算法是作为一种新的计算智能模式引入的,该算法基于如下假设:(1)蚂蚁之间通过信息素和环境进行通信。
每只蚂蚁仅根据其周围的环境作出反应,也只对其周围的局部环境产生影响。
(2)蚂蚁对环境的反应由其内部模式决定。
因为蚂蚁是基因生物,蚂蚁的行为实际上是其基因的自适应表现,即蚂蚁是反应型适应性主体。
(3)在个体水平上,每只蚂蚁仅根据环境作出独立选择;在群体水平上,单只蚂蚁的行为是随机的,但蚁群可通过自组织过程形成高度有序的群体行为。
由上述假设和分析可见,基本蚁群算法的寻优机制包括两个基本阶段:适应阶段和协作阶段。
在适应阶段,各侯选解根据积累的信息不断调整自身结构,路径上经过的蚂蚁越多,信息量越大,则该路径越容易被选择;时间越长,信息量会越小,在协作阶段,侯选解之间通过信息交流,以期望产生性能更好的解,类似于学习自动机的学习机制。
蚁群算法实际上是一类智能多主体系统,其自组织机制使得蚁群算法需要对所求问题的每一个方面都有详尽的认识。
自组织本质上是蚁群算法机制在没有外界作用下使系统熵增加的动态过程,体现了无序到有序的动态变化。
先将具体的组合优化问题表述成规范的格式,然后利用蚁群算法在“探索(exploration)”和“利用(exploitation)”之间根据信息素这一反馈载体确定决策点,同时按照相应的信息素更新规则对每只蚂蚁个体的信息素进行增量构建,随后从整体角度规划出蚁群活动的行为方向,周而复始,即可求出组合优化问题的最优解。
3、人工蚂蚁和真实蚂蚁的异同ACO是一种基于群体的、用于求解复杂优化问题的通用搜索技术。
与真实蚂蚁通过外激素的留存/跟随行为进行间接通讯相似,ACO中一群简单的人工蚂蚁(主体)通过信息素(一种分布式的数字信息,与真实蚂蚁释放的外激素相对应)进行间接通讯,并利用该信息和与问题相关的启发式信息逐步构造问题的解。
人工蚂蚁具有双重特性:一方面,他们是真实蚂蚁的抽象,具有真实蚂蚁的特性,另一方面,他们还有一些在真实蚂蚁中找不到的特性,这些新的特性,使人工蚂蚁在解决实际优化问题时,具有更好地搜索较好解的能力。
人工蚂蚁与真实蚂蚁的相同点为:1.都是一群相互协作的个体。
与真实蚁群一样,ACO由一群人工蚂蚁组成,人工蚂蚁之间通过同步/异步协作来寻找问题的最优解。
虽然单只人工蚂蚁可以构造出问题的解,但只有当多只人工蚂蚁通过相互协作,才能发现问题的最优(次优)解。
人工蚂蚁个体间通过写/读问题的状态变量来进行协作。
2.都使用外激素的迹和Stigmergy机制。
如真实蚂蚁一样,人工蚂蚁通过改变所访问过的问题的数字状态信息(在ACO中被称为信息素)来进行间接的协作。
在ACO中,信息素是人工蚂蚁之间进行交流的唯一途径。
这种通讯方式在群体知识的利用上起到了至关重要的作用。
另外,ACO还用到了蒸发机制,这一点对应于真实蚂蚁中外激素的蒸发现象。
蒸发机制使蚁群逐渐忘记过去的历史,使后来的蚂蚁在搜索中较少的受过去较差解的影响,从而更好的指导蚂蚁的搜索方向。
3.搜索最短路径与局部移动。
人工蚂蚁和真实蚂蚁具有相同的任务,即以局部移动的方式构造出从原点(蚁巢)到目的点(食物源)之间的最短路径。
随机状态转移策略。
人工蚂蚁和真实蚂蚁都按照概率决策规则从一种状态转移到另一种相邻状态。
其中的概率决策规则是与问题相关信息和局部环境信息的函数。
在状态转移过程中,人工蚂蚁和真实蚂蚁都只用到了局部信息,没有使用前瞻策略来预见将来的状态。
因此,所使用的策略在时间和空间上是局部的。
人工蚂蚁和真实蚂蚁的不同点1. 人工蚂蚁生活在离散的时间,从一种离散状态到另一种离散状态;2. 人工蚂蚁具有内部状态,即人工蚂蚁具有一定的记忆能力,能记住自己走过的地方;3. 人工蚂蚁释放信息素的数量是其生成解的质量的函数;4. 人工蚂蚁更新信息素的时机依赖于特定的问题。
例如,大多数人工蚂蚁仅仅在蚂蚁找到一个解之后才更新路径上的信息素。
有时,为了提高ACO的效率,可以在算法中加入预测、局部优化以及后退等策略。
3蚁群算法原理蚁群算法是一种模拟进化算法,初步的研究表明该算法具有许多优良的性质。
针对PID控制器参数优化设计问题,将蚁群算法设计的结果与遗传算法设计的结果进行了比较,数值仿真结果表明,蚁群算法具有一种新的模拟进化优化方法的有效性和应用价值。
蚁群算法是一种求解组合最优化问题的新型通用启发式方法,该方法具有正反馈、分布式计算和富于建设性的贪婪启发式搜索的特点。
预期的结果:各个蚂蚁在没有事先告诉他们食物在什么地方的前提下开始寻找食物。
当一只找到食物以后,它会向环境释放一种信息素,吸引其他的蚂蚁过来,这样越来越多的蚂蚁会找到食物!有些蚂蚁并没有象其它蚂蚁一样总重复同样的路,他们会另辟蹊径,如果令开辟的道路比原来的其他道路更短,那么,渐渐,更多的蚂蚁被吸引到这条较短的路上来。
最后,经过一段时间运行,可能会出现一条最短的路径被大多数蚂蚁重复着。
为什么小小的蚂蚁能够找到食物?他们具有智能么?设想,如果我们要为蚂蚁设计一个人工智能的程序,那么这个程序要多么复杂呢?首先,你要让蚂蚁能够避开障碍物,就必须根据适当的地形给它编进指令让他们能够巧妙的避开障碍物,其次,要让蚂蚁找到食物,就需要让他们遍历空间上的所有点;再次,如果要让蚂蚁找到最短的路径,那么需要计算所有可能的路径并且比较它们的大小,而且更重要的是,你要小心翼翼的编程,因为程序的错误也许会让你前功尽弃。
这是多么不可思议的程序!太复杂了,恐怕没人能够完成这样繁琐冗余的程序。
然而,事实并没有你想得那么复杂,上面这个程序每个蚂蚁的核心程序编码不过100多行!为什么这么简单的程序会让蚂蚁干这样复杂的事情?答案是:简单规则的涌现。
事实上,每只蚂蚁并不是像我们想象的需要知道整个世界的信息,他们其实只关心很小范围内的眼前信息,而且根据这些局部信息利用几条简单的规则进行决策,这样,在蚁群这个集体里,复杂性的行为就会凸现出来。
这就是人工生命、复杂性科学解释的规律!那么,这些简单规则是什么呢?下面详细说明:1、范围:蚂蚁观察到的范围是一个方格世界,蚂蚁有一个参数为速度半径(一般是3),那么它能观察到的范围就是3*3个方格世界,并且能移动的距离也在这个范围之内。
2、环境:蚂蚁所在的环境是一个虚拟的世界,其中有障碍物,有别的蚂蚁,还有信息素,信息素有两种,一种是找到食物的蚂蚁洒下的食物信息素,一种是找到窝的蚂蚁洒下的窝的信息素。
每个蚂蚁都仅仅能感知它范围内的环境信息。
环境以一定的速率让信息素消失。
3、觅食规则:在每只蚂蚁能感知的范围内寻找是否有食物,如果有就直接过去。
否则看是否有信息素,并且比较在能感知的范围内哪一点的信息素最多,这样,它就朝信息素多的地方走,并且每只蚂蚁多会以小概率犯错误,从而并不是往信息素最多的点移动。
蚂蚁找窝的规则和上面一样,只不过它对窝的信息素做出反应,而对食物信息素没反应。
4、移动规则:每只蚂蚁都朝向信息素最多的方向移,并且,当周围没有信息素指引的时候,蚂蚁会按照自己原来运动的方向惯性的运动下去,并且,在运动的方向有一个随机的小的扰动。
为了防止蚂蚁原地转圈,它会记住最近刚走过了哪些点,如果发现要走的下一点已经在最近走过了,它就会尽量避开。
5、避障规则:如果蚂蚁要移动的方向有障碍物挡住,它会随机的选择另一个方向,并且有信息素指引的话,它会按照觅食的规则行为。
6、播撒信息素规则:每只蚂蚁在刚找到食物或者窝的时候撒发的信息素最多,并随着它走远的距离,播撒的信息素越来越少。
根据这几条规则,蚂蚁之间并没有直接的关系,但是每只蚂蚁都和环境发生交互,而通过信息素这个纽带,实际上把各个蚂蚁之间关联起来了。
比如,当一只蚂蚁找到了食物,它并没有直接告诉其它蚂蚁这儿有食物,而是向环境播撒信息素,当其它的蚂蚁经过它附近的时候,就会感觉到信息素的存在,进而根据信息素的指引找到了食物。
说了这么多,蚂蚁究竟是怎么找到食物的呢?在没有蚂蚁找到食物的时候,环境没有有用的信息素,那么蚂蚁为什么会相对有效的找到食物呢?这要归功于蚂蚁的移动规则,尤其是在没有信息素时候的移动规则。
首先,它要能尽量保持某种惯性,这样使得蚂蚁尽量向前方移动(开始,这个前方是随机固定的一个方向),而不是原地无谓的打转或者震动;其次,蚂蚁要有一定的随机性,虽然有了固定的方向,但它也不能像粒子一样直线运动下去,而是有一个随机的干扰。
这样就使得蚂蚁运动起来具有了一定的目的性,尽量保持原来的方向,但又有新的试探,尤其当碰到障碍物的时候它会立即改变方向,这可以看成一种选择的过程,也就是环境的障碍物让蚂蚁的某个方向正确,而其他方向则不对。
这就解释了为什么单个蚂蚁在复杂的诸如迷宫的地图中仍然能找到隐蔽得很好的食物。
当然,在有一只蚂蚁找到了食物的时候,其他蚂蚁会沿着信息素很快找到食物的。