论文部分内容阅读
遗传算法和遗传编程作为进化计算模型中的两个最典型的分支,已成为人工智能的研究热点。遗传算法采用线性编码解决简单问题,而遗传编程采用树结构编码来解决复杂问题。2001年,葡萄牙学者CandidaFerreira在遗传算法和遗传编程的基础上扬长避短,提出了基因表达式编程算法(Gene Expression Programming,简称GEP)。GEP克服了遗传算法和遗传编程各自的缺点,综合了它们的优点,通过简单紧凑的编码解决复杂的应用问题,易于进行遗传操作,其性能比遗传编程高出2-4个数量级。作为进化计算中的一个新分支,GEP的研究才开始,它需要更加坚实的理论基础来完善自己。本文在前人工作的基础上对GEP的研究现状、原理、不足、改进及应用进行了研究。本文的主要研究工作包括以下几个方面:(1)分析了传统GEP算法的局限性。(2)提出了一种新的GEP解码方法(Stack Decoding,SD),该方法利用堆栈直接对染色体进行解码和适应度评价,无需将染色体转换为表达式树,从而提高了算法的运行速度,并且通过符号回归实验进行了验证。(3)为了保持GEP进化过程中的种群多样性,在SD方法的基础上,以元胞自动机模型为框架,提出了基于堆栈解码的元胞基因表达式编程算法(Stack Decoding Based Cellular Gene Expression Programming,SD-CGEP),符号回归和预测分析实验表明该算法在运行速度和预精确度上均超过传统GP、G E P算法。(4)将GEP运用到组合优化领域,分析了GEP求解TSP问题的技术。针对传统GEP算法多样性不足的缺点,在GEP的基础上引入基因均匀分布策略和基于全局收敛策略的变重组、变异概率算子,提出了改进的GEP算法(Improved Gene Expression Programming,IGEP),并将其应用于求解TSP问题,实验表明IGEP在求解TSP问题上具有更优的性能。