In plain words: It evolves tiny programs by testing code, keeping the best versions, and randomly changing them, inside a very small language with a built-in checker that keeps the search safe and fast. It wrote working programs from minimal human hints using only ordinary desktop processors.
Abstract
In this paper, we present the first-of-its-kind machine learning (ML) system, called AI Programmer, that can automatically generate full software programs requiring only minimal human guidance. At its core, AI Programmer uses genetic algorithms (GA) coupled with a tightly constrained programming language that minimizes the overhead of its ML search space. Part of AI Programmer's novelty stems from (i) its unique system design, including an embedded, hand-crafted interpreter for efficiency and security and (ii) its augmentation of GAs to include instruction-gene randomization bindings and programming language-specific genome construction and elimination techniques. We provide a detailed examination of AI Programmer's system design, several examples detailing how the system works, and experimental data demonstrating its software generation capabilities and performance using only mainstream CPUs.
Kory Becker, Justin Gottschlich
arXiv:1709.05703 · cs.AI, cs.NE · submitted Sep 17, 2017
abstract · pdf · html