We introduce a self-learning algorithm for synthesizing programs for OEIS sequences. The algorithm starts from scratch initially generating programs at random. Then it runs many iterations of a self-learning loop that interleaves (i) training neural machine translation to learn the correspondence between sequences and the programs discovered so far, and (ii) proposing many new programs for each OEIS sequence by the trained neural machine translator. The algorithm discovers on its own programs for more than 78000 OEIS sequences, sometimes developing unusual programming methods. We analyze its behavior and the invented programs in several experiments.
翻译:我们引入了一种综合 OEIS 序列程序的自学算法。 算法从零开始, 最初随机生成程序。 然后它运行了许多自学循环的迭代, 该循环的间断( 一) 训练神经机器翻译, 学习序列和迄今发现的程序之间的对应, (二) 由受过训练的神经机器翻译为OEIS 序列提出许多新的程序。 该算法在自己的程序上发现了超过 78000 OEIS 序列, 有时还开发了不寻常的编程方法。 我们在若干实验中分析了它的行为和发明的程序 。