收藏 分享(赏)

蚁群算法.doc

上传人:weiwoduzun 文档编号:3105541 上传时间:2018-10-03 格式:DOC 页数:15 大小:1.25MB
下载 相关 举报
蚁群算法.doc_第1页
第1页 / 共15页
蚁群算法.doc_第2页
第2页 / 共15页
蚁群算法.doc_第3页
第3页 / 共15页
蚁群算法.doc_第4页
第4页 / 共15页
蚁群算法.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、蚁群算法的改进与应用摘要:蚁群算法是一种仿生优化算法,其本质是一个复杂的智能系统,它具有较强的鲁棒性、优良的分布式计算机制和易于与其他方法结合等优点。但是现在蚁群算法还是存在着缺点和不足,需要我们进一歩改进,如:搜索时间长、容易出现搜索停滞现象、数学基础还不完整。本文首先说明蚁群算法的基本思想,阐述了蚁群算法的原始模型及其特点,其次讨论如何利用遗传算法选取蚁群算法的参数,然后结合对边缘检测的蚁群算法具体实现过程进行研究分析,最后对本论文所做的工作进行全面总结,提出不足之处,并展望了今后要继续研究学习的工作内容。关键词:蚁群算法;边缘检测;阈值;信息素;遗传算法;1 前言蚁群算法是近年来提出的一

2、种群体智能仿生优化算法,是受到自然界中真实的蚂蚁群寻觅食物过程的启发而发现的。蚂蚁之所以能够找到蚁穴到食物之间的最短路径是因为它们的个体之间通过一种化学物质来传递信息,蚁群算法正是利用了真实蚁群的这种行为特征,解决了在离散系统中存在的一些寻优问题。该算法起源于意大利学者 Dorigo M 等人于 1991 年首先提出的一种基于种群寻优的启发式搜索算法,经观察发现,蚂蚁在寻找食物的过程中其自身能够将一种化学物质遗留在它们所经过的路径上,这种化学物质被学者们称为信息素。这种信息素能够沉积在路径表面,并且可以随着时间慢慢的挥发。在蚂蚁寻觅食物的过程中,蚂蚁会向着积累信息素多的方向移动,这样下去最终所

3、有蚂蚁都会选择最短路径。该算法首先用于求解著名的旅行商问题(Traveling Salesman Problem,简称 TSP)并获得了较好的效果,随后该算法被用于求解组合优化、函数优化、系统辨识、机器人路径规划、数据挖掘、网络路由等问题。尽管目前对 ACO 的研究刚刚起步,一些思想尚处于萌芽时期,但人们已隐隐约约认识到,人类诞生于大自然,解决问题的灵感似乎也应该来自大自然,因此越来越多人开始关注和研究 ACO,初步的研究结果已显示出该算法在求解复杂优化问题(特别是离散优化问题)方面的优越性。虽然 ACO 的严格理论基础尚未奠定,国内外的有关研究仍停留在实验探索阶段,但从当前的应用效果来看,这

4、种自然生物的新型系统寻优思想无疑具有十分光明的前景。但该算法存在收敛速度慢且容易出现停滞现象的缺点,这是因为并不是所有的候选解都是最优解,而候选解却影响了蚂蚁的判断以及在蚂蚁群体中,单个蚂蚁的运动没有固定的规则,是随机的,蚂蚁与蚂蚁之间通过信息素来交换信息,但是对于较大规模的优化问题,这个信息传递和搜索过程比较繁琐,难以在较短的时间内找到一个最优的解。由于依靠经验来选择蚁群参数存在复杂性和随机性,因此本文最后讨论如何利用遗传算法选取蚁群算法的参数。遗传算法得到的蚁群参数减少了人工选参的不确定性以及盲目性。2 基本蚁群算法2.1 蚁群算法基本原理根据仿生学家的研究结果表明,单只蚂蚁不能找到从巢穴

5、到食物源的最短路径,而大量蚂蚁之间通过相互适应与协作组成的群体则可以,蚂蚁是没有视觉的,但是是通过蚂蚁在它经过的路径上留下一种彼此可以识别的物质,叫信息素,来相互传递信息,达到协作的。蚂蚁在搜索食物源的过程中,在所经过的路径上留下信息素,同时又可以感知并根据信息素的浓度来选择下一条路径,一条路径上的浓度越浓,蚂蚁选择该条路径的概率越大,并留下信息素使这条路径上的浓度加强,这样会有更多的蚂蚁选择次路径。相反,信息素浓度少的路径,蚂蚁选择的概率小,该路径随着时间的推移信息素逐渐挥发,而导致以后蚂蚁选择的可能性更小。最终蚂蚁找出了最优路径同时当运动的路径出现障碍物时,蚂蚁可以很快的适应环境的变化,绕

