Leveraging constraint logic programming for neural guided program synthesis

Lisa Zhang, Gregory Rosenblatt, Ethan Fetaya, Renjie Liao, William E. Byrd, Raquel Urtasun, Richard Zemel

Research output: Contribution to conferencePaperpeer-review

5 Scopus citations

Abstract

We present a method for solving Programming by Example (PBE) problems that tightly integrates a neural network with a constraint logic programming system called miniKanren. Internally, miniKanren searches for a program that satisfies the recursive constraints imposed by the provided examples. Our Recurrent Neural Network (RNN) model uses these constraints as input to score candidate programs. We show evidence that using our method to guide miniKanren’s search is a promising approach to solving PBE problems.

Original languageEnglish
StatePublished - 2018
Externally publishedYes
Event6th International Conference on Learning Representations, ICLR 2018 - Vancouver, Canada
Duration: 30 Apr 20183 May 2018

Conference

Conference6th International Conference on Learning Representations, ICLR 2018
Country/TerritoryCanada
CityVancouver
Period30/04/183/05/18

Bibliographical note

Publisher Copyright:
© 6th International Conference on Learning Representations, ICLR 2018 - Workshop Track Proceedings. All rights reserved.

Funding

Research reported in this publication was supported in part by the Natural Sciences and Engineering Research Council of Canada, and the National Center For Advancing Translational Sciences of the National Institutes of Health under Award Number OT2TR002517. The content is solely the responsibility of the authors and does not necessarily represent the official views of the funding agencies.

FundersFunder number
National Institutes of HealthOT2TR002517
National Center for Advancing Translational Sciences
Natural Sciences and Engineering Research Council of Canada

    Fingerprint

    Dive into the research topics of 'Leveraging constraint logic programming for neural guided program synthesis'. Together they form a unique fingerprint.

    Cite this