Learning logic programs by discovering where not to search
This incremental improvement addresses efficiency and scalability issues in ILP for domains like program synthesis and game playing.
The paper tackles the problem of improving inductive logic programming (ILP) performance by discovering constraints on hypotheses before searching, which reduces learning times by up to 97% and scales to domains with millions of facts.
The goal of inductive logic programming (ILP) is to search for a hypothesis that generalises training examples and background knowledge (BK). To improve performance, we introduce an approach that, before searching for a hypothesis, first discovers where not to search. We use given BK to discover constraints on hypotheses, such as that a number cannot be both even and odd. We use the constraints to bootstrap a constraint-driven ILP system. Our experiments on multiple domains (including program synthesis and game playing) show that our approach can (i) substantially reduce learning times by up to 97%, and (ii) scale to domains with millions of facts.