6、过障碍物重新找到最优路径。蚂蚁就是通过群体间相互交换信息,自催化行为来实现正反馈过程找到当前最短路径的。自然界的觅食行为可以通过下图来模拟,并且说明了蚁群群体的搜索原理。图 2.1 蚂蚁从巢穴到食物源的搜索过程如图 1,A 是食物源,F 是巢穴,AB、BD、DE、EF 长度都为 1,BC、CE 长度为 2,假设蚂蚁爬行速度为 1,一个时间单位蚂蚁在经过的路径上残留信息素为 1,所有的路径上的信息素浓度一开始都初始化为 0。当 t=0 时,在巢穴 F 处放置 40 只蚂蚁,它们开始寻找食物源 A,当时,它们都到达 E 处,有两侧道路可以选择,因为 CE 和 DE 上没有信息素,所以它们选择左侧道

7、路或右侧道路的概率是一样的,20 只蚂蚁走左侧,20 只走右侧。当 t=4 时,选择了 BDE 路径的蚂蚁到达食物源,并立即返回,而此时选择了 BCE 路径的蚂奴正在 BC 中点处。当 t=5 时,正在返回的蚂蚁和正赶往食物源的蚂蚁正好在 B 处相遇,此时 BC 和 BD 路径上的信息素浓度是一样的。所以返回的 20 只蚂蚁中,有 10 只将选择 BD,10 只选择路径BC。当 t=7 时,有 20 只蚂蚁在 B 处,因为 BC 和 BD 路径上的信息素一样,所以将有 10 只选择BC,10 只选择 BD。另外此时有 10 只蚂奴在 C 处,10 蚂蚁在 E 处。当 t=8 时,在巢穴上的有

8、10 只妈蚁,同时 CE 的中点处、BC 的中点处和 D 点上也各有 10只蚂蚁。当 t=9 时,已返回巢穴的 10 只蚂蚁到达 E 处,此时,CE 上的信息素浓度是 30,而 DE 上是 40,因此将有较多的蚂蚁选择右侧道路 DE,从而增强了该路径上的信息素,使得 DE 上的信息素浓度比 CE 的差值变大,直接导致后来的蚂奴选择 DE 的概率更大,进而又促进它们的信息素浓度差异越来越大,越来越多的蚂蚁选择路径 DE,从而最终的结果是所有蚂蚁选择了路径 DE,找到了最短路径 ABDEF。蚂蚁通过群体间的协作来寻找食物源的行为过程表现出正反馈现象:一条路径上蚂蚁经过的越多,留下的信息素也就越多,

9、后来的蚂蚁选择该条路径的概率也就越大,从而又促进了该条路径的信息素浓度,最终蚂蚁找到了最短的路径。2.2蚁群算法数学模型旅行商问题(traveling salesman problem, TSP)是经典的组合优化问题,也是蚁群优化算法最早应用和最为成功的一个例子,并且最初该算法的提出也是在 TSP 问题上进行了描述。所以我们这里也以 TSP 问题为应用背景进行描述。所谓旅行商问题是指单个旅行商由起点出发,经过连通图中的所有节点并回到出发点所用的最小路径代价。Dantzig 等人于 1959 年最早提出了旅行社问题的数学模型。AS (Ant System)是 Dorigo 等人提出的最早的也是最

10、基础的蚁群算法模型,该算法在TSP 问题的描述如下:设有 m 只蚂蚊并将它们放在具有 n 个节点的连通图上, 表示 t时刻在 i,j 连线上的信息素, 是与问题相关的启发式信息,一般情况下 。初始时刻,各个连通图的边信息素相同,即 (C 为常数)。 表示第 k 只蚂蚁目前的路径选择集合。t 时刻蚂蚁 k 在位置 i 转移到 j 的概率表示为:(1)其中 ,表示第 k 只蚂蚁当前还能选择的路径总和; 和 分别表示信息素 和启发式信息 的相对重要程度。当经过 n 个时刻后,蚂蚁将完成一次节点的遍历,为了防止信息过多的堆积而造成对蚂蚁选择的影响,这时应该对各个路径上的信息素进行调整,如下:(2)(3

11、)其中 表示信息素的保留率, 表示信息素的挥发率,一般设置 在 0 到 1 之间,够-1防止信息的无限积累; 表示蚂蚁 k 在一次循环中在路径 i, j 留下的信息素浓度; 表示本次循环中路径 i, j 上信息素的总增量,它包含所有蚂蚁在当前循环下在该路径上留下的信息素。根据信息素更新策略的不同,又可将基本蚁群优化算法分为三类:(1) ant-cycle 模型:(4)(2) ant-density 模型:(5)(3) ant-quantity 模型:(6)其中 Q 为一个和蚂蚁留在路径上的路径总量相关的一个常数, 表示第 k 只蚂蚁在当kL前循环中的遍历路径总和。2.3 蚁群算法步骤具体步骤为

