我爱学习网 52xx.cn我爱学习网菜单按钮
  • 搜索

蚂蚁能够教计算机求解问题吗?

自然一直是人类创造力的丰富源泉,人类认识事物的能力来源于与自然界的互动自然界中的蚂蚁,就曾经为人们解决著名的旅行商问题,给出了重要启示。

旅行商问题又被称为旅行推销员问题或货郎担问题,是一个非常著名的组合优化问题。该问题描述的是如果一个旅行商人想访问多个城市,他从其中一个城市出发,每个城市都要经过,并且只能去一次,然后回到出发城市,那么他应该如何确定经过城市的顺序(封闭路径)使得他的花费最少?这个问题用枚举法可找到最短路径,也就是将全部城市所有可能的排列顺序全部列出进行对比,从而找出最佳方案。但是当城市数目很多时,进行穷举是不切实际的,所需要的计算时间和存储空间是难以承受的,所以理论上可解的问题在实践中并不一定可解。

这样一个问题,蚂蚁是如何帮助计算机解决的呢?自然界中,蚂蚁的食物源总是随机散布于蚁巢周围。蚂蚁在觅食时总能找到一条从蚁巢到食物源的最短路径,使得巢穴与食物源之间近乎形成一条直线,而不是曲线或者其他形状。单只蚂蚁的能力和智力非常有限,但是,蚂蚁群体不仅能完成复杂的任务,而且还能适应环境的变化。如在蚁群运动路线上突然出现障碍物时,一开始各只蚂蚁分布是均匀的,不管路径长短,蚂蚁总是先按同等概率选择各条路。蚂蚁在运动过程中,能够在其经过的路径上留下分泌出的化学刺激物——信息素,而其他的蚂蚁能感知这种物质的存在及其强度,并以此指导自己行进的方向,蚂蚁倾向于往信息素浓度高的方向移动。相等时间内较短路径上的信息素就遗留得比较多,则选择较短路径的蚂蚁也随之增多。大量蚂蚁组成的蚁群集体行为表现出了一种信息正反馈现象,即某一路径上走过的蚂蚁越多,则后来者选择该路径的概率就越大。蚂蚁个体之间就是通过这种信息交流机制来完成合作,不断调整自己的觅食路线,最终所有蚂蚁都沿着最短路径行进。

这种合作的自适应现象给出了一个启示:蚂蚁群体可通过自身的合作与演化最终找到最短路径,这正与旅行商问题的求解目标吻合。根据这个启发,意大利学者马可·多里戈(现比利时法语布鲁塞尔自由大学人工智能实验室教授)1991年通过模拟自然界中蚂蚁群体的合作觅食行为,提出了蚁群算法,该算法是结合旅行商问题而提出的,是一种基于种群的启发式仿生进化方法。2000年,马可·多里戈在《自然》杂志上发表了关于蚁群算法的学术论文,从而把这一领域的研究推向了国际学术的最前沿。他还创办了一个关于蚁群算法的国际学术期刊,从而把这种算法从意大利的一个实验室传播到了世界各地的实验室中。

蚁群算法正是模仿了蚂蚁这种利用信息素选择后续行为,并通过多只蚂蚁的合作来完成寻优过程的一种算法。该算法采用了分布式并行计算机制,易于与其他方法结合,而且具有较强的适应能力。蚁群算法的寻优机制包含两个基本阶段:适应阶段和协作阶段。在适应阶段,各候选路径根据积累的信息素浓度不断调整自身结构,路径上经过的蚂蚁越多,信息素越多,则该路径越容易被选择;在协作阶段,候选解之间通过信息交流,以期望产生性能更好的解。在用计算机为旅行商制订旅行线路时,可以首先利用蚁群广泛探索并留下相应的信息素,而之后出发的蚂蚁在每个分岔路时根据信息素多寡做邻近线路的选择方式。选择时利用了“探索”和“开发”这一机制。在这个过程中,按照相应的信息素更新规则对每只蚂蚁经过路径上的信息素进行相应更新,从整体角度规划出蚂蚁群体活动的行为方向,周而复始,蚁群算法最终可求出旅行商问题的最优解。

蚂蚁就是这样帮助我们解决了旅行商问题,是不是很神奇