论文部分内容阅读
基因表达式编程是一种以线性染色体为基因型同时采用表达式树作为表现型的演化计算方法。随着对基因表达式编程研究的不断深入,基因表达式编程在理论和应用研究领域都取得了很多的重要进展,受到演化计算领域的广泛关注。 演化计算的核心问题包括表达理论、适应度设计和演化策略及遗传算子的设计。基因表达式编程作为一种演化计算技术,在研究中关于演化策略和遗传算子的设计有比较多的工作,也取得了很多的成果,但是其表达和搜索空间的理论问题仍然缺乏深入研究,这严重制约了基因表达式编程的进一步发展。基因表达式编程的表达理论研究主要包括表达效率和表达能力两个方面的重要问题。遗憾的是,现有的研究中关于表达效率和表达能力问题的研究成果并不充分。 围绕基因表达式编程的基因表达这个中心问题,针对基因表达式编程表达效率和表达能力方面的不足,本文提出了一些解决问题的办法。主要工作及创新点如下: 1)针对现有文献中较有影响的几种基因表达式编程代码重用技术,在分析其基本思路的基础上,通过严格的数学推导对其代码重用的性能进行了比较。另外,在数学推导的基础上,通过在从单变量简单函数到单变量高阶函数直到多变量函数发现问题的经验性实验验证,对多种算法的代码重用特点和性能进行了比较研究。 2)针对基因表达式编程模式理论中存在的不足,从基因型与表现型分离的角度对染色体的表达能力进行了定义,并阐述了基因型多样性与表现型多样性的区别,用严格的数学公式对不同的编码方式带来的表现型多样性进行了描述,从而使得基因表达式编程模式理论不再仅仅局限于基因型多样性的描述和比较,为今后进一步深入研究编码理论和代码重用奠定了重要的基础。 3)在表现型多样性研究的基础上,提出一种自适应的多表现型基因表达式编程算法(AMGEP算法)。算法通过充分利用现有的多基因表现型定理,以基因映射表作为基础,通过保存最优表现型的方法,提升算法的性能。通过在符号回归问题上的实验证明,AMGEP算法在求解问题的速度以及最优解的质量方面均优于现有的多种算法。 4)为了进一步研究基因表达式编程的种群多样性,本文首先讨论了三种基因表达式编程算法个体距离的计算公式,讨论了海明距离和现有的染色体距离公式的局限性,并阐述了使用编辑距离计算个体距离的合理性。在此基础上,本文提出了两种基于编辑距离的杂交算子:最远编辑距离杂交算子和最近编辑距离杂交算子,并在函数优化问题和分类规则挖掘上研究了两种算子的有用性。实验表明,这两种杂交算子在大部分问题上比随机选择杂交算子具有更好的搜索性能。 5)为了进一步充分发挥基因表达式编程在复杂实际问题上的表达能力,本文提出了一种混合遗传算法与图论模型的好友推荐算法,利用图论思想对社团进行划分,利用基于奇异值分解(SVD)的矩阵分解模型挖掘用户和项目自身的特征向量,并使用随机梯度下降法修复参数,提高推荐的精确度。最后,本文在KDD CUP2012的公共数据集上进行了测试。实验证明,本文提出的算法在社交网络在线好友推荐上取得了很好的推荐准确率。