基于蚁群遗传算法的DNA 序列比对方法d

合集下载

基于改进蚁群算法的DNA双序列比对

基于改进蚁群算法的DNA双序列比对

基于改进蚁群算法的DNA双序列比对李方洁;刘希玉;陈洁【摘要】序列比对是生物信息学中基本的信息处理方法之一.DNA序列比对分为多序列比对和双序列比对两种.本文首先分析了经典蚁群算法在双序列比对中的应用,然后针对经典蚁群算法收敛速度慢和陷入局部最优值等缺点进行改进,最后通过实验证明改进的智能蚁群算法在收敛速度和最优值方面都有较大的改进.【期刊名称】《南京师大学报(自然科学版)》【年(卷),期】2010(033)004【总页数】5页(P148-152)【关键词】蚁群算法;双序列比对;信息素【作者】李方洁;刘希玉;陈洁【作者单位】山东师范大学管理与经济学院,山东,济南,250014;山东师范大学管理与经济学院,山东,济南,250014;山东师范大学管理与经济学院,山东,济南,250014【正文语种】中文【中图分类】TP301.6序列比对(Sequence Alignment)是生物信息学中最基本的信息处理方法之一.生物信息学是利用计算机、网络等工具,采用数学和信息科学的理论和方法,主要研究生物大分子,比如蛋白质、核酸与DNA等,包括它们的序列结构和功能两个方面.序列比对是指通过对生物序列进行比较,来发现序列之间的相似性,并辨别它们之间的产异性,从而来发现生物序列中的功能、结构和进化等信息.DNA序列比对分为双序列比对和多序列比对两种.Needleman和Wunsch于1970年提出了NW算法,基于1个二维矩阵F(n,m),利用最短距离的求解方法,找出最佳匹配路径[1].Smith和Water man于1981年提出了Smith-Water man算法,是一种用来查找并比较具有相似性的动态规划算法,在识别局部相似性时,具有较高的灵敏度[2].Pearson和Lipman于1985年提出了Fasta算法,该算法将查询序列中的所有字符都变成Hash表,然后再在数据库搜索时查询这个Hash表,以检索出可能的匹配.Altschul于1990年提出了Blast算法,基于片段匹配算法和统计模型来找出目的序列和数据库之间的最佳局部对比结果.以上提到的4种算法都是用于解决DNA双序列问题,4种算法在算法复杂度、鲁棒性和速度方面上都具有明显的优缺点.定义对于给定的一组DNA序列S=(S1,S2,…,Sk),|Si|表示为某一条DNA序列Si(i=1,2,…,k)的长度.序列Si中每个序列元素由给定的字母表Σ中的一个字符表示,DNA序列的字母表Σ={A,G,C,T},由4种核苷酸A、G、C、T组成.在进行DNA序列比对时,需要进行替代、删除与插入等操作.空格“-”代表删除或插入操作时所产生的空位.在进行空位“-”插入或删除时,要求不存在全为空位的一列,即∀j,∃i,mij≠‘-’.其中DNA序列比对是一个k×l的矩阵M=(mij)k×l.x,y表示序列比对时第一条序列和第二条序列中的元素,对于x,y∈Σ∪{-},定义σ(x,y)为计分函数,表示为x,y比较时的得分,最简单的计分函数为:在公式1中,两个序列元素x与y进行比对,若2个元素相同并且同时属于字母表,则得分为2;若2个元素不相等并且同时属于字母表,则得分为-1;若2个元素中有任意一个为空位,则得分为-2.序列S和T形成的一个比对A,序列S′,T′是插入空位“-”后的序列S和T,则必须满足|S′|=|T′|,并且序列S′、T′去掉空位之后就是序列S和T.序列S′、T′形成的比对A的得分表示为score(A)=比对的得分越高,表示两组序列的相似性越高.而在进行DNA双序列比对时,得分最高的比对是最好的比对算法.蚁群算法(Ant ColonyAlgorithm),又称蚂蚁算法,是根据真实的蚁群集体活动而仿真设计出来的,是一种群体智能进化算法,是由意大利学者Macro Dorigo等人提出的一种随机搜索算法[4].它是继遗传算法、模拟退火算法、神经网络等算法之后的又一种启发式搜索算法.蚁群算法最早是应用在TSP问题上,取得了很好的效果,后来与多种优化算法结合,得到了广泛应用,应用领域有:二次分配问题、图像处理、车辆疏导、电网分配、网络路由、图形着色等问题.蚁群算法的主要优点为鲁棒性强、分布式并行计算、易于实现并且易于与其他算法的结合.但是它也有一些缺点限制了其应用范围,例如:搜索时间较长、收敛速度将慢、容易陷入局部最优值等.近年来,许多学者对蚁群算法进行了改进,主要体现在减少搜索时间、加快收敛速度或是如何跳出局部最优值,并扩大其应用领域.对于2条DNA序列S和T,若依据蚁群双序列比对模型(Ant Colony Pair wise AlignmentModel)生成的比对结果矩阵如下图1:其中序列S=CGGATC,序列T=CGAATTC则由上图可知,加入空格之后,得出的比对结果为:主要步骤如下:1)根据输入的2个DNA序列和公式1产生匹配矩阵,其中正数为原值,负数取倒数的绝对值,即相等的为2,不相等且无空格的为1,有空格的为0.5.例如,若2个序列元素不相等并且不为空格,根据公式1,得分为-1,则匹配矩阵中取倒数的绝对值,故取1;2)分配每个蚂蚁由起点开始进行搜索,直到终点为止.如果搜索循环次数达到最大循环数或是连续N次最优值没有改变,则算法结束;3)蚂蚁在搜索过程中,有右下方、下方和右方3个方向进行选择路径.首先产生1个随机数,如果这个随机数小于某个固定值P0,则选择右下方移动;如果这个随机数大于该固定值,则需要计算3个方向的转移概率Pk,并根据轮盘赌法[5]在3个方向中决定1个方向进行移动.在这一步中,需要记录每只蚂蚁的转移路径和比对分数; 4)当蚂蚁走到最右方时,规定蚂蚁只能向下方移动;当蚂蚁走到最下方时,规定蚂蚁只能向右方移动.在移动过程中,如果蚂蚁向下方移动,则在T序列的相应位置加入一个空位“-”;如果蚂蚁向右方移动,则在S序列的相应位置加入一个空位“-”;5)当所有蚂蚁到达终点时,则规定一轮搜索完毕.根据路径和得分来更新信息素矩阵,并记录最高分和平均分;6)循环进入第(2)步.3.1.1 转移概率的计算在经典蚁群算法中,转移概率的计算是由信息素矩阵、字符匹配矩阵和方向权值3个因素来决定的.在改进的智能蚁群算法中对于信息素矩阵与字符匹配矩阵进行了改进.改进算法中,信息素矩阵定义为A(i,j,k),其中i表示序列T的位置,j表示序列S的位置,k表示蚂蚁选择的3个位置,有右方、下方和右下方.A(i,j,k)表示蚂蚁走过的边上的信息素.经典蚁群算法中,在第一步进行字符匹配矩阵的构建.而在改进蚁群算法中,在蚂蚁选择路径的同时构建字符矩阵.若蚂蚁向下走,在匹配矩阵的值D1=0.5;若蚂蚁向右走,在匹配矩阵的值为D2=0.5;若蚂蚁向右下方走,并且2个字符相等,则在匹配矩阵的值为D3=2,否则D3=1.这种匹配矩阵的构建方法可以提高蚁群算法的精确性.dk为方向权值,用来控制蚂蚁偏离对角线的参数,防止插入过多的空格.如果蚂蚁当前的位置为(i,j),d1表示向下的方向权值,d2表示向右的方向权值,d3表示对角线的方向权值.如果i与j之间差的绝对值小于H,则不需要调整3个方向权值的大小.如果i比j大,i与j之间的差大于H,则证明蚂蚁向下走的太多,则增加对角线和向右走的方向权值.如果j比i大且j与i之间的差大于H,则证明蚂蚁向右走的太多,则增加对角线和向下走的方向权值.改进算法中转移概率的公式2为:3.1.2 动态更新P0在经典蚁群算法中,蚂蚁搜索过程中,先产生一个随机数,如果这个随机数小于某个固定值P0,则选择右下方移动;否则根据转移概率和轮盘赌选择方向.改进的智能蚁群算法中,将P0改成智能变化的值,公式3为:在循环次数小于等于常数T1时,将P0定义为比较大的值,让蚂蚁倾向选择比对分数比较大的右下方向,减少运算时间;随着计算时间增加,当循环次数小于等于常数T2时,将P0定义为原经典蚁群算法中的0.3;当循环次数大于常数T2时,将P0定义为比较小的值,让蚂蚁倾向于随机选择路线,可以防止进入局部最优.3.1.3 信息素智能更新针对经典蚁群算法,改进的智能蚁群算法增加了对最大值路径的信息素更新策略.信息素更新策略的公式为:其中,xinXisu表示需找路径过程中蚂蚁产生的信息素,Q1,Q2表示信息素更新时的倍数.例如,当第n只蚂蚁的分数等于当前所有循环的最大值,则它所走过的路径上的信息素更新为0.2倍的信息素.这样可以使蚂蚁尽快地找到最大值,并且不容易进入局部最优值.对两组数据进行了实验,第一组数据是DNA序列S=a c g c t c g c a g g a c a c t t t t t c a g a t c t at t g a c t t c a g g a c g g c t g c t a a t a c,DNA序列T=a c c t c g c a g g a g a c t t t t t a c a g a a t c t a t g a c t t c a g a c g g c a g c t a t t a c,其中序列S的长度为53,序列T的长度为52.第二组数据是从NCB I序列库中取得的两组DNA序列,序列号分别为:AB023276和AB023278,序列长度均为457.相关参数如下:初始信息素=5,方向权值d1=2,d2=2,d3=3,防止蚂蚁偏离对角线的参数H=5,最大循环次数NCmax=100,蚂蚁数m=100,信息挥发程度p=0.05,q0=0.3,p1=0.6,p2=0.35,p3=0.2,a=5,b=3,c=2,T1=50,T2=79,T3=99,Q 1=0.1,Q2=0.2.第一组的计算结果如图2.从图1可以看出,基于经典蚁群算法和改进蚁群算法得到的最优值都是81,但是改进蚁群算法在第19次达到了最优值81,并保持81分不变;经典蚁群算法在第23次达到最优值81,可以看出改进蚁群算法可以提高算法的收敛速度,减少计算时间.第二组的计算结果如图3.从图3可以看出,基于经典蚁群算法在第59次得到的最优值881,并保持不变;基于改进蚁群算法,在第20次得到的最优值902,并保持不变.保持最优值不变的10次迭代中,基于经典蚁群算法的10次平均数为828.89,基于改进蚁群算法的10次平均数为862.从以上比较可以看出,改进蚁群算法在对于比较长的双序列进行分析时,可以避免进行局部最优值,并能在较短的时间内得到最优值,具有很大的提高,并且在平均值上面也有很大的改进.针对第二组数据,分别利用经典蚁群算法和改进蚁群算法进行了20次试验,得到的结果如表1.可以看出,基于经典蚁群算法并不是每次都能取得最优值881,而基于改进蚁群算法总是可以取得最优值902.则表明基于改进蚁群算法的稳定性较高,并且运算的平均数要明显优于经典蚁群算法.经典蚁群算法在对短序列进行比对时,具有优势,但是对于较长的序列容易陷入局部最优值且收敛速度较慢.本文提出的改进的智能蚁群算法,通过实验证明,改进蚁群算法在加快收敛速度和避免进入局部最优值等方面都具有显著的改进,并在解决长序列比对具有显著的优势.【相关文献】[1] Needleman SB,Wunsch C D.A generalmethod applicable to the search for similarities in the amino acid sequences of two proteins[J].Journal ofMolecularBiology,1970(48):443-453.[2] Smith T F,Waterman M S.Identification of common molecular sequences[J].Journal ofMolecular Biology,1981(147):195-197.[3] Ye Yuzhen,Adam Godzik.Multiple flexible structure alignment using patial order graphs[J].Bioinformatics,2005,21(10):2 362-2 369.[4] DorigoM.Optinization learning and natural algorithm[D].Italy:Politecnico diMilano,1992.[5] 王小平,曹立明.遗传算法-理论应用和软件实现[M].西安:西安交通大学出版社,2002.[6] 段海滨.蚁群算法原理及其应用[M].北京:科学出版社,2005:144-148.[7] Chen Yixin,Pan Yi,Chen Juan,et al.Multiple sequence alignment by ant colony optimization and divide-and-conquer[C]//Brelin:Proc of ICCS,2006:646-653.[8] Jangam S R,ChakrabortiN.A novelmethod for alignment of two nucleic acid sequences using ant colony opt imization and genetic algorithms[J].Applied SoftComputing,2007,7(3):1 121-1 130.[9] 梁栋,霍红卫.自适应蚁群算法在序列比对中的应用[J].计算机仿真,2005,22(l):100-102.[10] Stefan Schroedl.An improved search algorithm foropt imalmultiple sequence alignment[J].JournalofArtificial Intelligence Research,2005,23(5):587-623.。

