Why evolution is not a good paradigm for program induction: a critique of genetic programming
Why evolution is not a good paradigm for program induction: a critique of genetic programming
复制标题
为什么进化不是程序归纳的良好范式:对遗传编程的批判
DOI:
--
复制
发表时间:
2009
期刊:
影响因子:
--
通讯作者:
Ruibin Bai
中科院分区:
文献类型:
--
作者:
J. Woodward;Ruibin Bai
We revisit the roots of Genetic Programming (i.e. Natural Evolution), and conclude that the mechanisms of the process of evolution (i.e. selection, inheritance and variation) are highly suited to the process; genetic code is an effective transmitter of information and crossover is an effective way to search through the viable combinations. Evolution is not without its limitations, which are pointed out, and it appears to be a highly effective problem solver; however we over-estimate the problem solving ability of evolution, as it is often trying to solve "self-imposed" survival problems. We are concerned with the evolution of Turing Equivalent programs (i.e. those with iteration and memory). Each of the mechanisms which make evolution work so well are examined from the perspective of program induction. Computer code is not as robust as genetic code, and therefore poorly suited to the process of evolution, resulting in a insurmountable landscape which cannot be navigated effectively with current syntax based genetic operators. Crossover, has problems being adopted in a computational setting, primarily due to a lack of context of exchanged code. A review of the literature reveals that evolved programs contain at most two nested loops, indicating that a glass ceiling to what can currently be accomplished.