English

Neural Guided Constraint Logic Programming for Program Synthesis

Machine Learning 2018-10-29 v3 Machine Learning

Abstract

Synthesizing programs using example input/outputs is a classic problem in artificial intelligence. We present a method for solving Programming By Example (PBE) problems by using a neural model to guide the search of a constraint logic programming system called miniKanren. Crucially, the neural model uses miniKanren's internal representation as input; miniKanren represents a PBE problem as recursive constraints imposed by the provided examples. We explore Recurrent Neural Network and Graph Neural Network models. We contribute a modified miniKanren, drivable by an external agent, available at https://github.com/xuexue/neuralkanren. We show that our neural-guided approach using constraints can synthesize programs faster in many cases, and importantly, can generalize to larger problems.

Keywords

Cite

@article{arxiv.1809.02840,
  title  = {Neural Guided Constraint Logic Programming for Program Synthesis},
  author = {Lisa Zhang and Gregory Rosenblatt and Ethan Fetaya and Renjie Liao and William E. Byrd and Matthew Might and Raquel Urtasun and Richard Zemel},
  journal= {arXiv preprint arXiv:1809.02840},
  year   = {2018}
}

Comments

To appear in NIPS 2018