Neural Guided Constraint Logic Programming for Program Synthesis
This addresses the problem of efficient program synthesis for AI researchers and developers, representing an incremental improvement by combining neural guidance with existing logic programming.
The paper tackles program synthesis from input/output examples by integrating a neural model to guide a constraint logic programming system (miniKanren), resulting in faster synthesis and generalization to larger problems.
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.