12、:步骤 1:参数初始化,设置 NC 为迭代次数,令 t=0, NC=0;步骤 2:将 m 只蚂蚁随机放在 n 个节点,令 ,设置 NC+ ;0ij步骤 3:建立禁忌表,计算蚂蚁 k 的转移概率,选择并移动到下一节点 j,同时将 j 加入到 tabuk 中;步骤 4:tabuk 是否满足条件。若为否,回到步骤 3,否则,继续步骤 5;步骤 5:依据信息素更新公式进行信息素的全局更新;步骤 6-保存最短路径,重复执行步骤 2 到步骤 5,直到执行次数 NC 达到指定的最大迭代次数或连续若干代内没有更好的解出现为止。图 2.2 蚁群算法基本流程3 利用遗传算法处理蚁群算法参数3.1遗传算法基本原理遗

13、传算法作为一种求解问题的随机高效全局搜索方法,对其搜索空间无需有先验知识。而是通过在搜索空间随机产生初始种群,然后在目标函数的作用下,经过个体之间信息的交换,一步步地逼近最优解。(1)算法设计编码 把需要解决的问题进行相应的编码,由于图像灰度值在 0-255 之间,故将各个染色体编码为 8 位二进制码。人口模型 若人口数过多,则每一代适应度值的计算量大,但如果人口数过少,又难以体现物种的多样性。因此人口数设置应该合理。对于蚁群参数设置人口数为 10,最大遗传代数为 100。解码 染色体解码为 2 个 0-255 之间的值。适应度函数 适应度函数是评价各个体的标准,一定要选择能体现进化的趋势。在

14、此,选择适应度函数作为蚁群参数选取的依据。选择遗传算法 选择那些适应度高的个体作为产生下一代种群的个体。交叉 交叉是产生新个体的主要方法。蚁群边缘检测参数分别在前 8 位和后 8 位进行单点交叉。在此设置交叉概率为 0.6。变异 变异决定了遗传操作的局部搜索能力。在此,设置变异概率为 0.5。终止准则 规定当算法执行到最大遗传代数时终止。图 3.1 遗传算法流程图(2)蚁群算法图像边缘检测方法基于蚁群算法的边缘检测方法进行图像边缘检测的基本思想:首先边缘检测问题可以转化成基本蚁群算法模型的改进,即将图像抽象为一幅由像素点组成的无向图,其次将设置的人工蚂蚁随机放置在此二维的无向图中,根据各个蚂蚁

15、在其 4 邻域或者 8 邻域内可行的像素点上的移动情况计算信息素矩阵,完成设置的迭代次数之后,利用选取的阈值判断边缘点。其中移动的转移概率根据可行像素点的信息素强度和信息素启发引导函数共同影响求得,蚂蚁的移动方向由其允许移动领域内的像素值的变化决定。蚁群算法的根本目的旨在通过指导性的探索迭代找到问题的最优解。基于蚁群算法的边缘检测的核心思想可描述如下:k 只蚂蚁被放置在由 个像素点组成的空间矩阵上。随机放置 k 只蚂蚁在初始信息素矩阵 上。初始化迭代步数 N。根据转移概率公式 计算出蚂蚁移动的下个像素点。根据信息素的更新规则更新像素点信息素 。根据最终信息素矩阵 选取阈值,确定图像边缘像素点。

16、具体过程如下所示:A.初始化:初始化设置在系统搜索的幵始。在这个步骤中,进行必要的初始过程。例如:设参数和分配初始信息的值。首先放置 k 个蚂蚁于图像 I 上(图像由 像素点构成),每个像素点被看成是蚂蚁将要爬行的一个无向图中的结点,开始时信息素矩阵被设为 。B.初步构建:从 k 个蚂蚁中随机选择一只,令其在图像矩阵(由 像素点组成的图像矩阵)上移动规定移动步数。计算从像素点(l,m)到像素点(i,j)的转移概率值 像素点(i,j)为相邻的允许范围内的像素点,搜索过程中的状态转移概率公式表示如下:(7)这里 表示第 n-1 次迭代结束后像素点(i,j)处的残留的信息素值,像素点(l,m)的容许

