蚁群算法

合集下载

蚁群算法

蚁群算法

两阶段算法(Two Phase Algorithm)
算法举例
(3)以P0为起点,以P4为终点,求下图最短路径L
Dijkstra算法 动态规划 L为 P0→P6 → P3 → P4. 总长度为97km。
(4)根据最短路进行分组,最短路由三条分支组成,即
P0→P5 → P8 → P7 → P6 → P0. 33km,5.9t
0 0
4 10 17 0
节约法(Saving Method)
算法举例
点对之间连接的距离节约值
连接点 3-4 2-3 7-8 6-7 1-7 节约里程 19 18 17 16 13 连接点 1-2 1-6 6-8 2-4 1-3 节约里程 12 11 10 9 8 连接点 1-8 2-7 5-8 2-6 4-5 节约里程 5 5 4 3 3 连接点 5-7 3-7 5-6 节约里程 3 1 1
Cij P0 P5 P8 P0 0 P5 8 0 P8 22 18 0 P7 33 29 28 P6 33 29 28 P1 ∞ ∞ 37 P2 ∞ ∞ ∞ P3 ∞ ∞ ∞ P4 ∞ ∞ ∞
P7
P6 P1 P2 P3 P4
0
16
0
25
20 0
35
30 22 0

42 34 30 0

∞ ∞ ∞ 22 0
节约法(Saving Method)
算法举例
求初始解
令Ii={i},i=1,2,· · · ,8;最短路长li=2C0i;载重量ri=Ri;标记 (合并次数)B1=B2=· · · =B8=0.
按节约里程从大到小合并路径 8
P3 P29 10P15 NhomakorabeaP4
11

蚁群算法

蚁群算法

蚁群算法目录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)])

蚁群算法

蚁群算法

基本蚁群算法程序流程图
开始 初始化
循环次数Nc← Nc+1
蚂蚁k=1 蚂蚁k=k+1
按式(1)选择下一元素 修改禁忌表 N Y K≥ m
按式(2)和式(3)进行信息量更新 满足结束条件 Y
Байду номын сангаас输出程序计算结果 结束 N
复杂度分析
对于TSP,所有可行的路径共有(n-1)!/2条,以 此路径比较为基本操作,则需要(n-1)!/2-1次基 本操作才能保证得到绝对最优解。 若1M FLOPS,当n=10, 需要0.19秒 n=20, 需要1929年 n=30, 需要1.4X10e17年
{ ij (t ) | ci , c j C}是t时刻集合C中元素
蚂蚁k(k=1,2,…,m)在运动过程中,根据各条路径上的信息 量决定其转移方向。这里用禁忌表tabuk来记录蚂蚁k当前 所走过的城市,集合随着tabuk进化过程做动态调整。在 搜索过程中,蚂蚁根据各条路径上的信息量及路径的启发 信息来计算状态转移概率。在t时刻蚂蚁k由元素(城市)i 转移到元素(城市)j的状态转移概率:
1) 标有距离的路径图 2) 在0时刻,路径上没有信息素累积,蚂蚁选择路径为任意 3) 在1时刻,路径上信息素堆积,短边信息素多与长边,所以蚂蚁更 倾向于选择ABCDE


(1)其原理是一种正反馈机制或称增强型学习系统;它通过 信息素的不断更新达到最终收敛于最优路径上; (2)它是一种通用型随机优化方法;但人工蚂蚁决不是对实 际蚂蚁的一种简单模拟,它融进了人类的智能; (3)它是一种分布式的优化方法;不仅适合目前的串行计算 机,而且适合未来的并行计算机; (4)它是一种全局优化的方法;不仅可用于求解单目标优化 问题,而且可用于求解多目标优化问题; 2 (5)它是一种启发式算法;计算复杂性为 O( NC m n ),其 中NC 是迭代次数,m 是蚂蚁数目,n 是目的节点数目。

蚁群算法

蚁群算法

