AIPLJul 28, 2020

Formal Fields: A Framework to Automate Code Generation Across Domains

arXiv:2007.14075v12 citationsHas Code
Originality Incremental advance
AI Analysis

This addresses the hard AI problem of code generation for researchers and practitioners by providing a framework to integrate solutions across domains, though it is incremental as it builds on existing reinforcement learning algorithms.

The paper tackles the problem of automating code generation across domains by introducing the Formal Fields framework, which uses a common grammar and learns from examples to generate code for unseen problems, resulting in solving 22 previously unsolved problems in the Abstract Reasoning Challenge.

Code generation, defined as automatically writing a piece of code to solve a given problem for which an evaluation function exists, is a classic hard AI problem. Its general form, writing code using a general language used by human programmers from scratch is thought to be impractical. Adding constraints to the code grammar, implementing domain specific concepts as primitives and providing examples for the algorithm to learn, makes it practical. Formal fields is a framework to do code generation across domains using the same algorithms and language structure. Its ultimate goal is not just solving different narrow problems, but providing necessary abstractions to integrate many working solutions as a single lifelong reasoning system. It provides a common grammar to define: a domain language, a problem and its evaluation. The framework learns from examples of code snippets about the structure of the domain language and searches completely new code snippets to solve unseen problems in the same field. Formal fields abstract the search algorithm away from the problem. The search algorithm is taken from existing reinforcement learning algorithms. In our implementation it is an apropos Monte-Carlo Tree Search (MCTS). We have implemented formal fields as a fully documented open source project applied to the Abstract Reasoning Challenge (ARC). The implementation found code snippets solving twenty two previously unsolved ARC problems.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes