ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:168.66KB ,
资源ID:9963160      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9963160.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(蚁群算法及其在序列比对中的应用研究综述.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

蚁群算法及其在序列比对中的应用研究综述.docx

1、蚁群算法及其在序列比对中的应用研究综述蚁群算法及其在序列比对中的应用研究综述摘要:蚁群算法是一种新颖的仿生进化算法。作为一种全局搜索的方法,蚂蚁算法具有正反馈性、并行性、分布性、自组织性等特点,自提出以来,便在求解复杂组合优化问题上显示出了强大的优势。序列比对是生物信息学的基础,通过在比对中获得大量的序列信息,可以推断基因的结构、功能和进化关系。本文首先详细阐述了蚁群算法的基本原理、各种改进技术及收敛性分析,然后对蚁群算法在双序列比对和多序列比对的应用研究进行了综述和评价,最后指出了下一步的研究方向。关键词:蚁群算法;序列比对;信息素Abstract: Ant colony algorithm

2、 (ACA) is a novel bionic evolutionary algorithm. As a global searching approach,ACA has some characteristic,such as positive feedback, distributing,paralleling, self-organizing, etc,and from it was introduced, it has been used to solve all kinds of complex optimization problem. Sequence alignment is

3、 the basement of Bioinformatics. With the wealth of sequence information obtained from sequence alignment, one can infers the structure, function and evolutionary relationship of genes. In this paper, the basic principles of ACA are introduced at length, and various improvements and convergence Anal

4、ysis of ACA are also presented. Then the current study of double sequence alignment and multiple sequence alignment based on ant colony algorithm are reviewed and evaluated. Finally, some future research directions about ACA are proposed.Key words: Ant Colony Algorithm; Sequence Alignment; Pheromone

5、1 引言蚁群算法(Ant Algorithm)是一种源于大自然中生物世界的新的仿生类算法,作为通用型随机优化方法,它吸收了昆虫王国中蚂蚁的行为特性,通过其内在的搜索机制,在一系列困难的组合优化问题求解中取得了成效。由于在模拟仿真中使用的是人工蚂蚁概念,因此有时亦被称为蚂蚁系统(Ant System)。据昆虫学家的观察和研究发现,生物世界中的蚂蚁有能力在没有任何可见提示下找出从其窝巢至食物源的最短路径,并能随环境的变化而变化,适应性地搜索新的路径,产生新的选择。作为昆虫的蚂蚁在寻找食物源时,能在其走过的路径上释放一种蚂蚁特有的分泌物信息激素(Pheromone),使得一定范围内的其他蚂蚁能够察觉

6、到并由此影响它们以后的行为。当一些路径上通过的蚂蚁越来越多时,其留下的信息激素轨迹(Trail)也越来越多,以致信息素强度增大(随时间的推移会逐渐减弱),后来蚂蚁选择该路径的概率也越高,从而更增加了该路径的信息素强度,这种选择过程被称之为蚂蚁的自催化行为。由于其原理是一种正反馈机制,因此,也可将蚁群系统理解成增强型学习系统。蚁群算法由意大利学者MDorigo等人在20世纪90年代初提出来的13。发展到今天已经有十几年的路程,在这一段时间里人们不断的对蚁群算法提出一些改进方法。有Dorigo等人提出的一种称之为AntQ System4的蚁群算法,该算法只让每次循环中的最短路径上的信息量作更新,强

7、化了信息的反馈。德国学者Stutzle和Hoos提出了一种最大最小蚂蚁系统(MAX-MIN ant system,MMAS) 5,MMAS对信息量的上下界作了限定,并且在算法中采用了轨迹平滑机制。直到今天,MMAS仍然是解决TSP、QAP等离散域优化问题的最好蚁群算法模型之一,很多对蚁群算法的改进策略都渗透着MMAS的思想。另外还有国内的学者吴庆洪等人提出了一种具有变异特征的蚁群算法6,他们在蚁群算法中引入了逆转变异机制。蚁群算法具有较好的鲁棒性,并行分布式计算及易于与其他启发式方法结合等优点,在短期内得到了很大发展,其应用领域也不断得到扩展710。目前已有一些学者将蚁群算法应用到序列比对这一

8、领域当中,其中梁栋等人将蚁群算法应用于序列比对,并提出基于自适应调整信息素的改进算法11,其结果表明,蚁群算法可以有效地运用于双序列比对问题。陈娟等人12,13提出了蚁群优化算法在多序列比对中的应用及渐进算法结合蚁群算法在多序列比较中的应用,并取得了较好的效果。Yixin Chenl等人14提出了基于分割方法的蚁群多序列比对方法。该算法采用蚁群算法将递归地将序列分割成垂直分割成若干子序列。SRJangam等人15 在遗传算法中嵌入使用了蚁群算法来解决双序列比对问题。Zne-Jung Le等人16结合了遗传算法和蚁群算法来解决多序列比对问题。为了将这些分散的文献和资料集中起来,本文对蚁群算法及其

9、在序列比对中的应用研究进行了较全面地综述。2 蚁群算法的原理用于优化领域的人工蚂蚁算法,其基本原理吸收了生物界中蚂蚁群体行为的某些显著特征:(1) 察觉小范围区域内状况并判断出是否有食物或其他同类的信息素轨迹;(2) 释放自己的信息素;(3) 所遗留的信息素数量会随时间而逐步减少。由于自然界中的蚂蚁基本没有视觉,既不知向何处去寻找和获取食物,也不知发现食物后如何返回自己的巢穴,因此它们仅仅依赖于同类散发在周围环境中的信息素,来决定自己何去何从。有趣的是,尽管没有任何先验知识,但蚂蚁们还是有能力找到从其巢穴到食物源的最佳路径,甚至在该路线放置障碍物之后,它们仍然能很快重新找到新的最佳路线。这里,

10、用一个形象化的图2.01来说明蚂蚁群体的路径搜索原理和机制。图2.01蚂蚁从蚁穴移至食物源假定障碍物的周围有两条道路可从蚂蚁的巢穴到达食物源:Nest-ABD-Food和Nest-ACD-Food,分别具有长度4和6。蚂蚁在单位时间内可移动一个单位长度的距离。开始时所有道路上都未留有任何信息素。在t=0时刻,20只蚂蚁从巢穴出发移动到A。它们以相同概率选择左侧或右侧道路,因此平均有10只蚂蚁走左侧,10只走右侧。在t=4时刻,第一组到达食物源的蚂蚁将折回。在t=5时刻,两组蚂蚁将在D点相遇。此时BD上的信息素数量与CD上的相同,因为各有10只蚂蚁选择了相应的道路。从而有5只返回的蚂蚁将选择BD

11、而另5只将选择CD。在t=8时刻,前5个蚂蚁将返回巢穴,而AC,CD和BD上各有5个蚂蚁。在t=9时刻,前5个蚂蚁又回到A并且再次面对往左还是往右的选择。这时,AB上的轨迹数是20而AC上是15,因此将有较多数的蚂蚁选择往左,从而增强了该路线的信息素。随着该过程的继续,两条道路上信息素数量的差距将越来越大,直至绝大多数蚂蚁都选择了最短的路线。正是由于一条道路要比另一条道路短,因此,在相同的时间区间内,短的路线会有更多的机会被选择。蚂蚁有能力在没有任何提示下找到从其巢穴到食物源的最短路径,并且能随环境的变化而变化,适应性的搜索新的路径,产生新的选择。其根本原因是蚂蚁在寻找食物源时,能在其走过的路

12、上释放信息素,随着时间的推移该物质会逐渐挥发,后来的蚂蚁选择该路径的概率与当时这条路径上该物质的强度成正比,当一定路径上通过的蚂蚁越来越多时,其留下的信息素轨迹也越来越多,后来蚂蚁选择该路径的概率也越高,从而更增加了该路径的信息素强度。而强度大的信息素会吸引更多的蚂蚁,从而形成一种正反馈机制。通过这种正反馈机制,蚂蚁最终可以发现最短路径。特别地,当蚂蚁巢穴与食物源之间出现障碍物时,蚂蚁不仅可以绕过障碍物,而且通过蚁群信息素轨迹在不同路径上的变化,经过一段时间的正反馈,最终收敛到最短路径上。3 基本蚁群算法的过程基本的蚁群算法可以应用于基于图表示的组合优化问题中(如 TSP),其简单表述如下:在

13、起始时刻进行初始化,将个蚂蚁随机放在个城市上,城市间的每一条边都有一个初始外激素强度值。每个蚂蚁的禁忌表的第一个元素为其初始城市。然后每个蚂蚁从城市到城市,依据概率函数 (1)选择将要移动的城市,这个概率取决于城市间的距离和信息素的强度。其中表示边上信息素的强度;表示城市间距离因子,通常取为距离的倒数;集合,和都是控制信息素与可见度的相对重要性的参数。可见转移概率是可见度和t时刻信息素强度的权衡。在n次循环后,所有蚂蚁的禁忌表都填满后,计算每个蚂蚁走过的路径的长度,并找到最短路径保存,记录此路径并更改该路径上的信息素 。信息素更新的公式是:(2)(3)其中表示在某条边上的累加新增信息素的和,表

14、示信息素消散的等级,表示在时刻t和t+ n之间第k个蚂蚁在边(i ,j)留下的信息素的数量。如果在时刻t和t+n之间第k个蚂蚁经过边(i,j),则 (4)其中Q 为常量,为第k个蚂蚁周游的路径长度。这一过程重复直至达到最大迭代次数结束,或者所有蚂蚁都走同一路线。后一种情况被称为停滞状态。如果算法在NC次循环后终止,蚂蚁算法的复杂度为。4 改进的蚁群算法4.1最大最小蚂蚁系统MMAS(Max Min Ant System) 5是到目前为止解决 TSP、QAP 等问题最好的ACO 类算法。其特点在于:只对最佳路径增加外激素的浓度,从而更好地利用了历史信息;为了避免算法过早收敛于局部最优解,将各条路

15、径可能的外激素浓度限制于,超出这个范围的值被强制设为或者,可以有效地避免某条路径上的信息量远大于其余路径,使得所有的蚂蚁都集中到同一条路径上,从而使算法不再扩散;将各条路径上外激素的起始浓度设为,这样便可以更加充分地进行寻优。4.2相遇算法相遇算法(Meet Max Min Ant System,MMMAS) 17的基本思路是将一只蚂蚁的一次周游分由两只蚂蚁分头进行,在路径中间相遇合成一次周游路径。此外,由于在一次循环中,蚂蚁进行多次周游,最短的一次周游影响路径信息素,因此,在一次周游中,选择一个城市后,即计算当前路径长度,如果长度超过本次循环已得到的最小值即终止此次周游,这样可以进一步缩短计

16、算时间。其步骤如下:(1) 初始化参数: (2) NC+(3) 一组蚂蚁开始执行相遇算法,循环变量k+(i) 两只蚂蚁选择同一起点城市,建立禁忌表(ii) 其中一只蚂蚁以式(1)计算的转移概率选择一个城市(iii) 另一只蚂蚁也以式(1)计算的转移概率选择一个城市(iv) 判断当前路径长度,如果大于本次相遇算法m组蚂蚁已找到的最短路径则终止此次两只蚂蚁周游,continue(v) 判断禁忌表,如果未满,转至(ii)(vi) 2-opt局部优化路径(可选) (4) 如果km转至(3)(5) 计算本次m组蚂蚁相遇循环的最短路径,置空禁忌表(6) 用式(2)(4)更新路径信息素(最短路径增加,其他衰

17、减) (7) 如果NC小于且未进入停滞状态,转至(2)(8) 输出最优解,算法停止.从算法描述可以看出,一次周游的两只蚂蚁共用一个禁忌表,这样保证两只蚂蚁不会选择重复的城市。5 蚁群算法的收敛速度分析应用研究的发展促进了学者们对蚁群算法理论的研究,主要内容在于算法数学模型、收敛性和收敛速度的分析. Gutjah针对一种特殊的蚁群算法(graph-based ant system)建立了概率转换模型, 并分析了该算法收敛的条件1820. 受此结果的启发Sttzle和Dorigo21进一步给出了保证蚁群算法收敛的一般性条件:最优解路径对应信息素的下确界应大于0,以确保算法至少有一次找到全局最优解这

18、个结论对于绝大多数蚁群算法的分析都是合适的,不过结论的证明类似于对非启发式随机搜索算法的分析,对算法性能评价以及设计方面的指导意义不明显. Dorigo等又将蚁群算法的收敛性分为两种类型22,23: (1) 值收敛(convergence in value) , 即当迭代时间趋于无穷时, 蚁群算法至少一次达到最优解; (2) 解收敛(convergence in solution) ,即当迭代时间趋于无穷时,蚁群算法找到最优解的概率趋于1.两种收敛性的证明22都类似于文献21的分析,结论充实了蚁群算法的收敛性理论.上面主要是基于概率模型的收敛性分析, 国内外学者还从随机过程的角度研究了蚁群算法

19、的收敛性. Badr和 Fahmy24利用随机游走模型(random ranching)分析了一种特殊蚁群算法的收敛性.但是由于约束条件较多,其结论难以进行推广.国内Ke和Yang等25,26则是利用有限Markov 链模型(Markov chain)作为研究ACO收敛性的工具; 但是, 分析结论只能适用于信息素矩阵状态有限的特殊蚁群算法. 黄翰等建立了吸收态 Markov过程数学模型,与以往蚁群算法的Markov链模型相比,有着更加广泛的适用性。6 蚁群算法在序列比对中的应用6.1 双序列比对6.1.1 双序列比对问题描述双序列比对是多序列比对和序列数据库搜索的基础。Needlernan和W

20、unsch提出的比对方法属于动态规划范畴27。对于一个序列S,|S|是S中字符的个数,Si表示序列的第i个字符. S1.i表示序列的前i个字符组成的子序列。S中的字符有某个有限字符集合确定(如DNA由4种核糖核酸A、T、C、G确定)。基因序列在突变中的变化包括替代、插入和删除,我们用“-”来表示插入和删除所产生的空位。对于,定义为打分函数,表示x,y比较时的得分,设匹配得分为2,失配为-1,空位罚分为-2,则有: (1)序列S和T的一个比对A用序列和(插入空位后的序列S和T)中字符一一对应表示,有。序列比对A的得分为: (2)序列比对的主要目标是如何寻找出序列间的最大相似度的比对。那么如何找到

21、两个序列S和T的全局最优比对呢?一方面依赖于选择什么样的目标函数,另一方面要依靠算法的执行。目标函数是用来对比对结果进行衡量的一个打分机制。在序列比对的过程中,需要引入空位,空位的引入是为了补偿那些插入或缺失,使序列的比对能更紧密地符合某种所期望的模型,但是在序列的比对中引入的空位不能不加限制,否则比对结果即使较高,也缺乏生物学依据。因此,必须有一种机制,对空位的引入加以限制。常用的方法就是空位罚分,即每插入一个空位,就在总分值中减去一定分值(叫罚分值),即加上一负分值。因此,序列比对最终结果的得分值是两个序列之间匹配残基的总分值与空位罚分的总和28。6.1.2 蚁群双序列比对算法的设计对序列

22、S=CAGGA和T=CGGTTA,仿照动态规划法那样阵建立矩阵(如图1)。蚂蚁从矩阵左上角出发选择一条路线到达右下角,就形成一个比对,我们规定在水平或垂直方向上移动一格,表示在相应的序列中插入一个空位,沿对角线移动一格表示到达的新位置对应字符的匹配。图1中的路线表示了如下比对结果:序列S:CAGG一一A序列T:CGG T T AC G G T T A C A G G A 图1 单个蚂蚁的行走路线与TSP问题不同,蚂蚁在每个位置选择移动方向的数目是固定的,总是向右,向下,沿对角线向右下三个方向,序列比对对加入的空位数量也有一定要求。所以蚁群比对算法的设计与TSP问题有所不同。用 表示t时刻蚂蚁在

23、(i,j)位置上沿着k方向的路径上的信息素浓度,k=1,2,3分别表示水平向右、垂直向下和沿对角线三个方向。蚂蚁路径选择时的转移概率计算:蚂蚁从矩阵左上角出发,每走一步都要根据当前位置可选择的各条路径上的信息素浓度以及启发信息决定下一个移动的方向。这里的启发信息包括表示字符匹配程度的矩阵D及方向权值d。 (3)蚂蚁在路径选择时采用的策略是:首先设定,然后产生一个随机数,当这个随机数小于时,选择对角线方向移动;当这个随机数大于时,计算三个方向的概率 ,然后用轮盘赌法在三个方向中选择一个移动。当所有的蚂蚁通过不同的路线到达矩阵右下角,得到一组比对结果,就完成了寻找最优路线的一次循环。这时要对每条路

24、径的信息素进行全局更新。信息素的更新公式如下: (4) (5)其中canshu为信息素增量转化参数,它用来将比对得分小于0的分数转化成正数增量,Q为信息素增加强度系数。6.1.3 改进的蚁群双序列比对算法蚁群算法通过正反馈机制来强化较好的解,但容易出现停滞,陷入局部最优解29。针对这个问题,提出自适应调整信息素的方法,根据解的搜索情况,动态地调整信息素的分配。采用式(6)的时变函数Q(t)来代替式(5)中的常数Q。进化初期为了增大搜索空问,Q(t)取较小的值,随着算法的推进取值逐步增大,强化较好的解。在算法的仿真中,我们采用Q1=0.0001,Q2=0.0005,Q3=0.001以及T1=30

25、,T2=60。 (6)在陷入局部最优解时,某条路径上的信息素在数量上占绝对优势,因此我们对信息素的最大值和最小值进行了限制,如规定,。限制最大值可以防止某条路线的信息素浓度过大,限制最小值可以防止搜索后期没走过的路径信息素浓度过低,使较差的路线被强化。为了鼓励解质量的改善,又不减小搜索空间,在进化一定代数以后,采用式(7)根据解的情况动态地调整信息素的分配。若路线上取得的解(即比对得分)为Score,较目前得到的最优解有所改善,则增大路线上的信息素增量的分配,并更新的值,若低于最优解,则减小信息素增量的分配。 (7)如果最优解在几代内没有改善,则可以适当减小要添加的信息素,以求摆脱局部最优解。

26、6.2 多序列比对6.2.1 多序列比对问题描述多重序列的某个比对30实际上就是多个序列之间的一种排列方式。图2 是六个蛋白质序列片段的多重比对的例子。我们用字符 “ -” 表示插入的空位。- GRRRSVOWCAVSNPEATKCFOWORNMRKVR - GPPVSCLKRDSPIOCIOAI- KTVRWCAVNDHEASKCANFRDSMKKVLPEDGPRIICVKKASYLDCIKAI- VKWCVKSEOELRKCHDLAAKVAE - FSCVRKDGSFECIOAI- KEKOVRWCVKSNSELKKCKDLVDTCKNK - EIKLSCVEKSNTDECSTAI- EV

27、RWCATSDPEOHKCGNMSEAFREAGI - OPSLLCVRGTSADHCVOLIAPPKTTVRWCTISSAEEKKCNSLKDHMOOER - VTLSCVOKATYLDCIKAI图2 多重序列比对对于一个比对,可以用SP模型对它打分以评价比对的好坏。我们假设得分函数具有加和性, 即多重比对的得分是各列得分总和那么,我们首先考虑如何给比对的每一列打分。 对于一列字符打分可用SP函数,SP函数定义为一列中所有字符对得分之和: (8)其中,表示该列中的第个字符,表示字符和字符比较所得分值。将各列的分值加起来就成为比对的总得分。我们进行序列多重比对的目标是要在许多比对方案中,寻找得

28、分最高的比对和在此比对的分值,以其代表序列之间的相似性。6.2.2 蚁群多序列比对算法的设计设有N个序列,其中第i个序列长度为,我们将序列中的字符看作是蚂蚁所要走过路径上的节点。算法首先对序列1 分配一个蚂蚁,令蚂蚁从序列1中的第一个字符出发, 依次选择序列 2,序列N中的某个字符(即节点)与之匹配。选择的概率取决于字符的匹配程度、 匹配的位置偏差以及路径上的信息素。蚂蚁也能以一定的概率选择一个空位插入序列中的某个位置。在完成第一个字符的匹配后,便得到一条路径。这条路径所经过的各个序列中的字符便为与序列1第一个字符相匹配的字符。蚂蚁接着从序列1中的第二个字符出发, 再依次选择其他序列中的节点或

29、空位与之匹配,如此处理序列1中的各个字符。在蚂蚁选择路径时,不允许出现线段交叉的情况,因为这意味着不可能的比对。当蚂蚁走完时,便得到条路径所对应的一个比对。其他蚂蚁也以同样的方式选择各自的路径集合。为了使解具有多样性,这些蚂蚁的处理过程不一定都从序列1开始,我们均匀地分布各个蚂蚁的开始序列。从第i条序列开始的蚂蚁,从序列i中的字符出发, 依次选择序列 i+ 1,i+ 2, ,N,1,2, ,i- 1 中的某字符(即节点)与之匹配。通过蚂蚁求出的每个路径集合, 我们可找出对应的一个比对, 路径中的节点便是蚂蚁所选择的相匹配的字符。对于不在路径上的字符, 我们可以用其他方法简单地求出它们在比对中的

30、位置, 如靠左对齐、 右边加空位, 以得到一个完整的比对。在所有蚂蚁完成路径的集合后, 算法根据打分机制求出各个比对的得分, 根据分值的高低对路径上的信息素进行更新以增大分值高的路径上的信息素。这样当下一个蚂蚁选择节点时, 就以新的信息素作为选择的依据, 从而构成信息学习的正反馈机制。(1) 概率选择公式设在第k个序列的第l个字符选择第n个序列中的第m个字符的概率为: (9)其中,是在第个序列的第个字符处选择第个序列的第个字符的信息素指标;是第个序列的第个字符和第个序列的第个字符的匹配得分; 是第个序列的位置与第个序列的第个字符选择的第个序列的字符位置的偏差;分别为信息素、 匹配程度、 位置偏

31、差三个指标相应的重要性参数;)是从第个序列的第个字符出发选择第个序列中的字符时起始的字符位置;是允许最大的字符选择的范围参数。这样的概率公式可以使得信息素较高、 匹配程度较好且相对位置偏离较小的字符被选中的概率较大。(2) 蚂蚁字符选择方法在第个序列的第个字符选择第个序列中某个字符时,首先对允许范围内的所有字符计算选择概率, 得到使得选择概率最大的字符,如果,则选择该字符;否则以一定的概率选择空位, 以剩余的概率选择字符。(3) 信息素的全局更新设定信息素全局更新的蒸发系数为evap1,每当一个蚂蚁走完得到一个比对时,对蚂蚁所经过的所有节点上的信息素按式(10)进行更新。 (10)(4) 信息素的调节在经历了一定代数以后,由于信息素的渐渐集中,算法会陷入局部最优。为了解决这个问题,我们采取了以

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1