4.蚁群算法应用
信息素更新规则
1.蚁群算法简述 2.蚁群算法原理
最大最小蚂蚁系统
3.蚁群算法改进
4.蚁群算法应用
最大最小蚂蚁系统(MAX-MIN Ant System,MMAS)在基本AS算法的基础 上进行了四项改进: (1)只允许迭代最优蚂蚁(在本次迭代构建出最短路径的蚂蚁),或者至今 最优蚂蚁释放信息素。(迭代最优更新规则和至今最优更新规则在MMAS 中会被交替使用)
p( B) 0.033/(0.033 0.3 0.075) 0.081 p(C ) 0.3 /(0.033 0.3 0.075) 0.74 p( D) 0.075 /(0.033 0.3 0.075) 0.18
用轮盘赌法则选择下城市。假设产生的 随机数q=random(0,1)=0.05,则蚂蚁1将会 选择城市B。 用同样的方法为蚂蚁2和3选择下一访问 城市,假设蚂蚁2选择城市D,蚂蚁3选择城 市A。
蚁群算法
1.蚁群算法简述 2.蚁群算法原理 3.蚁群算法改进 4.蚁群算法应用
1.蚁群算法简述 2.蚁群算法原理
3.蚁群算法改进
4.蚁群算法应用


蚁群算法(ant colony optimization, ACO),又称蚂蚁 算法,是一种用来在图中寻找优 化路径的机率型算法。 由Marco Dorigo于1992年在他 的博士论文中提出,其灵感来源 于蚂蚁在寻找食物过程中发现路 径的行为
4.蚁群算法应用
例给出用蚁群算法求解一个四城市的TSP 3 1 2 3 5 4 W dij 1 5 2 2 4 2
假设蚂蚁种群的规模m=3,参数a=1,b=2,r=0.5。 解:
满足结束条件?

蚁群算法简述

蚁群算法简述

2.蚁群算法的特征
下面是对蚁群算法的进行过程中采用的规则进行的一些说明. 范围
蚂蚁观察到的范围是一个方格世界,蚂蚁有一个参数为速度半径一般 是3,那么它能观察到的范围就是33个方格世界,并且能移动的距离也在这 个范围之内. 环境
蚂蚁所在的环境是一个虚拟的世界,其中有障碍物,有别的蚂蚁,还有 信息素,信息素有两种,一种是找到食物的蚂蚁洒下的食物信息素,一种是找 到窝的蚂蚁洒下的窝的信息素.每个蚂蚁都仅仅能感知它范围内的环境信 息.环境以一定的速率让信息素消失. 觅食规则
2.蚁群算法的特征
基本蚁群算法流程图详细
1. 在初始状态下,一群蚂蚁外出,此时没有信息素,那么各 自会随机的选择一条路径. 2. 在下一个状态,每只蚂蚁到达了不同的点,从初始点到这 些点之间留下了信息素,蚂蚁继续走,已经到达目标的蚂蚁 开始返回,与此同时,下一批蚂蚁出动,它们都会按照各条路 径上信息素的多少选择路线selection,更倾向于选择信息 素多的路径走当然也有随机性. 3. 又到了再下一个状态,刚刚没有蚂蚁经过的路线上的信 息素不同程度的挥发掉了evaporation,而刚刚经过了蚂蚁 的路线信息素增强reinforcement.然后又出动一批蚂蚁,重 复第2个步骤. 每个状态到下一个状态的变化称为一次迭代,在迭代多次 过后,就会有某一条路径上的信息素明显多于其它路径,这 通常就是一条最优路径.
人工蚁群算法
基于以上蚁群寻找食物时的最优路径选择问题,可 以构造人工蚁群,来解决最优化问题,如TSP问题.
人工蚁群中把具有简单功能的工作单元看作蚂蚁. 二者的相似之处在于都是优先选择信息素浓度大的路 径.较短路径的信息素浓度高,所以能够最终被所有蚂 蚁选择,也就是最终的优化结果.
两者的区别在于人工蚁群有一定的记忆能力,能够 记忆已经访问过的节点.同时,人工蚁群再选择下一条 路径的时候是按一定算法规律有意识地寻找最短路径, 而不是盲目的.例如在TSP问题中,可以预先知道当前 城市到下一个目的地的距离.

