蚁群算法
- 格式:docx
- 大小:39.52 KB
- 文档页数:7
蚁群算法目录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 蚁群算法解决优化问题的基本思想用蚂蚁的行走路径表示待优化问题的可行解,整个蚂蚁群体的所有路径构成待优化问题的解空间。
路径较短的蚂蚁释放的信息量较多,随着时间的推进,较短路径上积累的信息浓度逐渐增高,选择该路径的蚂蚁个数愈来愈多。
蚁群算法简介蚁群算法是一种优化技术,受到自然界中蚂蚁寻找食物的行为的启发。
这种算法模拟了蚂蚁的信息共享和移动模式,用于解决复杂的组合优化问题,如旅行商问题(TSP)、车辆路径问题(VRP)等。
一、蚁群算法的基本原理在自然界中,蚂蚁寻找食物的行为非常有趣。
它们会在路径上留下信息素,后续的蚂蚁会根据信息素的强度选择路径,倾向于选择信息素浓度高的路径。
这样,一段时间后,大多数蚂蚁都会选择最短或最佳的路径。
这就是蚁群算法的基本原理。
二、蚁群算法的主要步骤1.初始化:首先,为每条边分配一个初始的信息素浓度。
通常,所有边的初始信息素浓度都是相等的。
2.路径选择:在每一步,每个蚂蚁都会根据当前位置和周围信息素浓度选择下一步的移动方向。
选择概率与信息素浓度成正比,与距离成反比。
这意味着蚂蚁更倾向于选择信息素浓度高且距离短的路径。
3.释放信息素:当蚂蚁完成一次完整的路径后,它会在其经过的边上留下信息素。
信息素的浓度与解决问题的质量成正比,即如果蚂蚁找到了一条更好的路径,那么这条路径上的信息素浓度会增加。
4.更新:经过一段时间后,信息素会随时间的推移而挥发,这使得那些不再被认为是最优的路径上的信息素浓度逐渐减少。
同时,每条边上的信息素浓度也会随着时间的推移而均匀增加,这使得那些从未被探索过的路径也有被选择的可能性。
5.终止条件:算法会在找到满足条件的最优解或达到预设的最大迭代次数后终止。
三、蚁群算法的优势和局限性蚁群算法的优势在于其对于组合优化问题的良好性能和其自然启发式的搜索过程。
这种算法能够有效地找到全局最优解,并且在搜索过程中能够避免陷入局部最优解。
此外,蚁群算法具有较强的鲁棒性,对于问题的规模和复杂性具有较强的适应性。
然而,蚁群算法也存在一些局限性。
首先,算法的性能高度依赖于参数的设置,如信息素的挥发速度、蚂蚁的数量、迭代次数等。
其次,对于一些复杂的问题,可能需要很长的计算时间才能找到最优解。
此外,蚁群算法可能无法处理大规模的问题,因为这可能导致计算时间和空间的复杂性增加。
蚁群优化算法的JA V A实现收藏蚁群算法简介蚁群算法是群智能算法的一种,所谓的群智能是一种由无智能或简单智能的个体通过任何形式的聚集协同而表现出智能行为,它为在没有集中控制且不提供全局模型的前提下寻找复杂的分布式问题求解方案提供了基础,比如常见的蚂蚁觅食,大雁南飞等行为。
蚁群算法是模拟自然界中蚂蚁觅食的一种随机搜索算法,由Dorigo等人于1991年在第一届欧洲人工生命会议上提出[1] 。
蚁群算法的生物原理通过观察发现,蚁群在觅食的时候,总能找到一条从蚁巢到食物之间的一条最短的路径。
这个现象引起了生物学家的注意,根据研究,原来是蚂蚁在行进的过程中,会分泌一种化学物质——信息素,而蚂蚁在行进时,总是倾向于选择信息素浓度比较高的路线。
这样,在蚁巢和食物之间假如有多条路径,初始的时候,每条路径上都会有蚂蚁爬过,但是随着时间的推迟,单位时间内最短的那条路上爬过的蚂蚁数量会比较多,释放的信息素就相对来说比较多,那么以后蚂蚁选择的时候会大部分都选择信息素比较多的路径,从而会把最短路径找出来。
蚁群算法正是模拟这种蚁群觅食的原理,构造人工蚂蚁,用来求解许多组合优化问题。
有关蚁群算法的详细信息,可参考[2]——[5]。
蚁群算法的JA V A实现我个人认为利用JA V A编写一些计算密集型的算法不是一个好的选择。
本身一些算法是要要求高效率的,但是我感觉JA V A语言的性能不够,所以编写算法最好用c,其次也可以用c++。
当然,这仅是一家之言,欢迎拍砖。
此处使用JA V A的原因是为了演示算法的框架,给出一种思路,如果需要c++的参考,可以参考,如果需要c的代码,可以上http://iridia.ulb.ac.be/~mdorigo/ACO/ACO.html, 这个可以看作是ACO的官方网站了,里面的内容比较多。
算法说明算法以求解TSP问题为例,用来演示ACO的框架。
算法设定了两个类,一个是ACO,用来处理文件信息的读入,信息素的更新,路径的计算等;另一个是ant,即蚂蚁的信息。
1. 蚁群算法简介蚁群算法(Ant Clony Optimization,ACO)是一种群智能算法,它是由一群无智能或有轻微智能的个体(Agent)通过相互协作而表现出智能行为,从而为求解复杂问题提供了一个新的可能性。
蚁群算法最早是由意大利学者Colorni A., Dorigo M. 等于1991年提出。
经过20多年的发展,蚁群算法在理论以及应用研究上已经得到巨大的进步。
蚁群算法是一种仿生学算法,是由自然界中蚂蚁觅食的行为而启发的。
在自然界中,蚂蚁觅食过程中,蚁群总能够按照寻找到一条从蚁巢和食物源的最优路径。
图(1)显示了这样一个觅食的过程。
图(1)蚂蚁觅食在图1(a)中,有一群蚂蚁,假如A是蚁巢,E是食物源(反之亦然)。
这群蚂蚁将沿着蚁巢和食物源之间的直线路径行驶。
假如在A和E之间突然出现了一个障碍物(图1(b)),那么,在B点(或D点)的蚂蚁将要做出决策,到底是向左行驶还是向右行驶?由于一开始路上没有前面蚂蚁留下的信息素(pheromone),蚂蚁朝着两个方向行进的概率是相等的。
但是当有蚂蚁走过时,它将会在它行进的路上释放出信息素,并且这种信息素会议一定的速率散发掉。
信息素是蚂蚁之间交流的工具之一。
它后面的蚂蚁通过路上信息素的浓度,做出决策,往左还是往右。
很明显,沿着短边的的路径上信息素将会越来越浓(图1(c)),从而吸引了越来越多的蚂蚁沿着这条路径行驶。
2. TSP问题描述蚁群算法最早用来求解TSP问题,并且表现出了很大的优越性,因为它分布式特性,鲁棒性强并且容易与其它算法结合,但是同时也存在这收敛速度慢,容易陷入局部最优(local optimal)等缺点。
TSP问题(Travel Salesperson Problem,即旅行商问题或者称为中国邮递员问题),是一种,是一种NP-hard问题,此类问题用一般的算法是很大得到最优解的,所以一般需要借助一些启发式算法求解,例如遗传算法(GA),蚁群算法(ACO),微粒群算法(PSO)等等。
蚁群算法蚁狮算法
蚁群算法(Ant Colony Algorithm)是一种模拟蚂蚁觅食行为的启发式优化算法。
它通过模拟蚂蚁在寻找食物过程中释放信息素的行为,来解决组合优化问题。
蚂蚁在寻找食物时会在路径上释放一种化学物质,称为信息素,其他蚂蚁通过感知到信息素的浓度来选择路径,从而实现最优路径的搜索。
蚁群算法的基本思想是:在解空间中随机生成一群蚂蚁,每只蚂蚁根据当前位置和信息素浓度选择下一个移动位置,移动后释放信息素。
信息素浓度会随着时间的推移逐渐蒸发。
蚂蚁根据信息素浓度和启发函数来选择下一个位置,启发函数一般根据问题的特性来设计。
最终,通过迭代更新信息素浓度和蒸发,蚂蚁群体会逐渐收敛到最优解。
蚁狮算法(Ant Lion Optimizer)是一种基于蚁狮捕食行为的启发式优化算法。
蚁狮是一种昆虫,它会在沙地上挖掘坑穴,然后隐藏在坑穴中等待猎物。
当猎物掉进坑穴时,蚁狮会迅速捕捉并吃掉它。
蚁狮算法模拟了蚁狮捕食行为,通过追踪猎物的行为来寻找最优解。
蚁狮算法的基本思想是:在解空间中随机生成一群蚂蚁,每只蚂蚁根据当前位置和信息素浓度选择下一个移动位置。
与蚁群算法不同的是,蚁狮算法引入了一个蚁狮,它代表了当前最优解,蚂蚁会追踪蚁狮的位置。
当蚂蚁接近蚁狮时,它会增加信息素浓度,从而吸引其他蚂蚁朝着蚁狮方向移动。
蚁狮会不断更新自身位置,以寻找
更优解。
最终,通过迭代更新信息素浓度和蚁狮位置,蚂蚁群体会逐渐收敛到最优解。
蚁群算法详细讲解蚁群算法(Ant Colony Optimization, ACO)是一种受到蚂蚁觅食行为启发的启发式优化算法。
它通过模拟蚂蚁在寻找食物过程中遗留下的信息以及相互之间的交流行为,来解决优化问题。
蚁群算法在组合优化问题中特别有效,如旅行商问题、车辆路径问题等。
蚂蚁在寻找食物的过程中会释放一种称为信息素的化学物质,并在路径上留下信息素的痕迹。
蚁群算法的核心思想就是利用信息素来引导蚂蚁的行动。
当蚂蚁找到食物后,会返回巢穴,并留下一条含有更多信息素的路径。
其他蚂蚁在寻找食物时,会更倾向于选择留有更多信息素的路径,从而使得这条路径的信息素浓度进一步增加。
随着时间的推移,信息素会在路径上逐渐积累,形成一条较优的路径。
蚁群算法的步骤如下:1.初始化信息素:根据问题设置信息素初始浓度,并随机分布在各个路径上。
2.蚂蚁移动:每只蚂蚁在一个时刻从起点出发,根据一定策略选择路径。
通常,蚂蚁选择路径的策略是基于信息素和启发式信息(如距离、路径通畅程度等)。
蚂蚁在移动过程中,会增加或减少路径上的信息素浓度。
3.更新信息素:当所有蚂蚁完成移动后,根据算法的更新规则,增加或减少路径上的信息素。
通常,路径上的信息素浓度会蒸发或衰减,并且蚂蚁留下的信息素会增加。
更新信息素时,通常会考虑到蚂蚁的路径质量,使得较好的路径上留下更多信息素。
4.终止条件判断:根据预设条件(如迭代次数、找到最优解等)判断是否达到算法的终止条件。
如果未达到终止条件,则返回到步骤2;否则,输出最优路径或最优解。
蚁群算法的优点包括:1.分布式计算:蚁群算法采用分布式计算方式,各个蚂蚁独立进行,在处理大规模问题时具有优势。
2.适应性:蚁群算法具有自适应性,能够根据问题的特性调整参数以及策略。
3.全局能力:蚁群算法能够在问题空间中全面,不容易陷入局部最优解。
蚁群算法的应用领域广泛,如路由优化、智能调度、图像处理等。
它在旅行商问题中经常被使用,能够找到较优的旅行路径。
蚁群算法浅析学习了一个学期的进化计算(又名智能进化),学到了很多的东西。
知道了什么叫遗传算法,什么叫退火算法,什么叫蚁群算法·····其中给我印象最深的就是蚁群算法,下面我就来介绍一下一群算法。
蚁群算法又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型算法。
它由Marco Dorigo于1992年在他的博士论文中提出,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。
蚁群算法是一种模拟进化算法,初步的研究表明该算法具有许多优良的性质.针对PID控制器参数优化设计问题,将蚁群算法设计的结果与遗传算法设计的结果进行了比较,数值仿真结果表明,蚁群算法具有一种新的模拟进化优化方法的有效性和应用价值。
下面来分析一下蚁群算法。
经过观察,科学家发现:各个蚂蚁在没有事先告诉他们食物在什么地方的前提下开始寻找食物。
当一只找到食物以后,它会向环境释放一种信息素,吸引其他的蚂蚁过来,这样越来越多的蚂蚁会找到食物!有些蚂蚁并没有象其它蚂蚁一样总重复同样的路,他们会另辟蹊径,如果令开辟的道路比原来的其他道路更短,那么,渐渐,更多的蚂蚁被吸引到这条较短的路上来。
最后,经过一段时间运行,可能会出现一条最短的路径被大多数蚂蚁重复着。
为什么小小的蚂蚁能够找到食物?他们具有智能么?设想,如果我们要为蚂蚁设计一个人工智能的程序,那么这个程序要多么复杂呢?首先,你要让蚂蚁能够避开障碍物,就必须根据适当的地形给它编进指令让他们能够巧妙的避开障碍物,其次,要让蚂蚁找到食物,就需要让他们遍历空间上的所有点;再次,如果要让蚂蚁找到最短的路径,那么需要计算所有可能的路径并且比较它们的大小,而且更重要的是,你要小心翼翼的编程,因为程序的错误也许会让你前功尽弃。
这是多么不可思议的程序!太复杂了,恐怕没人能够完成这样繁琐冗余的程序。
然而,事实并没有你想得那么复杂,上面这个程序每个蚂蚁的核心程序编码不过100多行!为什么这么简单的程序会让蚂蚁干这样复杂的事情?答案是:简单规则的涌现。
事实上,每只蚂蚁并不是像我们想象的需要知道整个世界的信息,他们其实只关心很小范围内的眼前信息,而且根据这些局部信息利用几条简单的规则进行决策,这样,在蚁群这个集体里,复杂性的行为就会凸现出来。
这就是人工生命、复杂性科学解释的规律!那么,这些简单规则是什么呢?下面详细说明:1、范围:蚂蚁观察到的范围是一个方格世界,蚂蚁有一个参数为速度半径(一般是3),那么它能观察到的范围就是3*3个方格世界,并且能移动的距离也在这个范围之内。
2、环境:蚂蚁所在的环境是一个虚拟的世界,其中有障碍物,有别的蚂蚁,还有信息素,信息素有两种,一种是找到食物的蚂蚁洒下的食物信息素,一种是找到窝的蚂蚁洒下的窝的信息素。
每个蚂蚁都仅仅能感知它范围内的环境信息。
环境以一定的速率让信息素消失。
3、觅食规则:在每只蚂蚁能感知的范围内寻找是否有食物,如果有就直接过去。
否则看是否有信息素,并且比较在能感知的范围内哪一点的信息素最多,这样,它就朝信息素多的地方走,并且每只蚂蚁都会以小概率犯错误,从而并不是往信息素最多的点移动。
蚂蚁找窝的规则和上面一样,只不过它对窝的信息素做出反应,而对食物信息素没反应。
4、移动规则:每只蚂蚁都朝向信息素最多的方向移,并且,当周围没有信息素指引的时候,蚂蚁会按照自己原来运动的方向惯性的运动下去,并且,在运动的方向有一个随机的小的扰动。
为了防止蚂蚁原地转圈,它会记住最近刚走过了哪些点,如果发现要走的下一点已经在最近走过了,它就会尽量避开。
5、避障规则:如果蚂蚁要移动的方向有障碍物挡住,它会随机的选择另一个方向,并且有信息素指引的话,它会按照觅食的规则行为。
6、播撒信息素规则:每只蚂蚁在刚找到食物或者窝的时候撒发的信息素最多,并随着它走远的距离,播撒的信息素越来越少。
根据这几条规则,蚂蚁之间并没有直接的关系,但是每只蚂蚁都和环境发生交互,而通过信息素这个纽带,实际上把各个蚂蚁之间关联起来了。
比如,当一只蚂蚁找到了食物,它并没有直接告诉其它蚂蚁这儿有食物,而是向环境播撒信息素,当其它的蚂蚁经过它附近的时候,就会感觉到信息素的存在,进而根据信息素的指引找到了食物。
说了这么多,蚂蚁究竟是怎么找到食物的呢?? 在没有蚂蚁找到食物的时候,环境没有有用的信息素,那么蚂蚁为什么会相对有效的找到食物呢?这要归功于蚂蚁的移动规则,尤其是在没有信息素时候的移动规则。
首先,它要能尽量保持某种惯性,这样使得蚂蚁尽量向前方移动(开始,这个前方是随机固定的一个方向),而不是原地无谓的打转或者震动;其次,蚂蚁要有一定的随机性,虽然有了固定的方向,但它也不能像粒子一样直线运动下去,而是有一个随机的干扰。
这样就使得蚂蚁运动起来具有了一定的目的性,尽量保持原来的方向,但又有新的试探,尤其当碰到障碍物的时候它会立即改变方向,这可以看成一种选择的过程,也就是环境的障碍物让蚂蚁的某个方向正确,而其他方向则不对。
这就解释了为什么单个蚂蚁在复杂的诸如迷宫的地图中仍然能找到隐蔽得很好的食物。
当然,在有一只蚂蚁找到了食物的时候,其他蚂蚁会沿着信息素很快找到食物的。
蚂蚁如何找到最短路径的?这一是要归功于信息素,另外要归功于环境,具体说是计算机时钟。
信息素多的地方显然经过这里的蚂蚁会多,因而会有更多的蚂蚁聚集过来。
假设有两条路从窝通向食物,开始的时候,走这两条路的蚂蚁数量同样多(或者较长的路上蚂蚁多,这也无关紧要)。
当蚂蚁沿着一条路到达终点以后会马上返回来,这样,短的路蚂蚁来回一次的时间就短,这也意味着重复的频率就快,因而在单位时间里走过的蚂蚁数目就多,洒下的信息素自然也会多,自然会有更多的蚂蚁被吸引过来,从而洒下更多的信息素……;而长的路正相反,因此,越来越多地蚂蚁聚集到较短的路径上来,最短的路径就近似找到了。
也许有人会问局部最短路径和全局最短路的问题,实际上蚂蚁逐渐接近全局最短路的,为什么呢?这源于蚂蚁会犯错误,也就是它会按照一定的概率不往信息素高的地方走而另辟蹊径,这可以理解为一种创新,这种创新如果能缩短路途,那么根据刚才叙述的原理,更多的蚂蚁会被吸引过来。
也就是系统过于活跃,这相当于蚂蚁会过多的随机运动,它就会陷入混沌状态;而相反,多样性不够,正反馈机制过强,那么系统就好比一潭死水。
这在蚁群中来讲就表现为,蚂蚁的行为过于僵硬,当环境变化了,蚂蚁群仍然不能适当的调整。
既然复杂性、智能行为是根据底层规则涌现的,既然底层规则具有多样性和正反馈特点,那么也许你会问这些规则是哪里来的?多样性和正反馈又是哪里来的?我本人的意见:规则来源于大自然的进化。
而大自然的进化根据刚才讲的也体现为多样性和正反馈的巧妙结合。
而这样的巧妙结合又是为什么呢?为什么在你眼前呈现的世界是如此栩栩如生呢?答案在于环境造就了这一切,之所以你看到栩栩如生的世界,是因为那些不能够适应环境的多样性与正反馈的结合都已经死掉了,被环境淘汰了!蚁群算法的实现参数说明:最大信息素:蚂蚁在一开始拥有的信息素总量,越大表示程序在较长一段时间能够存在信息素。
信息素消减的速度:随着时间的流逝,已经存在于世界上的信息素会消减,这个数值越大,那么消减的越快。
错误概率表示这个蚂蚁不往信息素最大的区域走的概率,越大则表示这个蚂蚁越有创新性。
速度半径表示蚂蚁一次能走的最大长度,也表示这个蚂蚁的感知范围。
记忆能力表示蚂蚁能记住多少个刚刚走过点的坐标,这个值避免了蚂蚁在本地打转,停滞不前。
而这个值越大那么整个系统运行速度就慢,越小则蚂蚁越容易原地转圈。
解读搜索引擎算法“蚁群算法”蚁群算法的由来:蚂蚁是地球上最常见、数量最多的昆虫种类之一,常常成群结队地出现在人类的日常生活环境中。
这些昆虫的群体生物智能特征,引起了一些学者的注意。
意大利学者M.Dorigo,V.Maniezzo等人在观察蚂蚁的觅食习性时发现,蚂蚁总能找到巢穴与食物源之间的最短路径。
经研究发现,蚂蚁的这种群体协作功能是通过一种遗留在其来往路径上的叫做信息素(Pheromone)的挥发性化学物质来进行通信和协调的。
化学通信是蚂蚁采取的基本信息交流方式之一,在蚂蚁的生活习性中起着重要的作用。
通过对蚂蚁觅食行为的研究,他们发现,整个蚁群就是通过这种信息素进行相互协作,形成正反馈,从而使多个路径上的蚂蚁都逐渐聚集到最短的那条路径上。
这样,M.Dorigo等人于1991年首先提出了蚁群算法。
其主要特点就是:通过正反馈、分布式协作来寻找最优路径。
这是一种基于种群寻优的启发式搜索算法。
它充分利用了生物蚁群能通过个体间简单的信息传递,搜索从蚁巢至食物间最短路径的集体寻优特征,以及该过程与旅行商问题求解之间的相似性。
得到了具有NP难度的旅行商问题的最优解答。
同时,该算法还被用于求解Job-Shop调度问题、二次指派问题以及多维背包问题等,显示了其适用于组合优化类问题求解的优越特征。
多年来世界各地研究工作者对蚁群算法进行了精心研究和应用开发,该算法现己被大量应用于数据分析、机器人协作问题求解、电力、通信、水利、采矿、化工、建筑、交通等领域。
蚁群算法之所以能引起相关领域研究者的注意,是因为这种求解模式能将问题求解的快速性、全局优化特征以及有限时间内答案的合理性结合起来。
其中,寻优的快速性是通过正反馈式的信息传递和积累来保证的。
而算法的早熟性收敛又可以通过其分布式计算特征加以避免,同时,具有贪婪启发图3蚁群在障碍物前经过一段时间后的情形式搜索特征的蚁群系统又能在搜索过程的早期找到可以接受的问题解答。
这种优越的问题分布式求解模式经过相关领域研究者的关注和努力,已经在最初的算法模型基础上得到了很大的改进和拓展。
经过一定时间,从食物源返回的蚂蚁到达D点同样也碰到障碍物,也需要进行选择。
此时A, B两侧的信息素浓度相同,它们仍然一半向左,一半向右。
但是当A侧的蚂蚁已经完全绕过障碍物到达C点时,B侧的蚂蚁由于需走的路径更长,还不能到达C点。
如图3所示。
图3蚁群在障碍物前经过一段时间后的情形此时对于从蚁巢出发来到C点的蚂蚁来说,由于A侧的信息素浓度高,B侧的信息素较低,就倾向于选择A侧的路径。
这图4 蚁群最终选择的路径样的结果是A侧的蚂蚁越来越多,最终所有蚂蚁都选择这条较短的路径。
如图4所示。
图4 蚁群最终选择的路径永和九年,岁在癸丑,暮春之初,会于会稽山阴之兰亭,修禊事也。
群贤毕至,少长咸集。
此地有崇山峻岭,茂林修竹;又有清流激湍,映带左右,引以为流觞曲水,列坐其次。
虽无丝竹管弦之盛,一觞一咏,亦足以畅叙幽情。
是日也,天朗气清,惠风和畅,仰观宇宙之大,俯察品类之盛,所以游目骋怀,足以极视听之娱,信可乐也。
夫人之相与,俯仰一世,或取诸怀抱,晤言一室之内;或因寄所托,放浪形骸之外。