Improving Inductive Program Synthesis by using Very Large Neighborhood Search and Variable-Depth Neighborhood Search
S.M. Rasing (TU Delft - Electrical Engineering, Mathematics and Computer Science)
Sebastijan Dumančić – Mentor (TU Delft - Algorithmics)
Casper Bach Poulsen – Graduation committee member (TU Delft - Programming Languages)
More Info
expand_more
Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.
Abstract
Brute, A state-of-the-art inductive program synthesis (IPS) system, introduced a two-phase algorithm; first, complex pro- gram instructions are invented from basic instructions. Sec- ond, a best-first search algorithm finds a sequence of invented instructions to solve an IPS task. This method is limited because invented instructions are always of the same com- plexity, also when less or more complexity is needed. Also, best-first search falls into local optima easily. In this paper, I describe Vlute, an IPS system using Large Neighborhood Search (LNS), in which a solution is gradually improved by exploring neighboring solutions, and Variable-Depth Invent (VDI), in which instruction complexity is increased dynami- cally. Vlute is tested on three IPS domains (robot-planning, string transformations, and drawing ASCII-art). Results show that using VDI improves Vlute’s performance only for string transformation. Vlute can outperform Brute and escape local optima encountered by Brute also only for string transforma- tion. A limitation of Vlute is finding large programs.