蚁群算法及应用研究

2018年11月18日 17:31来源于:科技创新导报

李树嵩

摘 要:该文就蚁群算法的起源进行了研究,介绍了蚁群算法的原理和作用。同时介绍了蚁群算法的应用领域并以举例的方式具体介绍了如何让蚁群算法在软件系统中发挥作用。

关键词:遗传算法 商旅问题 考试系统 算法实现 软件编程

中图分类号:TP18 文献标识码:A 文章编号:1674-098X(2017)02(c)-0138-02

1 蚁群算法的简介

蚁群算法的思想最早来源于生物群体,人们通过观察发现,一些生物群体例如蚂蚁群体、蜜蜂群体等,它们的智商虽然很低,但是这些群体在觅食、寻找路径或者群体工作时却能体现出超高的能力。人们进而展开分析,通过借鉴它们的行为,转换为具体思想,用以解决具体的数学问题,同时通过编程将算法实现,解决实际生活与工作的问题。

蚁群算法基本思想:蚁群能够在初次到达的地点,迅速地找到最短、最优的路径。那么它們是如何实现的呢。它们可以通过分泌一种化学物质,在路径中留下气味。其他蚂蚁可以根据这种气味,发现其他蚂蚁所走的路径,继续前行,同时自身释放出气味(这种能释放出气味的化学物质我们称之为信息素)这种信息素还拥有另一个特性,就是随着时间而挥发。因此走得多的路径,会因为信息素的不断累积而气味浓重,走得少的路径信息素会不断挥发而消散。因此,蚁群会找到最多蚂蚁走的路径,同时越短的路径挥发得越少,所以大量蚁群有机会走到最短路径当中。从某种意义上来说,蚁群算法也是遗传算法的一种,利于寻找最短或者最优路径,具备算法的并行机制,能够解决生活中许多的实际问题,下文会有所介绍。

2 蚁群相关算法介绍

2.1 相关算法类型

首先,ACO算法,以个体为研究点,每个蚂蚁释放自己的信息素,其余蚂蚁发现信息素并通过路径的浓度来进行路径选择。通过挥发特色,让该段路径实现浓度的最大化,从而寻找到最优解。其次,还有AS算法,最大最小、最优最差的算法设计。再次,微粒群算法,也是最优算法的一种,借鉴于飞鸟的生活习性,利用迭代的数学方法,进行最优判断,常用于神经网络的建立。最后,机器人群体算法,既然生物可以,那人们大胆假设,利用人工智能做出的机器人也可以通过特性,实现复杂的、更高程度的自动化工作。所以以协调配合为目的,促进任务完成,这些都是以最优选择或者协调通信为目的的算法,具有相通性。

2.2 蚁群算法特性

在蚁群算法中,为了实现对真实蚂蚁觅食群体行为的研究,将真实蚂蚁抽象为人工蚂蚁,具有如下特点。

首先,能够像真实蚂蚁一样在经过的路径上留下信息素,而且使信息素随着时间挥发,在选择路径时不会被前面人工蚂蚁留存的信息所局限。其次,人工蚂蚁并不能处在连续的空间,而是离散的空间,所以它们的运动也是从一个点到另一个点的转换。人工蚂蚁具有一定的智能,可以从问题的特征中得到启发,依据规律而不是完全的根据可能概率来实现。

3 蚁群算法应用实例

蚁群算法已经广泛应用于多个领域,由于它适合解决商旅、背包、着色、车辆调度等问题。所以在工业生产、数据通信、军事运输等方面都发挥了出色的作用。该文就商旅问题和测评系统开发方面的应用实例进行如下说明。

3.1 商旅问题蚁群算法实例

商旅问题是一个经典的数学问题,某人要去不同的地点,从起点出发,每个节点遍历一遍并且只走一次,有哪些走法,哪一种走法是最优选择成为这个问题研究的关键。其实这个问题入关地点数目不多,就并不复杂。但是它如同汉诺塔一样,是伴随着地点数目增多,路径数量呈爆炸性增长。所以要引进蚁群算法进行路径选择。蚁群算法实现商旅问题的关键是要符合只走一次的特性,所以在所走路径中要不断进行路线记录,同时设置违例行为,一旦路线重复,设置为不可走,不可选择项目。而且蚂蚁的下一次路径选择要根据概率算法进行计算获得并不断积累前面蚂蚁的路径特性。