蚁群算法基本原理

蚁群算法基本原理

蚁群算法基本原理
蚁群算法(Ant Colony Algorithm)是一种基于模拟蚁群行为的优化算法,用于解决复杂的优化问题。

其原理是模拟蚂蚁寻找食物的行为,在寻找过程中通过信息素来引导蚂蚁探索最优解。

基本流程:
1. 初始化:将蚂蚁随机分散在问题空间中,每只蚂蚁都随机选择一个起点。

2. 蚂蚁搜索:每只蚂蚁根据一定的概率选择下一个节点,概率与当前节点的信息素有关,如果信息素较高则该节点被选中的概率较大。

3. 信息素更新:每只蚂蚁在搜索过程中会留下一定的信息素,当搜索完成后,信息素会根据一定的规则进行更新,具体规则可以为:信息素浓度与路径长度成反比例关系,或者信息素挥发速度固定。

4. 最优解记录:当所有蚂蚁完成搜索后,从它们所走过的路径中选择获得最优解,并将该路径上的信息素浓度进行更新。

5. 重复搜索:重复上述所有步骤,直到达到设定的迭代次数或者满足终止条件。

蚁群算法基本原理就是通过模拟蚁群行为,通过信息素的引导来搜索最优解。


实际应用中,蚁群算法可以用于解决诸如旅行商问题、作业调度问题、路径规划问题、图像分割问题等优化问题。

蚁群算法

蚁群算法

四、结论
蚁群算法是由M.Dorigo于1992年提出来的一种新型进化算 法。该算法不依赖于具体问题的数学描述,具有全局优化能力 和本质上的并行性,同时比遗传算法、模拟退火算法等早期进 化算法具备更强的鲁棒性、求解时间短、易于计算机实现等优 点。已被用于高度复杂的组合优化问题、通讯网络的路由选择 问题、多机器人任务分配问题、图形生成及划分等问题中。 但由于蚁群算法的研究历史很短,在实际问题中应用还较 少,因此存在许多有待进一步研究改进的地方。如信息素分配 策略、路径搜索策略、最优解保留策略等方面,均带有经验性 和直觉性,没有经过细致的研究和分析。因此算法的求解效率 不高,收敛性较差。
它们的区别在于后两种模型中利用的是局部信息, 而前者利用的是整体信息。参数α,β,Q,ρ,可以用 实验方法确定其最优组合,停止条件可以用固定进化 代数或当进化趋势不明显时停止计算。
pij (t ) =
α β τ ij (t ) × η ij (t ) α β τ ik (t ) × η ik (t ) ∑(i,k )∈S ,k∉U
ant cycle system, ant quantity system, ant density system。
他们的差别在于表达式的不同。 在ant cycle system模型中,
Q k ∆τ ij = f k 0 第k只蚂蚁在第t次循环中经过边(i, j ) 其他
f k 第k只蚂蚁在整个路径中的目标函数值。
谢谢!
二、蚁群算法原理
人工蚁群算法是模仿真实的蚁群行为而提出的。仿生 学家经过大量细致的观察研究发现,蚂蚁个体之间是通过一 种称为“外激素”(Stigmergy)的物质进行信息传递的。蚂蚁 在运动过程中,能够在它所经过的路径上留下该种物质,而 且蚂蚁在运动过程中能感知这种物质,并以此指导自己的运 动方向(蚂蚁选择有这些物质的路径的可能性,比选择没有这 些物质的路径的可能性大得多)。因此,有大量蚂蚁组成的蚁 群的集体行为便表现出一种信息正反馈现象:某一路径上走 过的蚂蚁越多,则后来者选择该路经的概率就越大。蚂蚁个 体之间就是通过这种信息的交流达到搜索食物的目的。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

