论文部分内容阅读
遗传程序设计(GP)作为演化计算中的一个新分支,已成为人工智能领域研究的一大热点。传统的GP采用树结构进行编码,进化过程需要操作复杂的语法树,使得算法实现较困难,影响搜索效率。为此,各国研究者在GP的基础上相继提出线性结构编码和图结构编码的遗传程序设计方案,其中线性结构编码GP成为研究的主要方向。本文主要探讨线性结构的基因表达式编程(GEP)和多表达式编程(MEP)算法的改进。GEP有编码简单且可解决复杂问题的优点,但存在进化辈数过大或者无法取得最优结果的情况,其核心原因在于演化过程中种群的基因多样性有限。MEP最主要的特点是一条染色体内包含多个表达式,其缺陷是多表达式增加了解码的复杂度。为改善GEP和MEP存在的问题,本文在已有的研究成果上对这两种算法进行了一些改进工作:1)提出了MEP染色体内基于相同基因片断共享评估值的思想。实现基于编码基因的评估方法,减少基因型转换为表现型的映射过程,从而加快个体的评估速度。2)将当前的MEP基因与同一染色体内已评估的基因进行比较,相同基因共享评估结果。最后通过若干个实验证明了共享评估算法提高了传统MEP的函数发现能力。3)分析GEP和MEP演化程序设计的优势和缺陷。将两种算法相结合提出了一种新的遗传程序设计方法多基因表达式程序设计(MGEP:Multi Gene ExpressionProgramming)。它通过改进GEP的解码方法实现,将MEP包含多个表达式的特点运用到GEP中。4)基于对传统GEP中广度优先建树方法的分析,以及数据结构中深度优先方式建立树的研究,将这两种建树方案同时引入到MGEP算法的解码策略中。从理论上证明了深度优先转换更有利于高效的解码和评估。5)通过实验比较深度优先建树的MGEP、广度优先建树的MGEP、标准GEP和MEP这四种算法基于相同函数挖掘的演化性能,主要比较进化辈数、个体多样性数目和精度等参数。实验结果表明MGEP有更强的自动函数发现能力,其原因是多解技术极大地丰富了种群中基因的多样性。