arXiv Analytics

Sign in

arXiv:2310.04327 [cs.LG]AbstractReferencesReviewsResources

Program Synthesis with Best-First Bottom-Up Search

Saqib Ameen, Levi H. S. Lelis

Published 2023-10-06Version 1

Cost-guided bottom-up search (BUS) algorithms use a cost function to guide the search to solve program synthesis tasks. In this paper, we show that current state-of-the-art cost-guided BUS algorithms suffer from a common problem: they can lose useful information given by the model and fail to perform the search in a best-first order according to a cost function. We introduce a novel best-first bottom-up search algorithm, which we call Bee Search, that does not suffer information loss and is able to perform cost-guided bottom-up synthesis in a best-first manner. Importantly, Bee Search performs best-first search with respect to the generation of programs, i.e., it does not even create in memory programs that are more expensive than the solution program. It attains best-first ordering with respect to generation by performing a search in an abstract space of program costs. We also introduce a new cost function that better uses the information provided by an existing cost model. Empirical results on string manipulation and bit-vector tasks show that Bee Search can outperform existing cost-guided BUS approaches when employing more complex domain-specific languages (DSLs); Bee Search and previous approaches perform equally well with simpler DSLs. Furthermore, our new cost function with Bee Search outperforms previous cost functions on string manipulation tasks.

Comments: Published at the Journal of Artificial Intelligence Research (JAIR)
Categories: cs.LG
Related articles: Most relevant | Search more
arXiv:2103.16080 [cs.LG] (Published 2021-03-30)
Geometry of Program Synthesis
arXiv:1807.00403 [cs.LG] (Published 2018-07-01)
Towards Mixed Optimization for Reinforcement Learning with Program Synthesis
arXiv:2012.06961 [cs.LG] (Published 2020-12-13, updated 2020-12-23)
Online Stochastic Optimization with Wasserstein Based Non-stationarity