3.2 蚁群算法在网络测评系统中的应用

蚁群算法在网络测评系统中,主要是应用在试卷的生成模块当中。在试卷生成模块当中主要发挥了两个方面的作用。第一个方面是实现试卷的难度数值控制;第二个方面是实现试卷的有效性。两者不能简单从字面看出具体含义,具体说明如下。

试卷难度控制作用说明:在线测评系统试卷采用具体算法,从题库当中生成出来。为了防止作弊行为的发生,每套试卷的题目是不同的,但要保证试题的类型和数量是相同的,从而体现一定的公平性。但是这样的算法存在缺陷,只是简单的随机算法,要保证试卷的高质量,应该对每张试卷的难度有所控制,让整张试卷的难度数值居中,避免题目过难或者过于简单。过难或者过于简单的试卷是不利于考察考试者的真实水平的,也只有难度水平居中才能够进一步保证考试的公平性。可想而知,如果只是题目数量相同,试题不同,但试题难度相差很大,这明显是不公平的,也无法体现考核意义。使用蚁群算法实现试卷难度系数控制,要设置难度算子,对每道题目,通过测试与实验建立难度数值,存储难度算子表。不妨让难度系数在0与1之间,那么0.5当然是居中的数值。但是这种理想的目标是难以达成的,通过算法计算,难度系数达到0.5左右一定范围空间,就实现了试题难度的控制。在实现的时候不妨把行程符合难度空间的选择方式作为最优路径的寻找来理解。

蚁群算法试卷有效性应用说明:一般来说,试卷的有效性,是在保证难度控制的基础上进行的。当采用蚁群算法进行了难度控制,让每张试卷处于居中区域的时候,容易出现一个问题,就是采用的试题难度数值接近,所以在抽取试题的时候,行程的有效组合不够。用深入浅出的方式说,就是行程的符合难度范围的组合就只有几种,那么形成的试卷也就是这几种组合的重复,这就与每套试卷尽量不同、防止作弊的初衷相违背。解决方法可以是扩大题库范围,避免题目单一。第二种就是通过算法实现不同的组合方式,只要在符合难度范围的区间内就可以。举例说明不是要每套试卷都达到0.5难度算子数值。例如0.57,0.43都可以接受,只要符合预先设立的难度算子范围值域就可以。可能会有人提出疑问,蚁群算法不是要寻找最优路径吗?那0.5为最优,故意拓展的范围与算法有些违背如何实现?其实这也是蚁群算法可以解决的问题。蚁群算法可以解决最大与最小,最优与最短等问题。反向思维,可以解决最拥堵问题。如果都走0.5难度系数路径,那么形成拥堵,这与采用算法解决拥堵是一样的。综上所述,试卷的有效性要在难度控制的前提下完成,对蚁群算法实现提出了更高的要求。

4 结语

蚁群算法来源于生物群体,与遗传算法、群体算法有着相通之处,便于解决最优最短路径求解问题。在不断发展中,算法也不断的进行拓展,应用的领域也越来越多,是值得研究、有实际应用意义、存在拓展空间的算法。

参考文献

[1] 周建新,杨卫东,李擎.求解连续函数优化问题的改进蚁群算法及仿真[J].系统仿真学报,2009(6):1685-1688.

[2] 李克东,刘国栋,任华.基于蚁群算法的机器人路径规划[J].微计算机信息,2009(5):215-217.

[3] 裴振奎,李华,宋建伟,等.蚁群聚类算法研究及应用[J].计算机工程与设计,2008(19):5009-5013.

[4] 张亚鸣,雷小宇,杨胜跃,等.多机器人路径规划研究方法[J].计算机应用研究,2008(9):2566-2569.

[5] 杨志晓,郭胜国.基于改进蚁群算法的机器人路径规划算法[J].微计算机信息,2008(20):252-253.

[6] 刘利强,戴运桃,王丽华.蚁群算法参数优化[J].计算机工程.2008(11):208-210.

[7] 梁亮,郭波.基于混合蚁群算法的产品开发过程优化方法[J].系统工程理论与实践.2009(10):118-128.

 
免责声明:

     本文仅代表作者/企业观点,与【名品家电网】无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,仅供读者参考,并自行核实相关内容。

     【名品家电网】刊载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

      如因作品内容、版权和其它问题需要同本网联系的,请在30日内进行;新闻纠错: lwl#youngchina.cn

关键词: 算法 文章 路径