一种改进的基因表达式编程方法

文档序号:9453500阅读:451来源:国知局
一种改进的基因表达式编程方法
【技术领域】
[0001] 本发明涉及计算机人工智能领域技术领域,尤其涉及一种基因表达式编程方法。
【背景技术】
[0002] GEP(GeneExpressionProgramming,基因表达式编程)是从GAs(Genetic Algorithms,遗传算法)和遗传程序设计中发展而来的,它在吸收了二者优点的同时,又克 服了二者的不足之处,其显著特点就是可以利用简单编码解决复杂问题。基因表达式编程 相比GAs、遗传程序设计的主要差别在于染色体的编码方式不同。GEP中,一个基因型就代 表了一个染色体(染色体),一个基因型有多个基因组成,染色体是线性实体,可进行杂交、 变异等过程,而基因型与表现型的分离赋予基因表达式编程更灵活的全局空间搜索能力。
[0003] 传统的基因表达式用随机的方法产生初始种群,并采用适应函数来评价每一代的 染色体,也是根据适应值来进行选择、变异的过程。产生的新染色体会循环进行此过程,直 到达到预设的遗传代数或者找到问题的解。传统GEP存在的桎梏是早熟收敛和后期收敛减 慢。现有技术中,采取了一些措施来缓解这一弊端,如:采取根据特定问题初始化染色体的 方法;如:从副本取样进行杂交,自适应的控制基因组大小,如:采用杂交算子来提高算法 的性能,如:结合模拟退火算法和遗传机制的并行算法获得了较高的稳定性以及搜索能力。
[0004] 但是,现有解决措施在种群初始化时存在种群规模设置过小或者种群规模设置过 大的问题,种群规模设置过小可能丢失重要的元素;种群规模设置过大则可能产生大量重 复的元素,而GEP算法中种群初始化时基因的多样性将会直接影响后续染色体的多样性, 因此,现有解决措施均存在种群初始化时基因的多样性不足,进而导致现有GEP仍然存在 早熟收敛、后期收敛较慢、易陷入局部最优解的技术问题。

【发明内容】

