论文部分内容阅读
基因表达式编程(Gene Expession Programming)是由葡萄牙科学家F.Candida于2001年提出的一种新的基于基因型(genotype)和表现型(phenotype)的自适应进化算法,并成功的运用于函数发现、数据分类、时间序列、机器学习、优化组合、图像处理等问题中。GEP综合了遗传算法(GA)和遗传编程(GP)的各自优点,又克服了两者的各自缺点。它采用类似于GA中的固定长度的线性染色体作为个体(基因型),同时GEP又将个体转换为类似于GP个体的大小、形状都不同的非线性表达式树(表现型),因此,它可以利用简单编码解决复杂问题,而且可以方便的进行选择、交叉、变异等遗传操作。在求解很多复杂问题时,基因表达式编程的性能比普通的遗传编程高出2-4个数量级。但是,由于GEP是最近几年才发展起来的,GEP作为进化算法中的一个新的分支,研究才刚刚开始,没有像GA,GP等算法有坚实的数学基础和比较系统的方法理论。而且F.Candida在提出GEP时,很多理论是空白的,多是以实验和假设为基础,有很大的技术缺陷,所以GEP需要更加坚实的理论基础来填补空白,同时通过对算法改进,来提高GEP的运行时间效率和算法性能。本文主要在对GEP算法原理和缺陷的研究的基础上,提出了两种改进算法,并对改进算法进行了实验验证,效果很好。主要内容如下:(1)系统介绍了进化算法的主要分子,包含GA、GP、GEP算法主要原理、流程和不足之处等:(2)通过借鉴生物进化原理和分析GEP算法,并对传统GEP算法进行了两种改进,基于克隆选择的基因表达式算法(Clonal Selection-based GeneExpression Programming,CSGEP)和基于自适应分层的基因表达式算法(Adaptive Hierarchical Gene Expression Programming,AHGEP);(3)实验结果表明改进型算法与传统GEP算法相比,有效的改善了算法过早收敛的特点,并提高了算法运行效率,搜索性能,算法的成功率也有很大提高。