基于遗传算法和蚁群算法的多重序列比对

基于遗传算法和蚁群算法的多重序列比对

潍坊
2 16 ) 6 0 1
摘 要 : 多重序 列 比对 问题 是 复杂性较 高 的 困难 问题 。基 于蚁群 算 法 的 多 重序 列 比 对方 法 能 够在 合
理 的时 间 内找 到得 分接近 参 考 比对 的 多序 列 比对 解 。但 是 , 着序 列 的加 长 , 群算 法对 于长序 列 的 比对 随 蚁 效果 并 不是很理 想 。本 文提 出一种 基 于遗传 算法和 蚁群 算 法的 多重序 列 比对方 法 。该 方法 利 用遗传 算法
置 。在 完成 第一 个 字 符 的 匹 配后 便 形 成 一 条 路 经 。
* 收 稿 日期 :0 7 1 2 2 0 —1 —2
作 者简 介 : 维梅 (9 8 )女 , 东安 丘 人 , 坊 学 院数 学 与信 息科 学 学 院讲 师 。 张 17 一 , 山 潍

88 —
第 4期
张 维梅 : 于遗 传 算 法 和 蚁 群 算 法的 多 重序 列 比对 基
e do / 结 束对 1的循 环 n fr / 3 .
e do / 束对 l n fr/ 结 的循环
由于 多重 序 列 比对 问题 的 复 杂性 , 以运 用 启 该路 径上 的各 个 结 点便 是 和 S 所 的第 1个 字 符 相 匹
发式优 化方 法如 蚁群 算法 、 遗传 算法 、 拟退 火算 法 配 的字符 。 模
等往往 能在 合理 的 时间里 取得 相对 较好 的效 果 。蚁 () 2 其次 , 蚂蚁 从序 列 S 的第 二个 字 符 出发 , 依 中的 每 个 字 群算法 可 以充分 利用 蚁 群 的 优 化 能力 , 综 合 考 虑 次 选择与 之 匹配 的字 符 。对 于序 列 S 在 算法 的计算 速 度 和 敏感 度 的基 础 上 , 高效 地 找到 多 符都 如此 处理 , 至全部 处 理完毕 。当蚂 蚁走 完 时 , 直 序列 比对 问题 的近似 最优 解 。蚂蚁 群算 法在 比对 较 便得 到 了 I 条 路径 构 成 的集 合 , I 。 条 路 径 的 l S 该 I S

