Learning logic programs by discovering where not to search
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.
Code (1)
Tasks
Inductive logic programmingProgram SynthesisSimilar Papers 제목 키워드 기반
Learning logic programs by discovering higher-order abstractions
We introduce the higher-order refactoring problem, where the goal is to compress a logic program by discovering higher-order abstractions, such as map, filter, and fold. We implement our approach in Stevie, which formula…
Inductive logic programmingProgram SynthesisVisual ReasoningShapeCoder: Discovering Abstractions for Visual Programs from Unstructured Primitives
Programs are an increasingly popular representation for visual data, exposing compact, interpretable structure that supports manipulation. Visual programs are usually written in domain-specific languages (DSLs). Finding …
"Would life be more interesting if I were in AI?" Answering Counterfactuals based on Probabilistic Inductive Logic Programming
Probabilistic logic programs are logic programs where some facts hold with a specified probability. Here, we investigate these programs with a causal framework that allows counterfactual queries. Learning the program str…
counterfactualCounterfactual ReasoningHeuristic SearchInductive logic programmingLearning large logic programs by going beyond entailment
A major challenge in inductive logic programming (ILP) is learning large programs. We argue that a key limitation of existing systems is that they use entailment to guide the hypothesis search. This approach is limited b…
Inductive logic programmingProgram SynthesisThe Struggle for Existence: Time, Memory and Bloat
Combining a spatiotemporal, multi-agent based model of a foraging ecosystem with linear, genetically programmed rules for the agents' behaviors results in implicit, endogenous, objective functions and selection algorithm…