展会信息港展会大全

一种遗传算法与模拟退火算法相结合的启发式搜索方法
来源:互联网   发布日期:2011-09-29 17:14:28   浏览:8504次  

导读: 遗传算法是应用于搜寻各类问题最优解的一种方法,因此,基于遗传算法来寻找最大简约树是适合的。但该算法有两个严重的缺点,容易导致过早收敛、以及在进化后期搜索效率低。基于最优原则的最大简约法的启发式搜索,将模拟退火算法引入遗传算法群体更新的阶段...

  遗传算法是应用于搜寻各类问题最优解的一种方法,因此,基于遗传算法来寻找最大简约树是适合的。但该算法有两个严重的缺点,容易导致过早收敛、以及在进化后期搜索效率低。基于最优原则的最大简约法的启发式搜索,将模拟退火算法引入遗传算法群体更新的阶段,既保证群体多样性,又在后期逐步加快收敛速度,克服遗传算法早熟现象,最终目标是尽量使得最大简约树的树长最小、搜索时间最短。

1 最大简约法算法描述

  最大简约法通过简约标准可以从现存后代的序列中客观地推测出祖先状态,不仅可以填补分子进化研究中的空白,更是对进化理论研究的重大贡献。利用最大简约方法构建系统发生树,实际上是一个对给定分类单元所有可能的树进行比较的过程,针对某一个可能的树,首先对每个位点祖先序列的核苷酸组成做出推断,然后统计每个位点阐明差异的核苷酸最小替换数目。在整个树中,所有简约信息位点最小核苷酸替换数的总和称为树的长度或树的代价。通过比较所有可能的树,选择其中长度最小、代价最小的树作为最终的系统发生树,即最大简约树。

2 遗传算法基本理论

  遗传算法(genetic algorithm)由美国HOLAND教授于1975年首次提出,是一类通过模拟生物界自然选择和自然遗传机制的随机化搜索算法[3]。遗传算法首先对问题的解进行编码,然后从一组随机产生的初始解(称为群体)开始搜索过程。群体中的每个个体是问题的一个解,称为染色体。遗传算法主要通过交叉、变异、选择运算实现,染色体的好坏用适应度来衡量。遗传算法中使用适应度的概念来度量群体中的每个个体在优化计算中达到最优解的优良程度。

3 模拟退火算法基本理论

  模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温度升高变为无序状,内能增大;而徐徐冷却时粒子渐趋有序,使每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。根据Metropolis准则,将内能E模拟为目标函数值f,温度T演化成控制参数t,由初始解i和t0开始,对当前解重复“产生新解→计算目标函数差→接受或舍弃”的迭代,并逐步衰减t值,算法终止时的当前解即为所得近似最优解。

4 基于遗传算法和模拟退火算法的最大简约法

  虽然从发现了“早熟”现象,并对它所提出的改进策略有多种,但都是从遗传算子本身寻找改进方法,并没有根本解决“早熟”现象,它仍然是困扰遗传算法的一个问题,所以当把遗传算法应用在进化树构建中时,并没有达到令人完全满意的效果。遗传算法把握总体的能力较强,但局部搜索能力较差;本文利用模拟退火算法对遗传算子进行改进,使遗传算法与模拟退火算法相结合,并应用在简约法构建进化树上。

  (1)编码方式、适应度函数和种群的初始化

  由于输入数据是核苷酸序列,由A,C,G,T(U)所组合而成,因此直接使用这四个字母,将输入的每一个核苷酸序列看成一个编码,不需要进行额外操作。

  使用简约法意义下的树长作为适应度函数,其值为进化树的适应值,为了加速算法的收敛,定义历史最大简约树为整个搜索过程中出现的具有历史最低适应值的树。

  根据输入的物种序列,随机产生初始群体。

  (2)选择退火算子

  将生成的初始群体

赞助本站

人工智能实验室
AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港