Program Synthesis Through Reinforcement Learning Guided Tree Search
Program Synthesis is the task of generating a program from a provided specification. Traditionally, this has been treated as a search problem by the programming languages (PL) community and more recently as a supervised learning problem by the machine learning community. Here, we propose a third approach, representing the task of synthesizing a given program as a Markov decision process solvable via reinforcement learning(RL). From observations about the states of partial programs, we attempt to find a program that is optimal over a provided reward metric on pairs of programs and states. We instantiate this approach on a subset of the RISC-V assembly language operating on floating point numbers, and as an optimization inspired by search-based techniques from the PL community, we combine RL with a priority search tree. We evaluate this instantiation and demonstrate the effectiveness of our combined method compared to a variety of baselines, including a pure RL ablation and a state of the art Markov chain Monte Carlo search method on this task.
Code (0)
등록된 구현이 없습니다.
Tasks
Program Synthesisreinforcement-learningReinforcement LearningReinforcement Learning (RL)Similar Papers 제목 키워드 기반
Reinforcement Learning and Data-Generation for Syntax-Guided Synthesis
Program synthesis is the task of automatically generating code based on a specification. In Syntax-Guided Synthesis (SyGuS) this specification is a combination of a syntactic template and a logical formula, and the resul…
Program Synthesisreinforcement-learningReinforcement LearningLearning to Guarantee Type Correctness in Code Generation through Type-Guided Program Synthesis
Language models have shown remarkable proficiency in code generation; nevertheless, ensuring type correctness remains a challenge. Although traditional methods, such as constrained decoding, alleviate this problem by ext…
Program SynthesisCode GenerationProgram Synthesis Guided Reinforcement Learning for Partially Observed Environments
A key challenge for reinforcement learning is solving long-horizon planning problems. Recent work has leveraged programs to guide reinforcement learning in these settings. However, these approaches impose a high manual b…
MinecraftProgram Synthesisreinforcement-learningReinforcement Learning+1Deep Reinforcement Learning for Synthesizing Functions in Higher-Order Logic
The paper describes a deep reinforcement learning framework based on self-supervised learning within the proof assistant HOL4. A close interaction between the machine learning modules and the HOL4 library is achieved by …
Automated Theorem ProvingBIG-bench Machine LearningDeep Reinforcement Learningreinforcement-learning+3idSTLPy: A Python Toolbox for Active Perception and Control
This paper describes a Python toolbox for active perception and control synthesis of probabilistic signal temporal logic (PrSTL) formulas of switched linear systems with additive Gaussian disturbances and measurement noi…
Motion Planning