基于蚁群遗传算法的DNA序列比对方法

基于蚁群遗传算法的DNA序列比对方法

基于蚁群遗传算法的DNA序列比对方法
郭俊恩;王士同;徐红林
【期刊名称】《生物信息学》
【年(卷),期】2007(5)4
【摘要】蚁群遗传算法是在蚁群算法的基础上用遗传算法对其参数进行优化而产生的一种改进算法.把蚁群遗传算法应用于DNA序列比对上,结果表明这种新的序列比对算法是非常有效的.
【总页数】4页(P167-170)
【作者】郭俊恩;王士同;徐红林
【作者单位】江南大学信息工程学院,江苏省无锡市,214122;江南大学信息工程学院,江苏省无锡市214122;南京大学软件新技术国家重点实验室,江苏省南京
市,210016;江南大学信息工程学院,江苏省无锡市,214122
【正文语种】中文
【中图分类】TP18
【相关文献】
1.一种基于遗传算法的DNA多序列比对方法 [J], 龚道雄;阮晓钢
2.基于遗传算法与模拟退火算法在多重DNA序列比对中的应用研究 [J], 闫磊;马健;董辉;高梦
3.基于遗传算法和蚁群算法的多重序列比对 [J], 张维梅
4.基于蚁群遗传算法的氨基酸序列比对方法 [J], 郭俊恩;王士同;徐红林
5.基于改进蚁群算法的DNA双序列比对 [J], 李方洁;刘希玉;陈洁
因版权原因,仅展示原文概要,查看原文内容请购买。

