Black-Box Algorithm Synthesis – Divide-and-Conquer and More

02/24/2022
by   Ruyi Ji, et al.
0

Algorithm synthesis is a newly emerging branch of program synthesis, targeting to automatically apply a predefined class of algorithms to a user-provided program. In algorithm synthesis, one popular topic is to synthesize divide-and-conquer-style parallel programs. Existing approaches on this topic rely on the syntax of the user-provided program and require it to follow a specific format, namely single-pass. In many cases, implementing such a program is still difficult for the user. Therefore, in this paper, we study the black-box synthesis for divide-and-conquer which removes the requirement on the syntax and propose a novel algorithm synthesizer AutoLifter. Besides, we show that AutoLifter can be generalized to other algorithms beyond divide-and-conquer. We propose a novel type of synthesis tasks, namely lifting problems, and show that AutoLifter can be applied to those algorithms where the synthesis task is an instance of lifting problems. To our knowledge, AutoLifter is the first algorithm synthesizer that generalizes across algorithm types. We evaluate AutoLifter on two datasets containing 57 tasks covering five different algorithms. The results demonstrate the effectiveness of AutoLifter for solving lifting problems and show that though AutoLifter does not access the syntax of the user-provided program, it still achieves competitive performance compared with white-box approaches for divide-and-conquer.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/04/2018

Program Synthesis from Visual Specification

Program synthesis is the process of automatically translating a specific...
research
06/18/2020

IReEn: Iterative Reverse-Engineering of Black-Box Functions via Neural Program Synthesis

In this work, we investigate the problem of revealing the functionality ...
research
10/09/2020

Modeling Black-Box Components with Probabilistic Synthesis

This paper is concerned with synthesizing programs based on black-box or...
research
12/31/2020

Automatic Synthesis of Parallel and Distributed Unix Commands with KumQuat

We present KumQuat, a system for automatically synthesizing parallel and...
research
07/20/2020

SynRG: Syntax Guided Synthesis of Expressions with Alternating Quantifiers

Program synthesis is the task of automatically generating expressions th...
research
05/26/2021

The "given data" paradigm undermines both cultures

Breiman organizes "Statistical modeling: The two cultures" around a simp...
research
09/11/2016

Divide and...conquer? On the limits of algorithmic approaches to syntactic semantic structure

In computer science, divide and conquer (D&C) is an algorithm design par...

Please sign up or login with your details

Forgot password? Click here to reset