17、移动到的邻接像素点范围用 表示, 和 分别代表信息素影响因子和启发函数的影响因子。其中 由像素点(i,j)处的 8-邻域灰度梯度值来确定,表示像素点(l,m)到像素点(i,j)信息素启发引导函数(能见度函数),用公式 计算。定义为启发引导函数的归一化因子。示意图如图 3.2 所示。图 3.2 在像素点 处计算这里 表示图像矩阵中点 周围的 8-邻域像素灰度的梯度值。表达式如下所示:(8) 而函数 由式(9)、式(10)、式(11)、式(12)进行计算,其中 取 30:(9)(10) (11)(12)函数数坐标图分别由图 3.3 表示如下:图 3.3 取 =30 时四个函数 的坐标图蚂蚁移动的邻

18、域设为 4-邻域或 8-邻域。如图 3.4(a)所示像素点 的 4-邻域和图 3.4 (b)所示 8-邻域:图 3.4 像素点 的 4-邻域图和 8-邻域C.更新过程:两次更新。本论文中信息素矩阵需要进行局部和全局两次更新。第一次进行局部更新:移动 k( )只蚂蚁,完成一次构建迭代,若第 k 只蚂蚁在构m建过程中爬过像素点(i,j),则调整点(i.j)处的信息素值计算式(3)、式(14);否则点(i,j)处点的信息素不进行调整。其中 是第 n-1 次迭代时,像素点(i,j)上残留下的信息素值。式(14)中 是信息素的挥发系数, 取 0.08。而 1- 指未被挥发的信息素残留下的量。由启发引导函

19、数 决定。(13)(14)第二次进行全局更新:所有蚂蚁走完一趟构建过程,信息素矩阵根据式(15)进行更新。(15)其中 表示整个信息素矩阵衰退系数, 取 0.05。 是初始状态下预先给定的信息素矩阵,矩阵中所有像素点初值均为 0.0001。蚂蚁系统中信息素只更新一次,而蚁群系统中信息素更新两次,蚁群边缘检测采用蚁群系统的信息素更新方式,更新两次,由于奴群算法是一种概率型算法,所以蚂蚁能找出更多的创新解,避免蚁群边缘检测算法陷入局部最优解。当所有蚂蚁走完一趟时,进行全局更新,其中 是第 n-1 次迭代后的信息素矩阵。D.决策过程:对每个像素点是否是边缘点进行二元阈值判定。首先根据奴群完成所有迭代

20、次数之后得到的信息素矩阵 ,计算阈值。1.对最终信息素矩阵求其每个信息素的均值,得到初始的阈值如式(16)所示:(16)2.按照准则分析矩阵 中的每个信息素值,若小于 ,则记为 ;,若其值大于 ,则记为 ,对所有信息素 以及 的这两类信息素进行如式(17)和式(18)计算。3.计算小于 范围内的平均信息素值 和大于 范围内的平均信息素值 。(17)(18)其中当 时, )取 1, 取 x ;当 时, 取 1, 取 x。4.计算一个新阈值如式(19)。(19)5.按照以上计算阈值的规则,重复步骤 2 到步骤 4,直到 这里 =0.1,l 是计算阈值的迭代次数。迭代计算停止,否则继续比较本次阈值和

21、上次阈值,直到满足设定的值,停止迭代。最后依据求得的阈值 判断矩阵中像素点 是否是边缘点。若 ,则视为边缘点,进行提取。否则不是边缘点。本文蚁群边缘检测算法的具体流程如图 3.5 所示:图 3.5 图像边缘检测方法流程图(3)本文参数选取然而在实际运用中,针对不同的图像,本文需要选择采用不同的参数,从而得到较满意的分割效果。以往的做法需要对 4 个参数中的任何一个设定一个范围,然后按一定间距进行试验,4 个参数的话需要进行大量的实验,即需要极大的计算量才能得到。鉴于蚁群算法存在的参数选取困难的问题,我们提出采用遗传算法来搜索满足边缘提取效果的参数。实验证明,只要目标函数选取得当,由遗传算法得到