基于蚁群遗传算法的氨基酸序列比对方法

基于蚁群遗传算法的氨基酸序列比对方法
2 Sa e a oa rfr oe S t . t eKyl brt y o vl f, t o N  ̄ o Tcnl y af gU i r y af gJ ns 10 6 C i ) ehoo ,N nn nv s ,N nn i gu2 0 1, h g i ei t i a a n
A s at ae n atcln p m zt n a o tm,A tC l yO t i t n G n t lo tm ( O A) i a bt c:B sdo n o yot iao l rh r o i i gi n oo p m z i e ec Agrh AC G n i ao i i sn
GUO J n e W A u —n , NG S itn , XU Ho g l h—o g 一 n —n i
(.c o oI o ao nie n,Su e ag eUirt ui i gu 112 C i ; 1Sh lf n r tn g e i ot r Ynt n ei,W xJ ns 242 , h a o f m i E n rg hn z vsy a n
维普资讯
第2 7卷第 6 期
20 0 7年 6月
文章编号 : 0 - 0120 )6 13 一 4 1 1 98 (07 0 — 44 o 0
计 算机 应 用
Co utrAp he f n mp e p a o s i
Vo . 7 No 6 12 .
与之相似的已知序列 , 通过 已知序列 推断新序 列 的结 构 和功
பைடு நூலகம்
心 , 网络划分 , 过计算子 网络间交互 信息 , 对 通 确定各子 网络
d r e .T e e p r n a e u t i d c t a e p o o e e v d h x e me tlrs l n i ae t t rp s ACO i i s h t h d GA A i v r f c v . S s ey e e t e i Ke r s s q e c in n ;b o no ma c ; a tc ln p m z f n ag r h y wo d : e u n e a g me t ii fr t s n oo y o t l i i i a o o t m; An o o y O tmi f n G n t i l i t C ln p i z i e e c ao i

基因组学中的DNA序列比对算法综述

基因组学中的DNA序列比对算法综述

基因组学中的DNA序列比对算法综述简介:DNA序列比对是基因组学研究中的重要步骤之一,它可以帮助研究人员识别基因、研究基因与疾病之间的关联,并帮助科学家揭示生命中的许多谜团。

在过去的几十年中,许多DNA序列比对算法被开发出来,从最早的序列对比算法到最新的高通量测序技术,帮助提升了测序数据的准确性和可靠性。

本文将综述基因组学中的DNA序列比对算法,包括全局比对、局部比对和迭代比对等算法。

一、全局比对算法全局比对算法是将两个较长的DNA序列进行全局对比,寻找它们之间的相似性。

最著名的全局比对算法是Smith-Waterman算法,它基于动态规划原理,计算两个序列的全局最优比对分数,并确定最优比对结果。

这种方法的优点是能够检测出所有可能的序列区域的相似性,但计算复杂度高,不适合大规模的比对任务。

为了解决这个问题,一些启发式算法如BLAST和FASTA被开发出来。

它们采用了快速搜索和高效的过滤方法,以加速全局比对过程。

二、局部比对算法局部比对算法是寻找两个序列中的一段相似区域,而不要求整个序列都相同。

局部比对算法常常用于比对两个目标基因或特定的DNA片段。

其中最具代表性的算法是BLAST和BLAT。

BLAST算法使用了滑动窗口和查找表的方法,在保持时间和空间效率的同时,寻找两个序列之间的最优局部比对结果。

BLAT算法是一种加速的BLAST方法,它将目标基因组划分为不同的区域,并利用索引表来加速比对过程,适用于大规模序列比对任务。

三、迭代比对算法迭代比对算法是通过多轮的比对来提高序列比对的准确性,尤其适用于高变异性的序列比对。

最常见的迭代比对算法是基于隐马尔可夫模型的算法,如HMMER和SAM. 这些算法首先进行一轮全局比对,然后基于得分阈值选择一些类似的序列片段,然后再进行局部比对。

迭代比对算法能够有效地处理序列中的插入、缺失和突变等变异情况,提高比对的准确性。

四、其他比对算法除了以上提到的比对算法,还有一些其他的方法也被应用于基因组学的DNA序列比对。

基于蚁群信息素的遗传操作算法

基于蚁群信息素的遗传操作算法

Eb) ,则更新信息素 :
τij ( t + 1) =ρ·τij ( t) +Δτij , i , j = 1 , …, n
其中 ,ρ=
nn-
3 1
;Δτij
=
1, 0,
eij ∈Eb ; 。 el se
4) 交叉变异机制 :
a) pc = pm = 1 ; b) 经交叉操作产生的子代个体其路径长度如大于种群 G
量 ,τrs (0) =τ0 (τ0 为常数) 。随着时间的推移 , 新的信息素加
进来 ,旧的信息素要挥发 。当所有蚂蚁完成一次遍历后 ,各边
的信息素按下式调整 :
τrs ( t + 1) =ρ·τrs ( t) +Δτrs
(2)
Δτrs = ∑m Δτkrs
(3)
k =1
Δτrs 表示本次遍历边 e rs 上的信息素增量 , 1 - ρ表示信息素的
上述算法只是提供了一种新的优化算法思路 ,针对不同的 优化问题 , GA 和 ACA 的研究成果均可用于该算法的实现 。
4 GAoP 的实现和仿真试验
为了探讨 pt 在 GAo P 中的作用 ,简化算法的实现 ,本文 实现的仿真程序对其他参数和操作进行了改进和简化 ,主要
包括以下内容 。
1) 参数 :种群规模 m = 6 n( n 为城市数目) ,α= 1 ,β= 2 。
蚁群算法 (ACA , Ant Colony Algo rit hm) [1 ,2] 是意大利学 者 Marco Dorigo 等提出的一种仿生寻优算法 。参加寻径的 蚂蚁通过留在链路上的信息素 (p hero mone) 交互来选择新的 路由 ,从而达到寻优的目的 。其主要特点是 :本身是一个增强 型学习系统 ,具有分布式的计算特性 ,具有很强的顽健性 ,易 于与其它优化算法融合 。但是 ACA 在解决大型优化问题 时 ,存在搜索空间和时间性能上的矛盾 ,易出现过早收敛于非 全局最优解以及计算时间过长的弱点 ; 而且决定 ACA 性能 的 4 个控制参数 (αβ, ρ, ,Q) 的取值缺乏理论支持 ,影响算法 的性能 。

