In the task of automatic program synthesis, one obtains pairs of matching inputs and outputs and generates a computer program, in a particular domain-specific language (DSL), which given each sample input returns the matching output. A key element is being able to perform an efficient search in the space of valid programs. Here, we suggest a variant of MCTS that leads to state of the art results on two vastly different DSLs. The exploration method we propose includes multiple contributions: a modified visit count, a preprocessing procedure for the training dataset, and encoding the part of the program that was already executed.
翻译:在自动程序合成任务中,研究人员获取成对的输入输出样本,并生成一个特定领域语言(DSL)下的计算机程序,该程序对每个样本输入返回相应的输出。其关键要素在于能够在有效程序空间中高效搜索。本文针对两种截然不同的领域特定语言,提出一种改进型蒙特卡洛树搜索(MCTS)变体,并取得了当前最优结果。我们提出的探索方法包含多项创新:改进的访问计数机制、训练数据集的预处理流程,以及对已执行程序段进行编码的方法。