蚁群算法的改进与应用摘要:蚁群算法是一种仿生优化算法,其本质是一个复杂的智能系统,它具有较强的鲁棒性、优良的分布式计算机制和易于与其他方法结合等优点。

但是现在蚁群算法还是存在着缺点和不足,需要我们进一歩改进,如:搜索时间长、容易出现搜索停滞现象、数学基础还不完整。

本文首先说明蚁群算法的基本思想,阐述了蚁群算法的原始模型及其特点,其次讨论如何利用遗传算法选取蚁群算法的参数,然后结合对边缘检测的蚁群算法具体实现过程进行研究分析,最后对本论文所做的工作进行全面总结,提出不足之处,并展望了今后要继续研究学习的工作内容。

关键词:蚁群算法;边缘检测;阈值;信息素;遗传算法;1 前言蚁群算法是近年来提出的一种群体智能仿生优化算法,是受到自然界中真实的蚂蚁群寻觅食物过程的启发而发现的。

蚂蚁之所以能够找到蚁穴到食物之间的最短路径是因为它们的个体之间通过一种化学物质来传递信息,蚁群算法正是利用了真实蚁群的这种行为特征,解决了在离散系统中存在的一些寻优问题。

该算法起源于意大利学者 Dorigo M 等人于 1991 年首先提出的一种基于种群寻优的启发式搜索算法,经观察发现,蚂蚁在寻找食物的过程中其自身能够将一种化学物质遗留在它们所经过的路径上,这种化学物质被学者们称为信息素。

这种信息素能够沉积在路径表面,并且可以随着时间慢慢的挥发。

在蚂蚁寻觅食物的过程中,蚂蚁会向着积累信息素多的方向移动,这样下去最终所有蚂蚁都会选择最短路径。

该算法首先用于求解著名的旅行商问题(Traveling Salesman Problem,简称 TSP)并获得了较好的效果,随后该算法被用于求解组合优化、函数优化、系统辨识、机器人路径规划、数据挖掘、网络路由等问题。

尽管目前对 ACO 的研究刚刚起步,一些思想尚处于萌芽时期,但人们已隐隐约约认识到,人类诞生于大自然,解决问题的灵感似乎也应该来自大自然,因此越来越多人开始关注和研究 ACO,初步的研究结果已显示出该算法在求解复杂优化问题(特别是离散优化问题)方面的优越性。

虽然 ACO 的严格理论基础尚未奠定,国内外的有关研究仍停留在实验探索阶段,但从当前的应用效果来看,这种自然生物的新型系统寻优思想无疑具有十分光明的前景。

但该算法存在收敛速度慢且容易出现停滞现象的缺点,这是因为并不是所有的候选解都是最优解,而候选解却影响了蚂蚁的判断以及在蚂蚁群体中,单个蚂蚁的运动没有固定的规则,是随机的,蚂蚁与蚂蚁之间通过信息素来交换信息,但是对于较大规模的优化问题,这个信息传递和搜索过程比较繁琐,难以在较短的时间内找到一个最优的解。

由于依靠经验来选择蚁群参数存在复杂性和随机性,因此本文最后讨论如何利用遗传算法选取蚁群算法的参数。

遗传算法得到的蚁群参数减少了人工选参的不确定性以及盲目性。

2 基本蚁群算法2.1 蚁群算法基本原理根据仿生学家的研究结果表明,单只蚂蚁不能找到从巢穴到食物源的最短路径,而大量蚂蚁之间通过相互适应与协作组成的群体则可以,蚂蚁是没有视觉的,但是是通过蚂蚁在它经过的路径上留下一种彼此可以识别的物质,叫信息素,来相互传递信息,达到协作的。

蚂蚁在搜索食物源的过程中,在所经过的路径上留下信息素,同时又可以感知并根据信息素的浓度来选择下一条路径,一条路径上的浓度越浓,蚂蚁选择该条路径的概率越大,并留下信息素使这条路径上的浓度加强,这样会有更多的蚂蚁选择次路径。