《基于遗传—蚁群融合算法的聚类算法研究》范文

《基于遗传—蚁群融合算法的聚类算法研究》范文

《基于遗传—蚁群融合算法的聚类算法研究》篇一基于遗传-蚁群融合算法的聚类算法研究一、引言聚类算法作为数据挖掘和机器学习领域的重要技术,广泛应用于图像处理、模式识别、生物信息学等多个领域。

然而,传统的聚类算法在处理大规模、高维度的数据时,往往存在计算复杂度高、聚类效果不佳等问题。

为了解决这些问题,本文提出了一种基于遗传-蚁群融合算法的聚类算法,通过融合遗传算法和蚁群算法的优点,提高聚类的准确性和效率。

二、相关技术背景1. 遗传算法:遗传算法是一种模拟自然进化过程的优化算法,通过模拟生物进化过程中的选择、交叉、变异等操作,实现对问题空间的搜索和优化。

2. 蚁群算法:蚁群算法是一种模拟蚂蚁觅食过程中信息素传递的优化算法,通过模拟蚂蚁的信息素传递和协作行为,实现对问题的求解。

3. 聚类算法:聚类算法是一种无监督学习方法,将数据划分为若干个簇,使得同一簇内的数据相似度高,不同簇间的数据相似度低。

三、基于遗传-蚁群融合算法的聚类算法1. 算法思想本算法融合了遗传算法和蚁群算法的优点,通过遗传算法的全局搜索能力和蚁群算法的局部优化能力,实现对聚类问题的求解。

