Program Synthesis Through Reinforcement Learning Guided Tree Search

06/08/2018
by   Riley Simmons-Edler, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/13/2023

Reinforcement Learning for Syntax-Guided Synthesis

Program synthesis is the task of automatically generating code based on ...
research
01/19/2021

Spatial Assembly: Generative Architecture With Reinforcement Learning, Self Play and Tree Search

With this work, we investigate the use of Reinforcement Learning (RL) fo...
research
10/13/2019

Neural Program Synthesis By Self-Learning

Neural inductive program synthesis is a task generating instructions tha...
research
12/12/2022

Reinforcement Learning and Tree Search Methods for the Unit Commitment Problem

The unit commitment (UC) problem, which determines operating schedules o...
research
05/30/2019

Learning Compositional Neural Programs with Recursive Tree Search and Planning

We propose a novel reinforcement learning algorithm, AlphaNPI, that inco...
research
01/10/2018

Neural Program Synthesis with Priority Queue Training

We consider the task of program synthesis in the presence of a reward fu...
research
01/23/2021

BF++: a language for general-purpose program synthesis

Most state of the art decision systems based on Reinforcement Learning (...

Please sign up or login with your details

Forgot password? Click here to reset