论文标题

与务实交流的程序合成

Program Synthesis with Pragmatic Communication

论文作者

Pu, Yewen, Ellis, Kevin, Kryven, Marta, Tenenbaum, Josh, Solar-Lezama, Armando

论文摘要

程序合成技术从用户提供的规格(例如输入输出示例)构建或推断程序。然而,大多数规格,尤其是最终用户给出的规格,都使综合问题根本不足,因为许多程序可能同时满足规范。先前的工作通过使用各种归纳偏见(例如偏爱简单程序)来解决这种歧义。这项工作引入了一种新的归纳偏见,该偏见是通过将程序综合任务建模为合理沟通的,从递归的实用主义推理模型中汲取了见解。鉴于规格,我们在与规范的一致性上获得了候选计划,以及理性发言人是否会选择此特定规范来传达该程序。从输入输出示例中学习时,我们为这种方法开发了有效的算法,并通过简单的网格样布局域构建务实的程序合成器。一项用户研究发现,最终用户参与者在非弹药的过程中与务实的程序合成器进行了更有效的沟通。

Program synthesis techniques construct or infer programs from user-provided specifications, such as input-output examples. Yet most specifications, especially those given by end-users, leave the synthesis problem radically ill-posed, because many programs may simultaneously satisfy the specification. Prior work resolves this ambiguity by using various inductive biases, such as a preference for simpler programs. This work introduces a new inductive bias derived by modeling the program synthesis task as rational communication, drawing insights from recursive reasoning models of pragmatics. Given a specification, we score a candidate program both on its consistency with the specification, and also whether a rational speaker would chose this particular specification to communicate that program. We develop efficient algorithms for such an approach when learning from input-output examples, and build a pragmatic program synthesizer over a simple grid-like layout domain. A user study finds that end-user participants communicate more effectively with the pragmatic program synthesizer over a non-pragmatic one.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源