基于遗传算法和蚁群算法的多重序列比对
基于遗传-蚁群混合算法的排课系统
基于遗传-蚁群混合算法的排课系统孙弋;胡粔珲【摘要】在高校的教务管理中,排课问题是复杂又关键的环节,科目数量众多,教学资源有限等等因素都制约着排课的复杂程度和结果.排课本质就是将课程、班级在合适的时间段安排到合适的教学位置,是一个NP问题的求解.随着规模的不断扩大,问题求解难度呈指数形式增加,当规模达到一定程度的时候就很难在短的时间内求出最优解.鉴于此,本文提出了遗传-蚁群混合算法,将两种算法混合使用,依靠遗传算法生成信息素分布,利用蚁群算法求最优解.实验结果表明,混合算法提高了排课的效率和课表的合理度.【期刊名称】《计算机系统应用》【年(卷),期】2019(028)002【总页数】6页(P81-86)【关键词】排课;NP问题;遗传算法;蚁群算法;混合算法【作者】孙弋;胡粔珲【作者单位】西安科技大学通信与信息工程学院,西安 710054;西安科技大学通信与信息工程学院,西安 710054【正文语种】中文引言教务管理是教育活动的重要支撑,随着高校教育改革的发展,高校人数的增加,但教学资源却相对有限的情况下,排课工作的难度和复杂程度都有所提高.因此,如何设计一个能满足多约束条件并且高效的排课系统成为了目前待解决的问题[1].排课系统的核心是排课,排课算法一个NP完全问题,即算法的计算时间呈指数增长[2].常用的排课算法有: 蚁群算法、遗传算法、贪心算法、图论算法等.遗传算法模拟生物进化过程,具有自适应全局寻优和智能搜索等优点,但是容易收敛得到局部近似最优解,进行大量的无用迭代,难以收敛于最优解[3,4].蚁群算法启发于蚂蚁寻找最优路径的行为,具有较强的鲁棒性,是一种正反馈算法.但当群体规模较大时,搜索初期信息素匮乏,容易产生停滞现象.单算法在解决问题时都会有局限性,花费的时间成本更多,求解的结果不理想[5,6].为了提高排课的效率和成功率,本文提出一种将遗传算法与蚁群算法结合使用的方法,首先使用遗传算法对初始种群进行优化选择,生成蚁群算法所需的信息素,再通过蚁群算法求得全局精确解.优劣互补,充分发挥两者的优势[7].1 排课问题的分析排课问题主要涉及教师、教室、课程、班级、上课时间等因素,排课的实质就是要求课程表在安排的时候不能在上述五个因素中发生冲突.可使用五个集合来表示这些因素.班级集合: C={C1,C2,C3,···,Cn}课程集合: S={S1,S2,S3,···,Sm}教师集合: T={T1,T2,T3,···,Tx}教室集合: R ={R1,R2,R3,···,Rt},教室有多种类型,例如实验室、多媒体教室、机房等,每个教室容纳的人数也不相同.时间段集合: P ={P1,P2,P3,···,Pi},Pi表示时间段,例如P 1为周一的1-2节课,P 2为3-4节课.时间和教室的笛卡儿积为: N = R * P ={(r1,p1),(r2,p2),…,(rn,pn)},N 中的元素是教室-时间对.排课问题由此转化为一门课寻找一个合适的教室时间对.1.1 硬约束条件硬约束是在排课过程中必须要遵守的约束条件,如果排课过程中无法遵守硬约束条件,则会导致日常的教学计划无法顺利的进行.例如:(1)同一个教师在同一时间段内只能够上一门课,并且教室的性质要和课程要求相吻合;(2)同一个班级在同一时间段内只能够接受一门课;(3)一门课程安排的教室座位数量要大于或等于本门课程上课的人数.1.2 软约束条件软约束条件需要将人体生物规律与排课进行结合.满足软约束条件越多,课表越能让教师与学生满意.例如:(1)尽量将专业课或者难度较大的课程安排在学生思维活跃的时间段;(2)体育课应安排在下午或者上午的第二大节,因为体育课后人体疲惫不适宜安排专业性过强的课程.2 算法概述2.1 遗传算法遗传算法是通过模拟生物界遗传选择和自然淘汰的生物进化过程的计算模型,借鉴了生物界适者生存、优胜劣汰的进化规律,从而演化的随机化搜索方法.遗传算法从一个种群开始,在这个种群中可能存在问题的潜在解,每个种群是由经过编码的N个个体组成,每个个体就是带有一定特征的染色体实体.在每一代中,选择适应度较大的个体进行培育,然后借助遗传学中的遗传算子进行多次组合交叉、变异等操作,产生出代表新的解集的种群.这样经过了多次演化之后得到的种群就可以看作问题的近似最优解.遗传算法的流程如下:(1)随机产生一定数量的初始种群,数量由业务需求定义.(2)对全部个体进行适应度的评估,如果某个个体的适应度已经满足最优化的要求,则输出此个体,并结束计算.否则转向第(3)步.(3)从所有个体中取出适应度较强的个体成为再生个体.(4)依据交叉概率,变异概率生成新的个体.(5)由上述两步交叉和变异产生新一代种群,然后返回第(2)步.2.2 蚁群算法蚁群算法是一个寻找最优路径的方法.蚂蚁在寻找食物的过程中,通过释放信息素留下信息,后面的蚂蚁就会根据路上的信息素来选择路径,信息素的浓度与行走的路程成反比,走的路途越长,信息素浓度越低,则越不容易找到,路途越短,信息素浓度含量越高.随着时间的推移最优路上的信息素浓度越大,最终蚁群会找到一个最优路径.2.3 遗传-蚁群混合算法遗传,蚁群算法是两大仿生算法,都有各自的优势和不足.遗传算法的优势在于在大范围内具有快速全局搜索的能力,但在处理反馈信息时利用率过低,容易过早的收敛,或求解到一定范围时会做大量的无用迭代,从而会降低求解过程中的效率.蚁群算法采用正反馈机制,具有较强的鲁棒性,使搜索过程不断收敛,有更好的全局优化能力.但是在搜索初期信息素分布较少时,求解速率较慢.而排课问题的实质就是一个NP完全问题,影响排课因素的细微变动,尤其是信息量一点点的增加,都会给排课带来“组合爆炸”灾难,当排课规模较大时,单算法在排课问题中就表现出局限性,会出现排课时间较长、排出的课表无法令教师学生满意等现象.因此,本文将两算法结合应用于排课问题中,首先利用遗传算法在大范围内快速的生成信息素分布,再利用蚁群算法求出全局最优解,优势互补,可以减少求解的时间,提高精确率.3 遗传-蚁群混合算法解决排课问题3.1 遗传算法在排课问题中的应用3.1.1 构造基因编码和染色体实施遗传算法的第一步就是对需要解决问题的参数进行基因编码,从而进行相关的遗传操作.本文采用二进制对编码数据进行设计.如表1所示.表1 编码方式教师ID 班级ID 课程ID 教室上课时间3.1.2 适应度函数在遗传算法的进化过程中,其根据适应度函数来确定进化方向.适应度是对课表优劣的一种体现.适应度越大则证明课表的效果越优秀.因此适应度函数直接决定着排课方案的寻优速率和能否找到最优解.所以这就需要制定一个合适的适应度函数(期望).在本文中,课表的期望值可以分为以下三种: 课程离散程度期望,节次优化度期望和特殊课程期望.(1)课程离散程度期望同一门课程安排的时间应该分布均匀,每周安排的时间不能分散也不能太集中.本文将每天的教学时间段分为4个,每周一共20个时间段.用编号相同课程的时差来表示离散程度的大小如表2所示.表2 课程离散程度期望时差 1,2,3,18,19 4,5,15,16,17 6,7,12,13,14 8,9,10,11期望 0.2 0.4 0.6 0.8每一个课程时差对应一个期望,期望函数公式为:(2)节次优化度期望值人体生物钟规律应与教学内容相匹配,逻辑思维活跃的时间段一般在早晨,而下午更容易疲倦所以学习效率较低.根据人体生物钟规律节次的不同的课程期望值也不同,如表3所示.表3 节次优化度期望值节次1,5,9,13,17 2,6,10,14,18 3,7,11,15,19 4,8,12,16,20期望 0.8 0.7 0.5 0.1对于难度比较大的课程就可以安排在期望值高的节次上,对于节次期望值函数的公式为:(3)特殊课程的期望值特殊课程包含体育课与自习课,此类课程最好安排在下午的第二节.当体育课结束后,人体处于疲倦状态,不适于将专业性过强的课程安排在体育课后.如表4对特殊课程给出了不同的期望.表4 特殊课程的期望值节次1,5,9,13,17 2,6,10,14,18 3,7,11,15,19 4,8,12,16,20期望 0 0 2 4对体育课排课就依据上表的期望值为:应将课表中没有课程的时间段安排给自习课.则计算特殊课程期望值的公式为:根据以上分析可得出适应度函数F,如下公式为:式中,K1,K 2,K 3为调控期望值对总期望影响程度的参数.3.1.3 种群操作当形成初始种群,并设计好适应度函数后,下一步就是要进行遗传操作.遗传算法包括三个基本操作: 选择、交叉和变异.(1)选择操作选择操作就是依照适应度的值保留优良的个体,适应度越高证明越近似于最优解.本文中保留优良个体的依据是期望值方法,选择期望值高的个体进行交叉变异操作.(2)交叉操作交叉操作就是把两个个体的部分结构进行替换重组从而产生新的个体.根据选择操作的结果,选择两条染色体作为父代,进行交叉操作.为了防止染色体的结构发生更改,本文的交叉操作只针对教室和上课时间,这样教师和班级都没有发生改变,维持了染色体原本的结构.同时设定交叉概率为 PJ ,若 P J大于随机值r(0<r<1),就进行交叉操作.(3)变异操作变异操作能够随机的对个体的局部进行搜索,提高种群的多样化.本文中的变异操作就是对染色体编码中教室和时间段的局部编码进行修改,可以提高染色体的适应度.同时设定变异概率为 P G ,若P G大于随机值r(0<r<1),就进行变异操作.3.2 蚁群算法在排课问题中的应用蚁群算法最初用于解决TSP(Traveling Salesman Problem),TSP具有广泛的代表意义,许多问题都可类似的抽象为TSP问题的求解.因此以TSP来描述蚁群算法的模型: 一只蚂蚁要去n个有食物的地区,它先随机选择一个地方作为起点,然后在逐个到达所有地区,留下信息素,最后再返回起点,每个地区只能到达一次,蚂蚁要怎么样选择顺序才能使行程最短.下面建立蚁群算法的数学模型:m为蚁群中的蚂蚁数量;n为问题的规模大小(有食物地方的个数);bi(t)为t时刻位于i地区的蚂蚁数量,故蚂蚁数量为:其中,τ ij(t)为 t时刻路径(i, j)上的信息素;µ ij(t)为蚂蚁从i到j地区的期望程度;pkij(t)为t时刻蚂蚁k从i转移到j的概率.蚂蚁k是根据τ ij(t)的结果来决定该往哪个方向前进,一般会选择τ ij(t)值高的路径,则蚂蚁k在t时刻由i地转移到j的概率为:其中,α为信息启发因子,表示在蚂蚁选择行走路径时信息量的影响;μ为期望启发式因子,表示启发信息对蚂蚁选择路径时产生的影响程度.在每只蚂蚁访问完所有的地区以后,每条路上的信息素浓度会发生变化,因此需要对信息素进行更新.其中,ρ是信息素挥发系数(0<ρ<1),1-ρ表示路径残留的信息素量;Δ τij(t)为从i到j地区路上增加的信息素量;Δ τkij(t)为蚂蚁k在i到j地区路上留下的信息素量;Q为表示信息素浓度;Lk为蚂蚁k需要行走的路径长度.3.2.1 蚁群算法的二分图模型当遇到需要用图结构解决的问题时可以使用蚁群算法.在本文中,用蚁群算法解决排课问题,首先需将排课问题用图结构G来描述:上式中, N是图的顶点;S是边的集合; C是边集有关的权值集合.排课问题涉及五个要素,在蚁群算法中这五个要素的关系可转化为“课程,教师,班级”关系与“时间,教师”关系,排课问题就是解决这两个关系所构成的二分图的最大匹配问题.(1)二分图的顶点集定义在本文将“课程,教师,班级”的关系定义为 R LSC,R LSC=L×S×C,R LSC 的元素组成的集合为G LSC,称其为二分图左侧的顶点集.“时间,教室”的的关系为RTR,RTR=T×R,R TR 的元素组成的集合为G TR,为二分图右侧的顶点集.(2)二分图的边集定义在排课中对教室的安排要满足两个要求: 一是安排人数不能大于教室座位数量,二是教室类型满足课程要求.因此,G LSC 与G TR之间只有满足上述两个基本要求的节点才能进行连接.二分图的边集就是G LSC中的节点与G TR中相匹配节点的连线.(3)二分图中边的权值每条边上的权值根据具体课程时间的期望度来构造.例如,较难的专业课嵌入式教师对课程的期望度是上午的第二节课,那么 GLSC中所有嵌入式课程与GTR中时间段为满足上午第二节的所有节点连接的边权值要尽可能的小.通过设置权值,才能更加合理的排出质量高的课表.3.2.2 二分图模型根据上节构造好的二分图模型,蚂蚁都是从左侧GLSC的顶点集出发,根据转移概率的值和边集在右侧GTR 寻找匹配的节点.然后再返回至G LSC进行下一次的搜索工作,如此反复直到蚂蚁为G LSC的顶点集全部安排好上课地点和时间后,一次循环结束.图1 二分图模型图1展示了蚂蚁一次循环的过程,蚂蚁从A1出发,则蚂蚁此次行走的路径为:其中,B1是第一次匹配的终点,A2是第二次匹配的起点,B1和A2可以看成是一个逻辑节点.同理,B4和A3在此次周游中也可以看成是相同的逻辑节点.3.3 遗传-蚁群混合算法在排课问题中的应用本文将遗传与蚁群算法进行混合,首先利用遗传算法生成信息素分布,在利用蚁群算法求出问题的精确解.在遗传算法生成信息素时,为了防止其在收敛后进行无用的迭代,要设置相应的终止条件.在运算工程中,当连续两次运算结果出现的差值小于0.01,或迭代100次,满足其中一个条件时可停止运算并将取得的最优解作为蚁群算法的初始解.蚁群算法在进行100次迭代之后,选择路径最短的解即可作为最优解.遗传-蚁群混合算法对排课问题解决步骤如图2所示.3.4 实验结果及分析为了验证遗传-蚁群混合算法在排课系统中的应用,选取一个学院对排课系统进行测试,该学院的专业数量为6,班级数量为21,约有800名学生,55名教师,22间教室,其中有16名教师对排课有特殊要求,排课单元为202.图2 遗传-蚁群混合算法流程图为了验证遗传-排课算法在排课系如中的实际使用效果,在排课单元为100,400,800的情况下,对遗传-蚁群混合算法、遗传算法、蚁群算法三种算法的排课效果、运算时间及适应度进行了比较.三种算法各测试10组数据后取得平均值.(1)实验参数设置遗传算法的参数设置如下: M=40,PJ=0.4,PG=0.02;蚁群算法设置的参数如下: m =6,α =1,β =4,ρ=0.25 ,Q =8 ,τ max=800 ,τ min=0.01 ,µ ij=1/cij,gen=100. (2)排课效果的比较通过以下四个指标来衡量排课课表的质量,如表5所示.1为违反硬约束的次数;2为一周有两次课程且间隔少于一天的次数;3为难度较大的课程安排在时间段不好的次数;4为教师的特殊要求未满足的次数.表5 排课效果比较排课方案遗传算法蚁群算法遗传-蚁群1 0 0 0 27.6 16.8 10.4 3 24.0 11.3 7.2 4 7.2 4.3 2.1 2如表5可以看出,遗传算法在软约束的冲突方面表现的最不理想,基于遗传-蚁群混合算法排出的课程表,在软约束方面的冲突次数最令人满意,课程表的可行性及质量都要优于单算法排出的课程表.(3)实验结果分析三种算法的平均运算时间如表5所示,平均适应度结果如表6所示.表6 运算时间比较排课单元遗传算法蚁群算法遗传-蚁群100 37 51 44 400 133 185 146 800 529 562 538表7 适应度比较排课单元遗传算法蚁群算法遗传-蚁群100 182 204 238 400 276 290 320 800 301 365 413由表6可得,每种算法随着排课单元的增加,所需要的排课时间随之增加.在排课单元相同的情况下,遗传算法需要的时间最短,而蚁群算法需要的时间最长.由表7可得,三种算法的适应度与排课的单元成正比.当排课单元相同时,遗传-蚁群混合算法的适应度最高.也就证明混合算法排出的课表最优.由此可见,在相同的条件下,遗传-蚁群混合算法排课消耗的时间比遗传算法高一些,但适应度却远远高于另外两个算法.说明混合算法解决排课问题具有良好的时间性能和优化性能.在选择最优课表时,可以将适应度最大的三个课表取出,根据定义排课质量的四个指标,满足软约束条件越多的课表则可作为最终使用的课表4 结论目前解决排课问题可使用的单算法很多,但混合算法却相对较少.本文提出了一种遗传-蚁群混合的排课算法,将两种算法的优势进行了结合.在经过测试后混合算法在运算时间上介于遗传与蚁群算法中间,但适应度高于单算法.混合算法不仅解决了单算法的局限性问题,还在排课效率上有所提高.参考文献【相关文献】1 薛冬梅.充分利用资源科学合理排课.中原工学院学报,2002,13(S1): 97-98.2 杜立智,陈和平,符海东.NP完全问题研究及前景剖析.武汉工程大学学报,2015,37(10): 73-78.3 朱剑冰,李战怀,赵娜.基于混合遗传算法的自动组卷问题的研究.计算机仿真,2009,26(5): 328-331,352.[doi: 10.3969/j.issn.1006-9348.2009.05.084]4 许秀林,胡克瑾.基于约束满足和遗传算法的排课算法.计算机工程,2010,36(14): 281-284.[doi: 10.3969/j.issn.1000-3428.2010.14.102]5 李俊,周虎,李波.基于虚拟蚂蚁的局部优化蚁群算法.控制与决策,1-10.[doi:10.13195/j.kzyjc.2018.0298]6 史文.基于遗传算法的自动排课系统设计与实现[硕士学位论文].成都: 电子科技大学,2013.7 宗薇.高校智能排课系统算法的研究与实现.计算机仿真,2011,28(12): 389-392.[doi: 10.3969/j.issn.1006-9348.2011.12.095]。
遗传算法与蚁群算法的效果比较
遗传算法与蚁群算法的效果比较随着计算机技术的发展,人工智能逐渐成为了一个热门话题。
其中,算法是实现人工智能的基础,而遗传算法和蚁群算法则是两种较为流行的算法。
那么,这两种算法的效果如何呢?今天,我们就来比较一下遗传算法与蚁群算法的效果。
一、遗传算法遗传算法,是一种基于自然选择和遗传进化的优化算法。
遗传算法是通过模仿自然界中的进化过程,不断地变异和选择,来获取优良解的算法。
遗传算法最开始是用来解决复杂的优化问题,如函数优化、组合优化等。
遗传算法实现的过程可以简单地分为三个部分:选择、交叉和变异。
选择是在种群中选择合适的个体,使其能够进入下一代;交叉是通过染色体的重组,产生新的个体;变异是在单个个体的染色体中引入一些随机变异。
遗传算法因其在搜索解空间上的出色表现而得到了广泛的应用。
但是,它也存在着一些问题。
如容易陷入局部最优解、算法计算时间长等。
二、蚁群算法蚁群算法是另一种流行的优化算法,它是一种模拟蚂蚁觅食的行为来处理最优解问题的方法。
蚁群算法的灵感来源于蚂蚁在寻找食物时的行为。
蚂蚁会留下信息素,使得其他蚂蚁找到食物的概率也会增大,从而实现了蚂蚁群体的集体智慧。
蚁群算法的优点在于它能够通过局部搜索来帮助找到全局最优解。
它的本质是通过不断调整问题的搜索关键字而找到最优解。
与遗传算法不同,蚁群算法能够通过一步步的迭代来逼近最优解,因此蚁群算法更适用于某些复杂问题的求解。
但是,蚁群算法存在的问题是需要调整参数才能达到最优解。
同时,蚁群算法对问题的输入比较敏感,也容易陷入局部最优。
三、效果比较上述两种算法都能用来解决优化问题,但具体哪一种优化效果更好呢?不同的优化问题需要不同的算法才能得到更加合适的解决方案。
下面,我们以某个实际问题作为例子,来比较一下这两种算法的效果。
假设有一个工厂需要完成一人任务,可以用五台机器加工。
不同的机器之间的加工时间不同,但是任务需要按照固定的顺序加工才能完成。
我们需要确定哪个工序分配给哪个机器,才能使得任务的加工时间最短。
基于遗传算法和蚁群算法融合的QoS路由算法
基 于遗传 算 法 和 蚁群 算 法 融合 的 Qo S路 由算 法 珠
刘 萍 ,高 飞, 杨 云
( 州大 学 计 算机 科 学与工程 系,江苏 扬 州 2 5 0 ) 扬 2 0 9 摘 要 :面 向 Q S路 由问题 , 计 了一 种基 于遗 传 算法 和蚁 群 算 法融合 的 Q S路 由算 法 ( o o t gagrh o 设 o Q Srui loi m n t
a d a tc l n l o i m n n o o y a g rt h
L U Pn 1 ig,GA F i O e ,YANG Yu n
( eto o p t c ne& E gneig agh uU i rt,Y nzo ins 20 9, hn ) D p.fC m ue Si c r e n i r ,Y nzo nv s) a ghuJ gu2 50 C ia e n e i a
中图分 类号 :T 3 3 P 9 文献标 志码 :A 文 章编 号 :10 —6 5 2 0 ) 9 0 2 —4 0 1 3 9 ( 0 7 0 —2 4 0
Q Sruiga oi m b sdo h o iaino e ei a oi m o o t l rh ae ntecmbnt f n t l rh n g t o g c g t
始解 , 其转换 为蚁群 算 法所 需的信 息素初值 , 将 然后 利 用蚁群 算 法求 取 最优 解 。设 置 遗 传算 法控 制 函数 来控 制
遗传 算法和蚁 群 算法融合 的适 当时机 。通过 与遗传 算 法 以及蚁 群 算法 的比较 , 一 步说 明算 法 的有效性 。 进
关键词 :遗 传算 法 ; 蚁群 算 法 ; 务质 量路 由 服
遗传,模拟退火,蚁群三个算法求解TSP的对比
数学与统计学院智能计算及应用课程设计设计题目:智能计算解决旅行商问题摘要本文以遗传算法、模拟退火、蚁群算法三个算法解决旅行商问题,将三个算法进行比较分析。
目前这三个算法广泛应用于各个领域中,本文以31个城市为例,运用遗传算法、模拟退火、蚁群算法分别进行了计算,将他们的计算结果进行了比较分析。
关键词:遗传算法模拟退火蚁群算法旅行商问题背景:遗传算法:20世纪60年代初,美国Michigan大学的John Holland教授开始研究自然和人工系统的自适应行为,在从事如何建立能学习的机器的研究过程中,受达尔文进化论的启发,逐渐意识到为获得一个好的算法仅靠单个策略建立和改进是不够的,还要依赖于一个包含许多候选策略的群体的繁殖,从而提出了遗传算法的基本思想。
20世纪60年代中期,基于语言智能和逻辑数学智能的传统人工智能十分兴盛,而基于自然进化思想的模拟进化算法则遭到怀疑与反对,但Holland及其指导的博士仍坚持这一领域的研究。
Bagley发表了第一篇有关遗传算法应用的论文,并首先提出“遗传算法”这一术语,在其博士论文中采用双倍体编码,发展了复制、交叉、变异、显性、倒位等基因操作算子,并敏锐地察觉到防止早熟的机理,发展了自组织遗传算法的概念。
与此同时,Rosenberg在其博士论文中进行了单细胞生物群体的计算机仿真研究,对以后函数优化颇有启发,并发展了自适应交换策略,在遗传操作方面提出了许多独特的设想。
Hollistien在其1971年发表的《计算机控制系统的人工遗传自适应方法》论文中首次将遗传算法应用于函数优化,并对优势基因控制、交叉、变异以及编码技术进行了深入的研究。
人们经过长期的研究,在20世纪}o年代初形成了遗传算法的基本框架。
1975年Holland 出版了经典著作“Adaptation in Nature and Artificial System",该书详细阐述了遗传算法的基本理论和方法,提出了著名的模式理论,为遗传算法奠定了数学基础。
遗传算法和蚁群算法在求解TSP问题上的对比分析
维普资讯
9 6
2 0 ,3 1 ) 0 7 4 ( 0
C m u r E gn e i n p l ai s 算 机 工 程 与 应 用 o p t n i r g a d A pi t n 计 e e n c o
遗传算法和蚁群算 法在 求解 T P问题上 的对 比分析 S
基于智能蚁群算法的双序列比对方法
1 双序列 比对数学模型
由于 D A序列由 A T c G四种碱基组成 , N , , ,
蛋 白质 序列 由 2 0种 氨基酸 残基 组成 , 因此 生物 序列
r
( )tr-e d的一 条路径 构成 一个 比对 。 4 s t+n a-
在 比对 中 , 蚁 向右方 向移 动 表示 在 l序 列 中 蚂 , 加入 一个 空位 ; 蚂蚁 向下方 向移 动 表示 在 序 列 ={ 1 ,) 一 ,
【 2 一 ,
≠ ∈
⑥
2 0 S i eh E gg 07 c .T c . nn.
基 于 智 能 蚁 群 算 法 的双 序 列 比对 方 法
彭 东海 骆 嘉伟 陈 斐
( 湖南大学 计算机 与通信学 院 ,长沙 4 0 8 ; 10 2 湖南人 文科技学 院计算机系 , 娄底 47 0 ) 10 0
=
{ C, G} A, , 。对 于蛋 白质 , 由 2 0种代 表 氨基 酸
的字符 组成 。
定义 2 对序列 s I I ,s 表示 s中的字符个数。 S i表示序列的第 i [] 个字符。s 1 ] [ …i表示序列的
前 个字 符组 成 的子序 列 。 定 义 3 “ ” 示 序 列 中插 入 或 删 除产 生 的 一 表
能具有 相 似 的三 维 结 构 和 生 物 学 功 能 J 。通 过 从 比对 中获得 的序列 信 息 可 以推 断 基 因 的结 构 、 能 功 和进化关 系 , 是生 物信 息学 的重 要研 究工具 。
蚁群算法与遗传算法的混合算法
蚁群算法与遗传算法的混合算法蚁群算法(Ant Colony Optimization,ACO)和遗传算法(Genetic Algorithm,GA)都属于启发式算法的范畴,它们分别从不同的角度对问题进行建模和求解。
蚁群算法以模拟蚁群觅食行为为基础,通过信息素和启发式规则指导蚂蚁解空间;而遗传算法通过模拟进化过程,利用交叉和变异运算生成新的个体,并适应性地选择个体进行下一代的繁衍。
两者在解决问题时有各自的局限性,因此将两种算法相结合,形成混合算法,可以克服各自的缺点,实现更有效的求解。
蚁群算法具有较强的全局能力,但其速度较慢,且可能会陷入局部最优解。
而遗传算法能够在过程中较快地收敛到局部最优解,但有可能会陷入局部最优解无法跳出。
因此,将两者结合起来,可以同时利用蚁群算法的全局和遗传算法的局部特性。
混合算法的基本思想是,将蚁群算法作为全局策略,用于生成一组较优的解,然后利用遗传算法在这组解中进行局部优化,以寻找最优解。
整个混合算法的流程如下:1.初始化蚁群相关参数和遗传算法的相关参数,包括蚁群大小、信息素更新速率、遗传算法的种群大小、交叉和变异的概率等;2.使用蚁群算法生成一组初始解,并计算每个解的适应度;3.利用遗传算法从初始解中选择适应度较高的一部分个体,作为种群;4.对种群进行交叉和变异操作,生成下一代个体;5.计算下一代个体的适应度;6.如果满足停止条件(如达到指定迭代次数或找到满意解),则输出结果;否则,返回第3步,继续优化。
在混合算法中,蚁群算法和遗传算法的相互作用可以通过以下几种方式实现:1. 优选策略(Elitism):将蚁群算法生成的一组解合并到遗传算法的种群中,在遗传算法的选择过程中保留一些蚁群算法生成的优秀个体,以避免遗传算法陷入局部最优解。
2.信息素启发式规则:将蚁群算法的信息素启发式规则应用于遗传算法的交叉和变异操作中,以指导交叉和变异过程中的方向,增加遗传算法的全局能力。
基于蚁群算法的双序列比对及其实现
基于蚁群算法的双序列比对及其实现作者:李宏周来源:《电子技术与软件工程》2018年第01期序列比对是生物信息学的基础,本文首先分析了基于动态规划的经典双序列比对方法,然后根据蚁群算法求解旅行商问题的思路,将旅行商问题与双序列比对问题简单比较了它们的异同点,并详述了基于蚁群算法的双序列比对步骤,根据双序列比对过程的具体特点,对基本蚁群算法各个参量以及更新公式进行了相应的修改,成功实现了基于蚁群算法的双序列比对过程。
【关键词】蚁群算法双序列比对更新公式序列比对是生物信息学的基础,通过在基因比对中获得大量的序列信息,可以推断基因的结构、功能和进化关系。
生物序列比对主要应用在生物信息学上,例如DNA双序列比对其相似性能够反映出两条DNA亲缘关系,实现生物基因识别技术;通过研究病变的生物蛋白序列和正常的序列,能够有效地研究病变机理甚至采取一定的预防措施。
在计算机领域,一般首先是将序列元素用不同的字符表示,一整条序列就可以用字符串来表示,因此,双序列比对问题就是比较两条字符串的相似性。
目前对于双序列比对方法主要是基于动态规划算法有经典的Needleman-Wunsch算法和Smith-Waterman算法,利用一定的打分规则和填充分值矩阵等步骤,可以进行序列的精确比对,主要包括比对和回溯两个过程,需要耗费大量的时间,对于较长序列,需要耗费大量存储空间来存储分值矩阵,因此,经典序列比对算法对机器性能有一定的要求。
对于此种方法的不足,主要有两方面的改进与优化,一是算法上的优化,二是硬件上的优化。
万文利用CUDA 开发平台实现了基于CPU与GPU异构系统来加速Smith-Waterman算法,并且对算法进行了深入分析,设计CPU+GPU的协同并行方案,对应用程序性能与系统性能有显著的提升效果。
夏飞利用FPGA器件结合通用处理器实现了算法加速器,并且设计了细粒度并行算法,成功解决了FPGA逻辑单元和存储资源在进行长序列比对时资源受限问题。
渐进方法结合蚁群算法求解多序列比对问题
维普资讯
渐进方法结合 蚁群算 法求解 多序列 比对 问题
陈 娟 - 陈 峻
( 州大学信 息 工程 学院计 算机 系, 苏扬 州 2 5 0 ) 扬 江 2 0 9 ( 南京大 学计 算机软件 新技 术 国 家重点 实验 室 , 南京 2 0 9 ) 10 3
《基于遗传—蚁群融合算法的聚类算法研究》范文
《基于遗传—蚁群融合算法的聚类算法研究》篇一基于遗传-蚁群融合算法的聚类算法研究一、引言随着大数据时代的到来,聚类算法在数据分析和处理中扮演着越来越重要的角色。
遗传算法和蚁群算法作为两种经典的优化算法,各自在聚类问题中表现出良好的性能。
然而,传统的聚类算法往往在处理复杂数据时存在局限性。
因此,本文提出了一种基于遗传-蚁群融合算法的聚类算法,旨在提高聚类的准确性和效率。
二、相关研究概述遗传算法是一种模拟自然进化过程的优化算法,具有较强的全局搜索能力。
蚁群算法则是一种模拟蚂蚁觅食行为的优化算法,具有较强的局部搜索能力和自适应性。
这两种算法在聚类问题中均有所应用,但各自存在局限性。
遗传-蚁群融合算法则是将这两种算法的优势结合起来,以提高聚类的效果。
三、遗传-蚁群融合算法的聚类算法设计1. 算法框架本文提出的基于遗传-蚁群融合算法的聚类算法主要包括三个步骤:初始化、遗传操作和蚁群操作。
在初始化阶段,算法随机生成初始聚类中心;在遗传操作阶段,通过遗传算法优化聚类中心;在蚁群操作阶段,利用蚁群算法优化聚类结果。
2. 遗传操作遗传操作包括选择、交叉和变异三个步骤。
在选择阶段,根据适应度函数选择优秀的个体;在交叉阶段,对选中的个体进行交叉操作,生成新的个体;在变异阶段,对个体进行随机变异,增加种群的多样性。
通过遗传操作,算法可以全局地搜索最优的聚类中心。
3. 蚁群操作蚁群操作主要利用蚁群算法的局部搜索能力和自适应性。
在蚁群操作阶段,每个蚂蚁根据当前的信息素和启发式信息选择下一个聚类中心,并通过信息素的更新机制逐步优化聚类结果。
蚁群操作可以在局部范围内搜索更优的聚类结果。
四、实验与分析为了验证本文提出的基于遗传-蚁群融合算法的聚类算法的有效性,我们进行了多组实验。
实验结果表明,该算法在处理复杂数据时具有较高的准确性和效率。
与传统的聚类算法相比,该算法在聚类效果和稳定性方面均有所提高。
此外,我们还对算法的参数进行了敏感性分析,以确定最佳参数组合。
蚁群算法及其在序列比对中的应用研究综述
蚁群算法及其在序列比对中的应用研究综述摘要:蚁群算法是一种新颖的仿生进化算法。
作为一种全局搜索的方法,蚂蚁算法具有正反馈性、并行性、分布性、自组织性等特点,自提出以来,便在求解复杂组合优化问题上显示出了强大的优势。
序列比对是生物信息学的基础,通过在比对中获得大量的序列信息,可以推断基因的结构、功能和进化关系。
本文首先详细阐述了蚁群算法的基本原理、各种改进技术及收敛性分析,然后对蚁群算法在双序列比对和多序列比对的应用研究进行了综述和评价,最后指出了下一步的研究方向。
关键词:蚁群算法;序列比对;信息素Abstract: Ant colony algorithm (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 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 Analysis 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; Pheromone1 引言蚁群算法(Ant Algorithm)是一种源于大自然中生物世界的新的仿生类算法,作为通用型随机优化方法,它吸收了昆虫王国中蚂蚁的行为特性,通过其内在的搜索机制,在一系列困难的组合优化问题求解中取得了成效。
基于迭代的遗传算法和蚁群算法研究
基于迭代的遗传算法和蚁群算法研究随着计算机技术的不断发展和普及,人工智能已经成为了解决复杂问题的重要手段之一。
遗传算法和蚁群算法是两种常用的基于迭代的优化算法,它们能够人工智能领域中的模拟进化和群体行为,逐步优化设计方案。
本文将对基于迭代的遗传算法和蚁群算法进行研究,探讨其在实际问题中的应用。
一、遗传算法遗传算法是一种基于自然进化原理的优化算法,主要是通过遗传、变异和选择等过程对最优解进行搜索和优化。
在遗传算法中,每一条染色体代表一个解的候选解,在进化过程中不断变异、交叉、选择直到找到满足要求的解决方案。
1、遗传算法的过程遗传算法是通过以下三个过程完成优化问题的求解的:(1)选择。
首先,随机选择一些合适的个体作为进化种群的父代群体,根据适应度函数,计算出各个个体的适应度值,然后将适应度值较高的个体加到父代中。
(2)交叉。
选择两个父代染色体进行交叉操作,用来产生新的染色体交配,新的染色体代表新的解,重复以上过程,进行迭代。
(3)变异。
在交叉过程中,可能会出现随机变异的情况,这时遗传算法会将染色体的数值进行接近原有数据的随机数值变化,以保持多样性。
2、遗传算法的优缺点相对于其他优化算法而言,遗传算法具有如下优点:(1)全局搜索能力。
遗传算法既能搜索局部最优解,也能搜索全局最优解,这是由于遗传算法的染色体表达能力高,搜索过程都会进行全局搜索。
(2)迭代简单。
遗传算法迭代过程简单,适合复杂的优化问题。
(3)可扩展性强。
遗传算法可以容易地针对复杂和多目标优化问题进行扩展。
缺点:(1)计算复杂度高。
无论是交叉、变异还是染色体的选择,都需要不少计算,执行效率不高。
(2)收敛速度慢。
由于遗传算法优化过程的模拟性质,从初始解到最终结果一次优化所需要的迭代次数较多,这个时间长且需要大量的计算资源。
二、蚁群算法蚁群算法是一种基于群体智能的优化算法,主要是模拟群体的行为,通过蚂蚁不断的搜索过程来找到优化的路径。
在蚁群算法中,每个蚂蚁都是一个独立的搜索者,它能够搜寻到的信息都存放在其使用的行进路线中,并与其它蚂蚁能够通过信息交流的方式形成协同搜索行为。
遗传算法和蚁群算法的比较
全局优化报告——遗传算法和蚁群算法的比较姓名:郑玄玄学号:3112054023班级:硕20411遗传算法1.1遗传算法的发展历史遗传算法是一种模拟自然选择和遗传机制的寻优方法。
20世纪60年代初期,Holland教授开始认识到生物的自然遗传现象与人工自适应系统行为的相似性。
他认为不仅要研究自适应系统自身,也要研究与之相关的环境。
因此,他提出在研究和设计人工自适应系统时,可以借鉴生物自然遗传的基本原理,模仿生物自然遗传的基本方法。
1967年,他的学生Bagley在博士论文中首次提出了“遗传算法”一词。
到70年代初,Holland教授提出了“模式定理”,一般认为是遗传算法的基本定理,从而奠定了遗传算法的基本理论。
1975年,Holland出版了著名的《自然系统和人工系统的自适应性》,这是第一本系统论述遗传算法的专著。
因此,也有人把1975年作为遗传算法的诞生年。
1985年,在美国召开了第一届两年一次的遗传算法国际会议,并且成立了国际遗传算法协会。
1989年,Holland的学生Goldberg出版了《搜索、优化和机器学习中的遗传算法》,总结了遗传算法研究的主要成果,对遗传算法作了全面而系统的论述。
一般认为,这个时期的遗传算法从古典时期发展了现代阶段,这本书则奠定了现代遗传算法的基础。
遗传算法是建立在达尔文的生物进化论和孟德尔的遗传学说基础上的算法。
在进化论中,每一个物种在不断发展的过程中都是越来越适应环境,物种每个个体的基本特征被后代所继承,但后代又不完全同于父代,这些新的变化,若适应环境,则被保留下来;否则,就将被淘汰。
在遗传学中认为,遗传是作为一种指令遗传码封装在每个细胞中,并以基因的形式包含在染色体中,每个基因有特殊的位置并控制某个特殊的性质。
每个基因产生的个体对环境有一定的适应性。
基因杂交和基因突变可能产生对环境适应性强的后代,通过优胜劣汰的自然选择,适应值高的基因结构就保存下来。
遗传算法就是模仿了生物的遗传、进化原理,并引用了随机统计原理而形成的。
基于遗传-蚁群算法的IFPUG的复杂度权值修正
基于遗传-蚁群算法的IFPUG的复杂度权值修正1. 引言介绍论文的背景、目的和意义,概括本文将讨论的遗传-蚁群算法以及IFPUG的复杂度权值修正方法。
2. 遗传-蚁群算法及其在复杂度权值修正中的应用介绍遗传-蚁群算法的基本原理及其在软件复杂度权值修正中的应用,包括相关概念和算法流程。
3. IFPUG的复杂度权值修正方法介绍IFPUG的复杂度权值修正方法,包括其基本原理、公式计算方法和实际应用中的问题。
4. 基于遗传-蚁群算法的IFPUG复杂度权值修正模型实现详细阐述基于遗传-蚁群算法的IFPUG复杂度权值修正模型的实现过程,包括算法实现、参数设置等。
5. 实验与分析通过实验验证,在同等数据集下,基于遗传-蚁群算法的IFPUG复杂度权值修正方法相对于传统方法具有更好的预测效果,分析结果并展望未来研究方向。
6. 结论总结全文,强调研究的目的和意义,并提出进一步改进与优化的方向。
第一章:引言在计算机科学领域,软件复杂度被认为是一个重要的问题。
这个问题随着计算机技术的发展,已经越来越引起人们的关注。
软件复杂度通常被定义为一个软件系统中的代码行数、数据结构和算法等方面的综合指标,这些方面都会影响软件系统的可维护性、可靠性以及其他性能指标。
因此,软件复杂度的准确评估和管理对于软件开发和维护至关重要。
为了解决软件复杂度问题,许多方法和技术被提出。
其中,利用软件度量对软件复杂度进行量化的方法是一种比较流行的方法,而IFPUG(International Function Point Users Group,国际功能点用户组)是一种被广泛应用的软件度量标准。
它可以通过数值评估软件系统的功能规模,用于确定软件系统开发和维护的成本、进度和质量等方面。
尽管IFPUG在软件度量方面取得了一些成功,但是实际应用中,其复杂度权值修正方法存在一定的缺陷。
传统的IFPUG 复杂度权值修正方法是通过专家经验和统计数据来推导复杂度权值,这种方法虽然直观简单,但是缺乏科学性和可靠性,并且不易推广。
多重序列比对的蚁群算法
收稿日期:2005-08-29 基金项目:国家自然科学基金资助项目(60473012);国家科技攻关项目(2003BA614A -14);江苏省自然科学基金(BK2005047);南京大学软件新技术国家重点实验室开放基金资助项目 作者简介:陈娟(1979-),女,硕士研究生,主要研究方向:生物计算和并行算法设计; 陈崚(1951-),男,教授,博士生导师,主要研究方向:算法设计和并行计算.文章编号:1001-9081(2006)06Z -0124-05多重序列比对的蚁群算法陈 娟1,陈 崚1,2(1.扬州大学信息工程学院,江苏扬州225009;2.南京大学计算机软件新技术国家重点实验室,江苏南京210093)(lchen@yzcn .net )摘 要:序列多重比对是生物信息学特别是生物序列分析中的一个重要的操作。
提出了一种解决多重序列比对的蚁群算法,利用了人工蚂蚁逐个选择各个序列中的字符进行配对。
在算法中,蚂蚁根据信息素、字符匹配得分以及位置偏差等信息决定选择各序列中的字符的概率,通过信息素的更新与调节相结合的策略,以及参数的动态自适应调节方法,较为有效地解决了局部收敛的问题,加强了算法寻求全局最优解的能力。
实验显示,该算法可以有效解决多重序列比对问题。
关键词:生物信息学;序列多重比对;蚁群算法中图分类号:TP301.6;TP18 文献标识码:A0 引言多重序列比对是生物信息学中的一个重要的问题,是基因识别、蛋白质结构预测、生物进化树的构建、基因组信息的分析等问题中用到的一个基本操作。
在生物信息学中,比对的序列可以是DNA 或者是蛋白质序列。
假设已发现一个基因,并且知道它的功能,可以将它与基因组数据库中所有的序列片段进行比对,如果某个序列与该基因很相似,则可能它们的功能也相似,并且它们可能是同源序列。
通过同源序列的多重比对,能够发现与结构域相关的保守序列片段。
对于一系列同源蛋白质,人们希望研究隐含在蛋白质序列中的系统发育的关系,以便更好地理解这些蛋白质的进化。
求解多重序列比对问题的蚁群算法
求解多重序列比对问题的蚁群算法
陈娟;陈崚
【期刊名称】《计算机应用研究》
【年(卷),期】2007(24)1
【摘要】多重序列比对是生物信息学特别是生物序列分析中一个重要的基本操作.提出求解多重序列比对问题的蚁群算法,利用人工蚂蚁逐个选择各个序列中的字符进行配对.在算法中,蚂蚁根据信息素、字符匹配得分以及位置偏差等信息决定选择各序列中字符的概率,通过信息素的更新与调节相结合的策略较为有效地解决了局部收敛的问题,加强了算法寻求全局最优解的能力.另外在该算法的基础上,提出了基于分治策略的多序列比对蚁群求解算法,不但减少了原算法的计算时间,而且显著改善了算法所求得的解的质量.
【总页数】6页(P25-30)
【作者】陈娟;陈崚
【作者单位】扬州大学,信息工程学院,计算机系,江苏,扬州,225009;扬州大学,信息工程学院,计算机系,江苏,扬州,225009;南京大学,计算机软件新技术国家重点实验室,江苏,南京,210093
【正文语种】中文
【中图分类】TP37;O141.3
【相关文献】
1.基于遗传算法和蚁群算法的多重序列比对 [J], 张维梅
2.渐进方法结合蚁群算法求解多序列比对问题 [J], 陈娟;陈崚
3.多重序列比对的蚁群算法 [J], 陈娟;陈崚
4.多重序列比对的蚁群算法 [J], 陈娟;陈峻
5.基于Progressive多序列比对方法的求解多序列比对的启发式算法 [J], 张津;郭茂祖;王亚东
因版权原因,仅展示原文概要,查看原文内容请购买。
遗传算法和蚁群算法地比较
全局优化报告——遗传算法和蚁群算法的比拟姓名:玄玄学号:3112054023班级:硕20411遗传算法1.1遗传算法的开展历史遗传算法是一种模拟自然选择和遗传机制的寻优方法。
20世纪60年代初期,Holland教授开始认识到生物的自然遗传现象与人工自适应系统行为的相似性。
他认为不仅要研究自适应系统自身,也要研究与之相关的环境。
因此,他提出在研究和设计人工自适应系统时,可以借鉴生物自然遗传的根本原理,模仿生物自然遗传的根本方法。
1967年,他的学生Bagley在博士论文中首次提出了“遗传算法〞一词。
到70年代初,Holland教授提出了“模式定理〞,一般认为是遗传算法的根本定理,从而奠定了遗传算法的根本理论。
1975年,Holland出版了著名的《自然系统和人工系统的自适应性》,这是第一本系统论述遗传算法的专著。
因此,也有人把1975年作为遗传算法的诞生年。
1985年,在美国召开了第一届两年一次的遗传算法国际会议,并且成立了国际遗传算法协会。
1989年,Holland的学生Goldberg出版了《搜索、优化和机器学习中的遗传算法》,总结了遗传算法研究的主要成果,对遗传算法作了全面而系统的论述。
一般认为,这个时期的遗传算法从古典时期开展了现代阶段,这本书如此奠定了现代遗传算法的根底。
遗传算法是建立在达尔文的生物进化论和孟德尔的遗传学说根底上的算法。
在进化论中,每一个物种在不断开展的过程中都是越来越适应环境,物种每个个体的根本特征被后代所继承,但后代又不完全同于父代,这些新的变化,假如适应环境,如此被保存下来;否如此,就将被淘汰。
在遗传学中认为,遗传是作为一种指令遗传码封装在每个细胞中,并以基因的形式包含在染色体中,每个基因有特殊的位置并控制某个特殊的性质。
每个基因产生的个体对环境有一定的适应性。
基因杂交和基因突变可能产生对环境适应性强的后代,通过优胜劣汰的自然选择,适应值高的基因结构就保存下来。
遗传算法就是模仿了生物的遗传、进化原理,并引用了随机统计原理而形成的。
基于改进蚁群算法的多序列比对
基于改进蚁群算法的多序列比对彭东海;骆嘉伟;袁辉勇【期刊名称】《计算机工程与应用》【年(卷),期】2009(045)033【摘要】In this paper,a multiple sequence alignment is presented based on improved ant colony algorithm.Some changes have done in the algorithm including the renewal mode of the pheromone,the select means of the characters,the search strategy of ants on the trip between ant nest and food,the random distributing of the ants beginning sequence.The results show that stagna-tion behavior of basic ant colony mutiple sequence alignment algorithm is avoided and a good ability of searching better solution in the last runs of the improved algorithm is achieved.%提出一种基于改进蚁群算法的多序列比对方法.该算法改变了信息素的更新方式、字符的选择方法、蚂蚁在蚁巢和食物之间往返搜索以及随机分配蚂蚁开始序列等.实验结果表明,改进后的算法不仅有效地克服了基本蚁群多序列比对算法中的停滞现象,而且即使在运行的后期,仍然能以极大的概率搜索较好解.【总页数】4页(P114-116,119)【作者】彭东海;骆嘉伟;袁辉勇【作者单位】湖南人文科技学院,计算机系,湖南娄底,417000;湖南大学,计算机与通信学院,长沙,410082;湖南人文科技学院,计算机系,湖南娄底,417000【正文语种】中文【中图分类】TP18【相关文献】1.基于改进蚁群算法的DNA双序列比对 [J], 李方洁;刘希玉;陈洁2.基于Progressive多序列比对方法的求解多序列比对的启发式算法 [J], 张津;郭茂祖;王亚东3.基于动态规划的Needleman-Wunsch双序列比对算法的分析与研究 [J], 甘秋云4.基于局部序列比对相似度的用户会话聚类新方法 [J], 姚瑶;周铜5.基于Spark云计算及混沌遗传的基因序列比对研究与实现 [J], 刘清雪;罗宇航因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
潍坊
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
又称 蚂蚁算 法 , 是一 种 模 拟进 化 算 法 。利 用 该 个 序列
假 设有 N个 比对序 列 S 、。 …… S , i 序 S 、 第 个
f rm — lc k,, ) t o ( ln + o o ( ln o lc k,, )
h一 1 d o
列 S 的长 度 为 I i, 列 中的 字符 看 作 是 蚂 蚁所 要 i S I序
中的第 一个 字符 出发 , 次选择 S 、 … 、 中的某 依 … S 个 字符 与之 匹配 。选 择 的概率取 决 于字符 的匹 配程
es l e以某 概 率选 择 空 位 , 以剩 余 概 率
e df n i e df n i
度、 匹配位 置偏 差 及 路 径 上 的 信息 素 。蚂 蚁也 可 以 选 择选择 S ( ek 1n ) n 1 ( ,, ) o 按 一定 的概 率选 择一个 空 位插 入到 序列 中 的某个 位
分点 , 利用 蚁群 算法对 划 分后 的子 序列进 行 比对 , 并
对各 参数 进行 初始 化 fr 一1t d / 为迭代 次数 o ot o/ t i frk oN o/ N 只 蚂蚁 均 匀 分 配 给 N o =1t d / frl o 1k d / S 的字符 循环 o 一1t S 0/ 对 k l frn oN d / 序列 循环 o =1t o/ 对
短序列 时 可 以获 得较 好 的 比对 质量 , 对 于长 序 列 集合 对应 了一 个 比对 。 但
的 比对 效果 则并 不理 想 。于是 本文 提 出一种 基 于遗 其 它蚂 蚁 也 以 同样 的 方 式 选 择 各 自的路 径 集 传算法 和蚁 群算 法 的多重 序列 比对 方法 。在 该方 法 合 , 只是 其处 理过 程 可 以不 从 序 列 S 始 , 开 以保 证 中引入 了分 而 治 之 的思 想 , 一 个 较 长 的 序列 集 分 解 的多样 性 。 将 为若 干个小 的 序 列集 , 利用 遗 传 算 法 计算 每一 次 划 12 An —Al n算法 描述 . t i g
i n > k hn f( < )t e
将各 比对结 果进 行拼 接 即可获 得原 始序列 的解 。 1 蚁 群算 法 算 法可 以有 效求 解一 些复 杂 的优 化 问题 , : 列 比 如 序 对 问题 、 度 问题 、 派 问题 、 调 指 聚类 问题等 。
1 1 基本 思・ . 想
第 8卷 第 4期
20 0 8年 7月
潍 坊 学 院 学报
J u n l fW efn ie st o r a ia I8 No 4
J 12 0 u. 0 8
基于遗传算法和蚁群算法 的多重序列 比对
张 维 梅
( 坊学 院 , 潍 山东
走 过 的路径 上 的结点 。算 法过 程为 :
计算 字符 选择 概率 P k ln m) ( ,, , 求 使得 P k ln m) 大的 m 值 ( ,, , 最 i ( m) S ( )t e f S ( 一 k1 h n选 择 S ( ) m)
( ) 先给 序列 S 分 配 一 个 蚂蚁 , 蚂蚁 从 S 1首 让 ,
对长序 列 分段 , 用蚁群 算 法对分段 后 的序 列进行 求解 , 利 然后 直接将 各段 的结果进 行拼接 即可 。 关键 词 : 比对 ; 蚁群 算 法 ; 遗传 算 法 中 图分类号 : 3 6 6 TP 0 . 文献标 识码 : A 文章 编 号 :6 1 2 8 2 0 )4 0 8 3 1 7 ~4 8 ( 0 8 0 一O 8 一O