Learning programs by combining programs

06/01/2022
by   Andrew Cropper, et al.
0

The goal of inductive logic programming is to induce a set of rules (a logic program) that generalises examples. Inducing programs with many rules and literals is a major challenge. To tackle this challenge, we decompose programs into non-separable fragments, learn fragments separately, and then combine them. We implement our approach in a generate, test, combine, and constrain loop. Our anytime approach can learn optimal, recursive, and large programs and supports predicate invention. Our experiments on multiple domains (including program synthesis and inductive general game playing) show that our approach can increase predictive accuracies and reduce learning times compared to existing approaches.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/16/2021

Learning logic programs through divide, constrain, and conquer

We introduce an inductive logic programming approach that combines class...
research
01/18/2023

Generalisation Through Negation and Predicate Invention

The ability to generalise from a small number of examples is a fundament...
research
06/10/2002

The Prioritized Inductive Logic Programs

The limit behavior of inductive logic programs has not been explored, bu...
research
08/05/2022

Learning programs with magic values

A magic value in a program is a constant symbol that is essential for th...
research
05/02/2020

The ILASP system for Inductive Learning of Answer Set Programs

The goal of Inductive Logic Programming (ILP) is to learn a program that...
research
07/25/2019

Logical reduction of metarules

Many forms of inductive logic programming (ILP) use metarules, second-or...
research
10/03/2022

Relational program synthesis with numerical reasoning

Program synthesis approaches struggle to learn programs with numerical v...

Please sign up or login with your details

Forgot password? Click here to reset