[0005] 本发明实施例通过提供一种改进的基因表达式编程方法,解决了现有GEP仍然存 在早熟收敛、后期收敛较慢、易陷入局部最优解的技术问题。
[0006] 本发明实施例提供的一种改进的基因表达式编程方法,包括如下步骤:以染色体 长度为水平、由函数集和终止符集为因素生成一混合水平均匀表,其中,所述混合水平均匀 表由g个矩阵构建,g为一个染色体上的基因组成个数,所述混合水平均匀表的每行值代表 一个染色体;子代产生步骤:对基于所述混合水平均匀表产生的初始种群应用自适应多亲 杂交算子产生子代P,P依次取1,2,…,P,其中,P为预设最大遗传代数;对所述子代p应用 基因重组算子和Dc域重组算子进行进化处理,以获得与所述子代p对应的进化后子代;依 据精英选择策略从所述进化后子代中选择适应度最高的染色体为当前最优解;在所述当前 最优解为全局最优解或达到所述预设最大遗传代数时,结束遗传过程,否则令P=P+1后返 回所述子代产生步骤。
[0007] 优选的,所述以染色体长度为水平、由函数集和终止符集为因素生成一混合水平 均匀表,具体包括如下步骤:创建g个调整后等水平均匀表UnXk((nXk)h ? (v+1)t),其中,h 取值为染色体的头部长度,t取值为染色体的尾部长度,kg(v+l,f+v+l),v取值为所述终 止符集的元素数目,f?取值为所述函数集的元素数目,n为常量整数;将每个所述调整后等 水平均匀表UnXk((nXk)h* (v+m中的元素循环复制到对应的空白表中,每个所述空白表 被填满后形成子混合水平均匀表;根据形成的g个所述子混合水平均匀表创建出如下公式 表示的所述混合水平均匀表:Un>Kf+v+1) (g*(f+v+l)h ? (v+m,其中,h取值为染色体的头部长 度,t取值为染色体的尾部长度,v取值为所述终止符集的元素数目,f取值为所述函数集的 元素数目,n为常量整数,g取值为染色体上的基因组成个数。
[0008] 优选的,所述创建g个调整后等水平均匀表UnXk((nXk)h* (v+l)t),包括如下步 骤:创建原始等水平均匀表Un>Nk ((n*k)h+t),其中,h+t表示矩阵列数,h取值为染色体的头部 长度,t取值为染色体的尾部长度,n*k表示矩阵行数,kG(v+l,f+v+l),v取值为所述终 止符集的元素数目,f?取值为所述函数集的元素数目,n为常量整数;通过拟水平法调整所 述原始等水平均匀表;对调整后的所述原始等水平均匀表中染色体的头部长度进行限制, 以及虚拟出调整后的所述原始等水平均匀表的部分水平,以所述调整后等水平均匀表。
[0009] 优选的,所述对基于所述混合水平均匀表产生的初始种群应用自适应多亲杂交算 子产生子代P,具体为:将基于所述初始种群所产生父本的m*n个子段进行均匀杂交组合, 以产生所述子代P,其中,m表示所述父本包括染色体的数目,n表示所述父本中一个染色体 所划分子段的数目。
[0010] 优选的,在所述对所述子代P应用基因重组算子和DC域重组算子进行进化处理, 以获得与所述子代P对应的进化后子代之后,所述方法还包括:根据适应函数计算出所述 进化后子代中每个染色体的适应值;根据每个染色体的适应值,从所述进化后子代中选择 出预设百分比的精英染色体遗传到下一代中。
[0011] 优选的,所述将基于所述初始种群所产生父本的m*n个子段进行均匀杂交组合, 产生所述子代P,包括:从所述父本中选出m个基父本放入配对池;从所述父本中随机选择 m-1个从父本加入所述配对池;基于所述m个基父本与所述m-1个从父本构造出杂交算子 均匀表Ujnf),其中,UmOif)的每一行代表所述子代p中的一个染色体。
[0012] 本发明实施例提供的一个或多个技术方案至少具有如下技术效果或优点:
[0013] 通过在种群初始化时基于均匀设计思想,采用了混合水平均匀表使得初始样本均 匀分布,初始种群元素从元素集中均匀取样,既不会丢失重要的元素;也不会产生大量重复 的元素,从而保证了初始种群染色体的多样性。然后在遗传过程中采用自适应的多亲均匀 杂交算子产生子代,兼顾交叉和变异的特点。通过这两个技术的结合改进了基因表达式编 程的初始化和遗传变异过程,解决了现有技术面临的早熟收敛、收敛过程慢、易陷入局部最 优解的技术问题,均匀初始化染色体种群和采用自适应杂交算子使得解决复杂问题时具有 全局收敛性使得具有全局收敛性,收敛速度也获得了极大地提升。
[0014] 进一步,本发明实施例应用了多种遗传算子和淘汰机制的使用使得算法不易陷入 局部极值,提高了获得全局最优解的概率。
[0015] 2、本发明实施例中基于均匀设计思想生成混合水平均匀表的改进的基因表达式 编程方法相比正交设计也减少了实验次数。
【附图说明】
[0016] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据 提供的附图获得其他的附图。
[0017] 图1为本发明实施例中改进的基因表达式编程方法的流程图;
[0018] 图2为本发明实施例中生成一混合水平均匀表的流程图;
[0019] 图3为本发明实施例中自适应多亲杂交均匀算子的流程图。
【具体实施方式】
[0020] 为了解决现有GEP仍然存在早熟收敛、后期收敛较慢、易陷入局部最优解的技术 问题,本发明实施例提供了一种改进的基因表达式编程方法,总体思路如下:
[0021] 以染色体长度为水平、由函数集和终止符集为因素生成混合水平均匀表,然后在 遗传过程中采用自适应的多亲均匀杂交算子进行多代遗传产生子代,利用子代淘汰父代中 比较差的个体得到当前最优解,循环遗传得到全局最优解,或者达到预设的最大遗传代数 时就结束遗传过程。
[0022] 通过混合水平均匀表使得初始样本均匀分布,从而根据均匀分布的初始样本进行 遗传过程使得每次取样更具代表性,克服了早熟收敛和后期收敛较慢的缺陷。初始种群元 素从元素集中均匀取样,既不会丢失重要的元素;也不会产生大量重复的元素,从而保证了 初始种群染色体的多样性。自适应多亲均匀杂交算子兼顾了交叉和变异的特点。通过这两 个技术的结合改进了基因表达式编程的初始化和遗传变异过程,从而解决了现有技术面临 的早熟收敛、收敛过程慢、易陷入局部最优解的技术问题,均匀初始化染色体种群和采用自 适应杂交算子使得在解决复杂问题时具有全局收敛性,收敛速度也获得了极大地提升。
[0023] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1