论文标题

正式字段:跨域自动化代码生成的框架

Formal Fields: A Framework to Automate Code Generation Across Domains

论文作者

Basaldúa, Jacques

论文摘要

代码生成(定义为自动编写一件代码来解决评估功能存在)的代码是一个经典的硬性AI问题。它的一般形式是使用人类程序员从头开始使用的一般语言编写代码是不切实际的。在代码语法上增加约束,将特定域的概念作为原始概念实现,并为要学习的算法提供示例,这使其实用。正式字段是使用相同的算法和语言结构在跨域进行代码生成的框架。它的最终目标不仅是解决不同的狭窄问题,而且还提供必要的抽象以将许多工作解决方案纳入一个终生的推理系统。它提供了一个常见的语法来定义:域语言,问题及其评估。该框架从代码段的示例中学习了有关域语言结构的示例,并搜索了全新的代码段,以解决同一字段中看不见的问题。正式字段抽象搜索算法远离问题。搜索算法取自现有的增强学习算法。在我们的实施中,这是一个蒙特卡洛树搜索(MCT)。我们已将正式字段实施,作为应用于抽象推理挑战(ARC)的完全记录的开源项目。该实施发现了代码片段解决了22个以前未解决的弧问题。

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.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源