具体思想如下:(1)初始化:随机生成一定数量的聚类中心,作为初始解集。

(2)编码与解码:将聚类中心编码为染色体,通过遗传操作生成新的染色体,解码得到新的聚类中心。

(3)适应度评价:根据聚类效果评价函数,计算每个染色体的适应度。

(4)选择、交叉、变异:根据适应度选择优秀的染色体进行交叉、变异操作,生成新的解集。

(5)蚁群局部优化:在遗传算法的基础上,利用蚁群算法对聚类结果进行局部优化,提高聚类的准确性。

2. 具体实现步骤(1)初始化聚类中心,形成初始解集。

(2)将聚类中心编码为染色体,进行遗传操作,生成新的染色体。

(3)解码得到新的聚类中心,计算每个染色体的适应度。

(4)根据适应度选择优秀的染色体进行交叉、变异操作,生成新的解集。

(5)利用蚁群算法对聚类结果进行局部优化,得到最终的聚类结果。

蚁群算法与遗传算法的混合算法

蚁群算法与遗传算法的混合算法

蚁群算法与遗传算法的混合算法最近,蚁群算法和遗传算法在优化寻优问题方面得到了许多关注。

考虑到蚁群算法和遗传算法的优势相结合,可以提出一种新的算法:蚁群算法与遗传算法的混合算法。

本文将讨论蚁群算法与遗传算法的混合算法的概念,优势以及应用实例,以期为解决优化寻优问题提供有价值的参考。

蚁群算法是一种基于群智能和人工智能的算法,它根据蚂蚁群体的行为模式来解决优化问题。

蚁群算法主要分为三个过程:观察、选择和更新。

首先,个体蚂蚁会观察环境,根据观察结果选择该解决问题的一条路径;然后,其他蚂蚁会根据第一只蚂蚁的结果对当前路径进行更新;最后,该过程将反复执行,以期得到最优解。

遗传算法是一种从量子计算机科学中汲取灵感而发展起来的算法,其本质是一种模拟自然进化过程的过程。

遗传算法通过基因水平的操纵实现基因的选择、交叉和变异,从而解决优化寻优问题。

遗传算法主要是由种群初始化、生成器构造、选择器优化、交叉变异等步骤组成。

其中,种群初始化阶段,通过在种群中随机生成候选解的编码,来构建起种群;然后,在生成器构造阶段,根据某种选择规则,从种群中选择出一组更优的个体用于进行交叉变异;最后,在交叉变异阶段,将两个种群中的候选解进行交叉运算以及变异运算,从而最终得到最优解。

基于蚁群算法和遗传算法的优势,将这两种算法结合起来,可以构成蚁群算法与遗传算法的混合算法。

该混合算法将蚁群和遗传的优势有机的结合起来,实现对多目标优化问题的更好的求解。

首先,蚁群算法可以解决离散和连续的优化问题,并且具有自学习能力,能够进行快速搜索;其次,遗传算法具有很好的全局优化能力,具有很好的收敛性;最后,通过混合这两种算法,可以更全面地考虑优化问题,充分调动蚁群和遗传算法的优势,从而实现最优解的求解。