22、的参数对图像的边缘提取效果较好。3.2 利用遗传算法选取蚁群算法参数利用遗传算法来寻找蚁群边缘检测算法中实现图像边缘提取的满意参数,首先,由上文可知我们需要确定的参数包括,状态转移概率的信息素影响因子 ,启发引导函数的影响因子 ,启发引导函数的系数 ,迭代次数 N 共 4 个。(1)初始种群的构造因要寻优的参数有 4 个,我们对于每个参数采用 16 位二进制编码表示,而每个个体我们为一组参数(4 个),故对于初始种群中的每个个体我们都采用 64 位二进制来表示。其中,1-16 位表示状态转移概率的信息素影响因子 的值,17-32 位表示启发引导函数的影响因子的值,33-48 位表示启发引导函数

23、的系数 的值,49-64 位表示迭代次数 N。(2)目标函数的设计根据以上设定的初始种群,我们每个个体对应的将是一组包括状态转移概率的信息素影响因子 ,启发引导函数的影响因子 ,启发引导函数的系数 ,迭代次数 N 的一组参数。我们通过对遗传算法随机产生的初始种群(即每个个体)进行解码,然后依据每个个体对应的一组参数对边缘提取进行蚁群算法的演化,最后必将得到一个迭代的最终结果,即图像边缘检测结果。现在的问题是,我们如何对得到的结果进行评价?从而选出那些得到满意边缘提取结果的优秀个体来进行交叉、变异、遗传操作而产生下一代种群,一代代的向最优边缘结果逼近?上述问题(1) (2)正是目标函数设计要解决

24、的问题,用目标函数来评价每个个体产生的最终边缘提取图像的效果。当个体对应的一组参数用于蚁群算法进行边缘提取得到最终边缘图像时,如果迭代出的边缘图像与原图像差异较小,即两幅图像基本相同的情况下,证明已经找到了目标物体的边缘了。因此,我们引入两幅图像的相似度 std2 值进行评价。目标函数表示为:Objv=std2 (U),其中 U 表示为迭代出的边缘图像与原图像的能量差.即 。如图所示结合遗传算法的蚁群边缘检测系统流程图:图 3.结合遗传算法进行图像边缘检测流程如图所示蚁群边缘检测算法的运行界面:图 3.蚁群边缘算法运行界面4 实验仿真我们设置参数范围分别为: 为 1-5, 为 0-2, 为 1

25、-30,迭代次数 N 为 1-9,目标函数采用提取的边缘矩阵和原图矩阵之间的方差。设定的种群大小为 10,种群的遗传代数为100。该实验中随机产生的第一代种群的数据如表 4.1 所示,经过 100 代遗传后的详细数据如表 4.2 所示。表 4.1 随机产生第一代种群值及目标函数值表 4.2 遗传至第 100 代种群值及目标函数值从表 4.1 可以看到 , , ,N 在第一代遗传,出现了变异,数据不稳定。表 4.2 可以看出, , , ,N 经过 100 代遗传后基本处于稳定状态。因此,依据本算法得到的最优参数值 , , ,N 以及迭代次数分别为 :4.8387、 0.9428、26.833、3

26、.120237(迭代次数取近似的整数计算)。将上述遗传得到的参数应用进蚁群边缘检测中,本实验首先利用四个启发引导函数:, , ,作为信息素启发能见度 的函数,并且计算蚁群容许行走范围内的转移概率函数,采用信息素矩阵排序选取阈值提取边缘。图 4.1 结合遗传算法的蚁群边缘检测效果图 4.2 蚁群边缘检测(人工选取参数)效果图 4.1 提取车牌边缘实验利用遗传算法得到的参数 , , ,N(4.8387、0.9428、26.833、3.120237)提取车牌边缘效果较好,边缘清晰。图 4.2 是蚁群边缘检测人工选取参数的效果。对比两幅图能够看出利用遗传算法得到的参数应用于蚁群算法是可行的。图 4.3

27、 血细胞对比图图 4.3 提取血细胞边缘同样利用遗传得到的参数对血细胞进行边缘提取,对比人工选参提取边缘平滑完整,细节清晰。因此,将遗传算法与蚁群算法结合使用,减少了人工选参的繁琐不稳定等现象,边缘提取完整细节清晰。5 结语大量实验结果表明,我们在蚁群算法领域所做的以上工作,大大提高了基本蚁群算法的性能,减少了人工选参的繁琐不稳定等现象。当然,我们在蚁群算法这个领域所做的工作还是远远不够的,我们根据我们对蚁群算法的研究,提出对其进一步研究工作中需要解决的问题,给出了解决这些问题的基本思路,为该领域的研究作了一些基础性工作.总之,蚁群算法的性能改进、理论基础证明、并行化以及蚁群算法在其他新领域如组合优化、函数优化、系统辨识、机器人路径规划、数据挖掘等方面的应用,仍然需要我们投入更广泛更深入的研究。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报