Inductive logic programming at 30: a new introduction
Inductive logic programming (ILP) is a form of machine learning. The goal of ILP is to induce
a hypothesis (a set of logical rules) that generalises training examples. As ILP turns 30, we …
a hypothesis (a set of logical rules) that generalises training examples. As ILP turns 30, we …
Turning 30: New ideas in inductive logic programming
Common criticisms of state-of-the-art machine learning include poor generalisation, a lack of
interpretability, and a need for large amounts of training data. We survey recent work in …
interpretability, and a need for large amounts of training data. We survey recent work in …
Inductive logic programming at 30
Inductive logic programming (ILP) is a form of logic-based machine learning. The goal is to
induce a hypothesis (a logic program) that generalises given training examples and …
induce a hypothesis (a logic program) that generalises given training examples and …
Provenance-guided synthesis of datalog programs
We propose a new approach to synthesize Datalog programs from input-output
specifications. Our approach leverages query provenance to scale the counterexample …
specifications. Our approach leverages query provenance to scale the counterexample …
Learning security classifiers with verified global robustness properties
Many recent works have proposed methods to train classifiers with local robustness
properties, which can provably eliminate classes of evasion attacks for most inputs, but not …
properties, which can provably eliminate classes of evasion attacks for most inputs, but not …
Synthesizing datalog programs using numerical relaxation
The problem of learning logical rules from examples arises in diverse fields, including
program synthesis, logic programming, and machine learning. Existing approaches either …
program synthesis, logic programming, and machine learning. Existing approaches either …
Algebro-geometric algorithms for template-based synthesis of polynomial programs
Template-based synthesis, also known as sketching, is a localized approach to program
synthesis in which the programmer provides not only a specification, but also a high-level" …
synthesis in which the programmer provides not only a specification, but also a high-level" …
Structuring the synthesis of heap-manipulating programs
This paper describes a deductive approach to synthesizing imperative programs with
pointers from declarative specifications expressed in Separation Logic. Our synthesis …
pointers from declarative specifications expressed in Separation Logic. Our synthesis …
GALOIS: boosting deep reinforcement learning via generalizable logic synthesis
Despite achieving superior performance in human-level control problems, unlike humans,
deep reinforcement learning (DRL) lacks high-order intelligence (eg, logic deduction and …
deep reinforcement learning (DRL) lacks high-order intelligence (eg, logic deduction and …
Synthesizing database programs for schema refactoring
Many programs that interact with a database need to undergo schema refactoring several
times during their life cycle. Since this process typically requires making significant changes …
times during their life cycle. Since this process typically requires making significant changes …