The problem of automatic software generation is known as Machine Programming. In this work, we propose a framework based on genetic algorithms to solve this problem. Although genetic algorithms have been used successfully for many problems, one criticism is that hand-crafting its fitness function, the test that aims to effectively guide its evolution, can be notably challenging. Our framework presents a novel approach to learn the fitness function using neural networks to predict values of ideal fitness functions. We also augment the evolutionary process with a minimally intrusive search heuristic. This heuristic improves the framework's ability to discover correct programs from ones that are approximately correct and does so with negligible computational overhead. We compare our approach with several state-of-the-art program synthesis methods and demonstrate that it finds more correct programs with fewer candidate program generations.
翻译:自动软件生成问题被称为机器程序。 在这项工作中, 我们提出一个基于基因算法的框架来解决这个问题。 虽然基因算法已经成功地用于解决许多问题, 但有一个批评是, 手工制作其健身功能, 旨在有效指导其演变的测试, 可能非常具有挑战性。 我们的框架提出了一种新的方法来学习健身功能, 使用神经网络来预测理想健身功能的价值。 我们还以最小的侵入性搜索超常来扩大进化过程。 这种超常性提高了这个框架从那些基本正确并且以微不足道的计算间接成本来发现正确程序的能力。 我们比较了我们的方法和一些最先进的程序综合方法, 并表明它发现更正确的程序, 与较少的候选方案世代相比。