此外,蚁群算法和遗传算法的混合算法也在实际应用中得到了广泛的应用。

例如,它可以用来解决机器学习领域的优化问题,如模型参数选择、参数调优等;另外,也可以用来解决数据挖掘领域的优化问题,如聚类算法的改进、分类算法参数调优等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

© 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved.

168
生 物 信 息 学
第5卷
S 和 T 的一个序列比对 A 用序列中字符的一一对应表 示 ,其中 ① | S′ | =| T ′ | ,② | S′ | ,| T ′ | 去掉空格就是 S 和 T。A 的得分为 :
2. 3 蚁群序列比对算法的缺陷及解决方法
| , 而 k = 1 ,2 ,3 分别表示向右 、 向右下和向下三个方向 。初
始时刻设定 τ ijk (0) = τ 0 (τ 0 为常数) 。 η ijk ( t ) 表示与匹配得分成正比的一个介于 0 与 1 之间的 一个比例因子 。举例来说如下 : 如果蚂蚁当前位置为 ( i ,j ) , 若选择 k = 1 或 k = 3 的方向 , 则根据式 ( 1 ) 比对得分为 - 1 ; 若选择 k = 2 的方向 ,则比对得分为 2 或 1 。但是由于蚁群算 法中的 η ij 因子是一个与城市距离成反比且介于 0 与 1 之间 的一个比例因子 , 因此 η ijk ( t ) 也应该具备这个意义 , 即 η ijk
RASA
[8 ]
Ω 1 x ≠y ∈
- 1 x = ‘- ’ 或 y = ‘- ’
(1)
。蚁群算法是一种新型的模拟进化算法 , 它通过模
收稿日期 :2006 - 11 - 30 ; 修回日期 :2007 - 01 - 08 基金项目 : 江苏省自然科学基金 (BK2003017) ,南京大学软件新技术国家重点实验室及江苏省计算机信息处理技术重点实验室开放课题 作者简介 : 郭俊恩 (1978 - ) ,男 ,河南唐河人 ,计算机应用技术专业硕士研究生 。 3 通讯作者 : 王士同 (1964 - ) ,男 ,江苏扬州人 ,教授 ,博士生导师 ,主要从事人工智能 、 模式识别 、 图像处理以及生物信息学等研究 。
Score + MaxScore 2 ×MaxScore
z
(7) (8)
图1 单个蚂蚁的行走路线
Fig 1 The w alked path of each ant .
Az =
Q 为常数 , A z 与蚂蚁 z 所走路线代表的序列比对的分值 相关 。在 TSP 问题中 ,用 L k 表示路线的长度 ,它总是大于零 的 。但序列比对分值可正可负 ,所以要将其映射到正值再分 配给 Az ,比对分值越高 , Az 越大 。所用的映射方法类似于
f ( x ,y) =
而 UniBLAST 工具包可以从查到的
[7 ]
大量序列中过滤掉没有意义的序列