相反,信息素浓度少的路径,蚂蚁选择的概率小,该路径随着时间的推移信息素逐渐挥发,而导致以后蚂蚁选择的可能性更小。

最终蚂蚁找出了最优路径同时当运动的路径出现障碍物时,蚂蚁可以很快的适应环境的变化,绕过障碍物重新找到最优路径。

蚂蚁就是通过群体间相互交换信息,自催化行为来实现正反馈过程找到当前最短路径的。

自然界的觅食行为可以通过下图来模拟,并且说明了蚁群群体的搜索原理。

图2.1 蚂蚁从巢穴到食物源的搜索过程如图1,A是食物源,F是巢穴,AB、BD、DE、EF长度都为1,BC、CE长度为2,假设蚂蚁爬行速度为1,一个时间单位蚂蚁在经过的路径上残留信息素为1,所有的路径上的信息素浓度一开始都初始化为0。

当t=0时,在巢穴F处放置40只蚂蚁,它们开始寻找食物源A,当时,它们都到达E处,有两侧道路可以选择,因为CE和DE上没有信息素,所以它们选择左侧道路或右侧道路的概率是一样的,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时,在巢穴上的有10只妈蚁,同时CE的中点处、BC的中点处和D点上也各有10只蚂蚁。

当t=9时,已返回巢穴的10只蚂蚁到达E处,此时,CE上的信息素浓度是30,而DE上是40,因此将有较多的蚂蚁选择右侧道路DE,从而增强了该路径上的信息素,使得DE上的信息素浓度比CE的差值变大,直接导致后来的蚂奴选择DE的概率更大,进而又促进它们的信息素浓度差异越来越大,越来越多的蚂蚁选择路径DE,从而最终的结果是所有蚂蚁选择了路径DE,找到了最短路径ABDEF。

蚂蚁通过群体间的协作来寻找食物源的行为过程表现出正反馈现象:一条路径上蚂蚁经过的越多,留下的信息素也就越多,后来的蚂蚁选择该条路径的概率也就越大,从而又促进了该条路径的信息素浓度,最终蚂蚁找到了最短的路径。

2.2蚁群算法数学模型旅行商问题(traveling salesman problem, TSP)是经典的组合优化问题,也是蚁群优化算法最早应用和最为成功的一个例子,并且最初该算法的提出也是在TSP问题上进行了描述。

所以我们这里也以TSP问题为应用背景进行描述。

所谓旅行商问题是指单个旅行商由起点出发,经过连通图中的所有节点并回到出发点所用的最小路径代价。

Dantzig等人于1959年最早提出了旅行社问题的数学模型。

AS (Ant System)是Dorigo等人提出的最早的也是最基础的蚁群算法模型,该算法在TSP 问题的描述如下:设有m只蚂蚊并将它们放在具有n个节点的连通图上,表示t时刻在i,j连线上的信息素,是与问题相关的启发式信息,一般情况下。

初始时刻,各个连通图的边信息素相同,即(C为常数)。

表示第k只蚂蚁目前的路径选择集合。

t时刻蚂蚁k在位置i转移到j的概率表示为:(1)其中,表示第k只蚂蚁当前还能选择的路径总和;α和β分别表示信息素τ和启发式信息η的相对重要程度。

当经过n个时刻后,蚂蚁将完成一次节点的遍历,为了防止信息过多的堆积而造成对蚂蚁选择的影响,这时应该对各个路径上的信息素进行调整,如下:(2)(3)-1表示信息素的挥发率,一般设置ρ在0到1之间,够其中ρ表示信息素的保留率,ρ防止信息的无限积累;表示蚂蚁k在一次循环中在路径i, j留下的信息素浓度;表示本次循环中路径i, j上信息素的总增量,它包含所有蚂蚁在当前循环下在该路径上留下的信息素。

