基于最佳优先自底向上搜索的程序合成
机器学习
2023-10-09 v1
摘要
代价引导的自底向上搜索(BUS)算法使用代价函数来引导搜索以解决程序合成任务。在本文中,我们指出当前最先进的代价引导BUS算法存在一个共性问题:它们可能丢失模型给出的有用信息,并且无法按照代价函数以最佳优先顺序执行搜索。我们提出了一种新颖的最佳优先自底向上搜索算法,称之为Bee Search,该算法不会遭受信息丢失,并能够以最佳优先方式执行代价引导的自底向上合成。重要的是,Bee Search在程序生成方面执行最佳优先搜索,即它甚至不会在内存中创建比解程序代价更高的程序。它通过在程序代价的抽象空间中进行搜索,实现了关于生成的Best-first排序。我们还引入了一种新的代价函数,能更好地利用现有代价模型提供的信息。在字符串操作和位向量任务上的实证结果表明,当采用更复杂的领域特定语言(DSL)时,Bee Search能够优于现有的代价引导BUS方法;而在较简单的DSL下,Bee Search与先前方法的性能相当。此外,在字符串操作任务上,我们的新代价函数结合Bee Search优于先前的代价函数。
引用
@article{arxiv.2310.04327,
title = {Program Synthesis with Best-First Bottom-Up Search},
author = {Saqib Ameen and Levi H. S. Lelis},
journal= {arXiv preprint arXiv:2310.04327},
year = {2023}
}
备注
Published at the Journal of Artificial Intelligence Research (JAIR)