近年来 ,将优化算法应用于序列比对的研究逐渐多了起 来 。Cedric- Emmet 和 Desmond 于 1997 年提出了一种应用于 多序列比对的遗传算法 , 并 实 现 了 基 于 该 算 法 的 软 件 包
z η ijk ( t ) 的映射方法 , 可以简单给出如下公式 ( 8 ) , 其中 Score
Abstract :Based on ant colony optimization algorithm , ant colony optimization genetic algorithm (ACOG A) is an improved algorithm by opti2 mizing ant colony optimization algorithm’ s parameters. In this paper , ACOG A is applied to DNA sequence alignment and the ACOG A based sequence alignment algorithm is derived. The experimental results indicate that the proposed sequence alignment algorithm is very efficient. Key Words :sequence alignment ; bioinformatics ; ant colony optimization algorithm ; ant colony optimization genetic algorithm
[11]
τ ijk ( t ) 表示 t 时刻图 1 中 ( i ,j ) 位置上第 k 个方向的路径
R ijk 上的信息素浓度 。其中 i = 0 ,1 ,2. . . | S| ,j = 0 ,1 ,2 ,. . . | T
在 20 世纪 90 年代初提出来的。这种算法模仿了蚂蚁在
搬运食物的过程中 ,自发寻找最短路径的行为特征 ,加以改进并 应用到不同的领域。蚂蚁是通过感知信息素的浓度来选择路径 的。
D NA sequence alognment algorithm based on colony optimization g- en , WANG Shi - tong
1 1 ,2
,XU Hong - lin
1
( 1. School of Information Engineering Southern Yangtze University , Wuxi 214122 , China ; 2. State Key Laboratory for Novel Software Technology at Nanjing University , Nanjing 210016 , China)
(5) (6)
3 算法设计
3. 1 新型蚁群序列比对算法设计
对序列 S = CAGG A 和 T = CGGTTA ,仿照动态规划法建立 矩阵 ( 如图 1) 。 蚂蚁从矩阵左上角出发选择一条路径到达右 下角 ,就形成了一个比对 ,我们确定水平或垂直方向上移动 一格表示在相应的序列中插入一个空位 ,沿对角线移动一格 表示到达的新位置对应字符的匹配 。图 1 中的路线表示了 如下比对结果 : 序列 S’ :CAGG- - A 序列 T’ :C - GGTTA
( 如 DNA 由 4 种核糖核酸 A ,T ,C , G 确定 ; 单字母氨基酸由 20
包 ,可以在 DNA 、 蛋白质数据库中进行查找 [3 - 4 ] 。而 BLAST 算法则是由 Altschul 等人于 1990 年提出 [5 ] 。此后经过改进
BLAST 允许空位的插入
[6 ]
种字母确定等) 。基因序列在突变中的变化包括替代 、 插入 和删除 ,用 “- ” 来表示插入和删除所产生的空位 。对于 x ,y ΩY{ - } , 定义 p ( x ,y) 为计分函数 , 表示 x ,y 比较时的得 ∈ 分 ,以下是最简单的一种 : Ω 2 x = y ∈
Score (A) =
蚂蚁 z (z = 1 ,2. . . m) 从矩阵左上角出发 ,根据式 (3) 所定 义的概率从位置 (i , j) 移动到下一个位置 ,直到走到矩阵的 右下角为止 :
(τ ijk ( t ) ) (η ijk ( t ) )
α β

| S′ | i =1
p ( S′ ′ iT j)
摘要 : 蚁群遗传算法是在蚁群算法的基础上用遗传算法对其参数进行优化而产生的一种改进算法 。把蚁群遗传算法应用于
DNA 序列比对上 ,结果表明这种新的序列比对算法是非常有效的 。
关键词 : 序列比对 ; 生物信息学 ; 蚁群算法 ; 蚁群遗传算法 中图分类号 :TP18 文献标识码 :B 文章编号 :1672 - 5565 (2007) - 04 - 167 - 04

m
z =1
z τ △ ijk
τ △ ijk 为本次循环中路径 R ijk 中的信息素增量 。初始时
z τ τ 刻△ ijk = 0 。 △ ijk 为第 z 只蚂蚁在路径 R ijk 上留下的信息
素。
z τ △ ijk =
{ Q ×Az ( 蚂蚁 z 经过 R ijk ) 0 ( 蚂蚁 z 未经过 Rijk )
1 引 言
生物信息学中研究 DNA 的主要方法是序列比对 。当然 也有其它的研究方法 ,如徐红林和王士同用概率布尔型网络
( PBN) 模型 [1 ] 计算网络中任意两基因之间量化了的相互影
拟蚁群在觅食过程中寻找最短路径的方法来求解优化问题 , 目前在旅行商问题等组合优化问题中有成功的应用 。用该 算法求解序列比对问题是优化算法在该领域的一种尝试 ,梁 栋等人把蚁群算法应用到了序列比对上 [9 ] 。
因子 。基于这一点 ,要把得分映射成符合这个条件的值 。最 简单的映射方法是式 (4) 。拿式 (1) 来说式 ( 4) 就可以满足条 件 。式 (4) 可以根据式 (1) 的不同而进行不同的调整 。 α和β是分配给信息素 、 启发信息的权值 , 体现了它们 对决策的影响力大小 ,在实验中可以进行合理地调整 。 首先设定 q0 ∈(0 ,1) ,蚂蚁在选择路径时产生一个 (0 ,1) 之间的随机数 p ,当 p ÷ q0 时 ,蚂蚁 z 选择 pzijk ( k = 1 ,2 ,3) 之 中值最大的方向 k 。当 p > q0 时 ,蚂蚁 z 随机选择三个方向 中的一个往下走 。 当所有蚂蚁通过不同的路线到达矩阵的右下角 ,得到一 组比对结果 ,就完成了寻找最优路线的一次循环 。这时要对 每条路径的信息素进行全局更新 ,新的信息素要加进来 , 旧 的信息素要挥发掉 。定义 ρ∈( 0 ,1) 为衰减系数 ,则 1 - ρ反 映了信息素的挥发程度 。更新公式如下 : τ τ τ ijk ( t + n) = ρ × ijk ( t ) + △ ijk τ △ ijk =
响 ,给出相应的有向带权图模型等等 。经过多年的研究 , 人 们已探索出了许多有效的算法 。
相关文档
最新文档