基因表达式编程(GEP)采用的已有单点重组、两点重组、插串等遗传操作有很大概率发生在基因的非编码区,导致搜索过程中遗传操作前后的基因解码成相同的表达式树,这在一定程度上影响了GEP的搜索性能。为解决这一问题,提出了一类基于开放读码框架的遗传算子,这类算子从基因的编码区中选取作用点,以保证遗传操作将改变编码区中的基因片段,从而使遗传操作后的基因能解码成不同的表达式树。实验结果表明,与已有的同类遗传算子相比,提出的遗传算子缩短了GEP算法进化代数,提高了算法的成功率。
The existing genetic operators such as one or two point recombination, and insertion sequence used by Gene Expression Programming(GEP)have a great chance to occur in non-coding region which leads to the genes decoding into the same expression tree after executing the genetic operators, and this, to a certain degree, reduces the search performance of the GEP algorithm. Aiming to solve this problem, this paper proposes a kind of genetic operator based on open read frame. This kind of operator selects change/insert points from the coding region of the genes, which can ensure the generated gene by executing the genetic operator to be decoded into a different expression tree. Experimental results show that the proposed genetic operators have shortened the evolution and improved the success rate of GEP compared with other similar genetic operators.