Knowledge-Driven Program Synthesis via Adaptive Replacement Mutation and Auto-constructed Subprogram Archives

09/08/2022
by   Yifan He, et al.
0

We introduce Knowledge-Driven Program Synthesis (KDPS) as a variant of the program synthesis task that requires the agent to solve a sequence of program synthesis problems. In KDPS, the agent should use knowledge from the earlier problems to solve the later ones. We propose a novel method based on PushGP to solve the KDPS problem, which takes subprograms as knowledge. The proposed method extracts subprograms from the solution of previously solved problems by the Even Partitioning (EP) method and uses these subprograms to solve the upcoming programming task using Adaptive Replacement Mutation (ARM). We call this method PushGP+EP+ARM. With PushGP+EP+ARM, no human effort is required in the knowledge extraction and utilization processes. We compare the proposed method with PushGP, as well as a method using subprograms manually extracted by a human. Our PushGP+EP+ARM achieves better train error, success count, and faster convergence than PushGP. Additionally, we demonstrate the superiority of PushGP+EP+ARM when consecutively solving a sequence of six program synthesis problems.

READ FULL TEXT
research
10/19/2021

Using Program Synthesis and Inductive Logic Programming to solve Bongard Problems

The ability to recognise and make analogies is often used as a measure o...
research
04/28/2023

Adaptive Gravity Compensation Control of a Cable-Driven Upper-Arm Soft Exosuit

This paper proposes an adaptive gravity compensation (AGC) control strat...
research
07/06/2018

NAPS: Natural Program Synthesis Dataset

We present a program synthesis-oriented dataset consisting of human writ...
research
04/11/2018

Learning Abstractions for Program Synthesis

Many example-guided program synthesis techniques use abstractions to pru...
research
06/10/2021

PSB2: The Second Program Synthesis Benchmark Suite

For the past six years, researchers in genetic programming and other pro...
research
01/23/2021

BF++: a language for general-purpose program synthesis

Most state of the art decision systems based on Reinforcement Learning (...

Please sign up or login with your details

Forgot password? Click here to reset