根据信息素更新策略的不同,又可将基本蚁群优化算法分为三类:(1)ant-cycle模型:(4) (2) ant-density模型:(5)(3) ant-quantity模型:(6)L表示第k只蚂蚁在当前其中Q为一个和蚂蚁留在路径上的路径总量相关的一个常数,k循环中的遍历路径总和。

2.3 蚁群算法步骤具体步骤为:步骤1:参数初始化,设置NC为迭代次数,令t=0, NC=0;步骤2:将m只蚂蚁随机放在n个节点,令()00ijτ∆=,设置NC++ ;步骤3:建立禁忌表,计算蚂蚁k的转移概率,选择并移动到下一节点j,同时将j加入到tabuk中;步骤4:tabuk是否满足条件。

若为否,回到步骤3,否则,继续步骤5;步骤5:依据信息素更新公式进行信息素的全局更新;步骤6-保存最短路径,重复执行步骤2到步骤5,直到执行次数NC达到指定的最大迭代次数或连续若干代内没有更好的解出现为止。

图2.2蚁群算法基本流程3 利用遗传算法处理蚁群算法参数3.1遗传算法基本原理遗传算法作为一种求解问题的随机高效全局搜索方法,对其搜索空间无需有先验知识。

而是通过在搜索空间随机产生初始种群,然后在目标函数的作用下,经过个体之间信息的交换,一步步地逼近最优解。

(1)算法设计编码把需要解决的问题进行相应的编码,由于图像灰度值在0-255之间,故将各个染色体编码为8位二进制码。

人口模型若人口数过多,则每一代适应度值的计算量大,但如果人口数过少,又难以体现物种的多样性。

因此人口数设置应该合理。

对于蚁群参数设置人口数为10,最大遗传代数为100。

解码染色体解码为2个0-255之间的值。

适应度函数适应度函数是评价各个体的标准,一定要选择能体现进化的趋势。

在此,选择适应度函数作为蚁群参数选取的依据。

选择遗传算法选择那些适应度高的个体作为产生下一代种群的个体。

交叉交叉是产生新个体的主要方法。

蚁群边缘检测参数分别在前8位和后8位进行单点交叉。

在此设置交叉概率为0.6。

变异变异决定了遗传操作的局部搜索能力。

在此,设置变异概率为0.5。

终止准则规定当算法执行到最大遗传代数时终止。

图3.1 遗传算法流程图(2)蚁群算法图像边缘检测方法基于蚁群算法的边缘检测方法进行图像边缘检测的基本思想:首先边缘检测问题可以转化成基本蚁群算法模型的改进,即将图像抽象为一幅由像素点组成的无向图,其次将设置的人工蚂蚁随机放置在此二维的无向图中,根据各个蚂蚁在其4邻域或者8邻域内可行的像素点上的移动情况计算信息素矩阵,完成设置的迭代次数之后,利用选取的阈值判断边缘点。

其中移动的转移概率根据可行像素点的信息素强度和信息素启发引导函数共同影响求得,蚂蚁的移动方向由其允许移动领域内的像素值的变化决定。

蚁群算法的根本目的旨在通过指导性的探索迭代找到问题的最优解。

基于蚁群算法的边缘检测的核心思想可描述如下:k只蚂蚁被放置在由个像素点组成的空间矩阵上。

①随机放置k只蚂蚁在初始信息素矩阵上。

②初始化迭代步数N。

③根据转移概率公式计算出蚂蚁移动的下个像素点。

④根据信息素的更新规则更新像素点信息素。

⑤根据最终信息素矩阵选取阈值,确定图像边缘像素点。

具体过程如下所示:A.初始化:初始化设置在系统搜索的幵始。

在这个步骤中,进行必要的初始过程。

例如:设参数和分配初始信息的值。

首先放置k个蚂蚁于图像I上(图像由像素点构成),每个像素点被看成是蚂蚁将要爬行的一个无向图中的结点,开始时信息素矩阵被设为。

相关文档
最新文档