Amortizing Pragmatic Program Synthesis with Rankings

09/01/2023
by   Yewen Pu, et al.
0

In program synthesis, an intelligent system takes in a set of user-generated examples and returns a program that is logically consistent with these examples. The usage of Rational Speech Acts (RSA) framework has been successful in building pragmatic program synthesizers that return programs which – in addition to being logically consistent – account for the fact that a user chooses their examples informatively. However, the computational burden of running the RSA algorithm has restricted the application of pragmatic program synthesis to domains with a small number of possible programs. This work presents a novel method of amortizing the RSA algorithm by leveraging a global pragmatic ranking – a single, total ordering of all the hypotheses. We prove that for a pragmatic synthesizer that uses a single demonstration, our global ranking method exactly replicates RSA's ranked responses. We further empirically show that global rankings effectively approximate the full pragmatic synthesizer in an online, multi-demonstration setting. Experiments on two program synthesis domains using our pragmatic ranking method resulted in orders of magnitudes of speed ups compared to the RSA synthesizer, while outperforming the standard, non-pragmatic synthesizer.

READ FULL TEXT
research
04/12/2021

On the Linear Ordering Problem and the Rankability of Data

In 2019, Anderson et al. proposed the concept of rankability, which refe...
research
04/05/2022

Efficient Pragmatic Program Synthesis with Informative Specifications

Providing examples is one of the most common way for end-users to intera...
research
11/22/2022

Genetic Algorithm for Program Synthesis

A deductive program synthesis tool takes a specification as input and de...
research
10/22/2019

Decidable Synthesis of Programs with Uninterpreted Functions

We identify a decidable synthesis problem for a class of programs of unb...
research
04/21/2018

A Nutritional Label for Rankings

Algorithmic decisions often result in scoring and ranking individuals to...
research
06/22/2020

Information-theoretic User Interaction: Significant Inputs for Program Synthesis

Programming-by-example technologies are being deployed in industrial pro...
research
06/22/2021

SynGuar: Guaranteeing Generalization in Programming by Example

Programming by Example (PBE) is a program synthesis paradigm in which th...

Please sign up or login with your details

Forgot password? Click here to reset