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 involve solving computationally difficult combinatorial problems, or performing parameter estimation in complex statistical models. In this paper, we present Difflog, a technique to extend the logic programming language Datalog to the continuous setting. By attaching real-valued weights to individual rules of a Datalog program, we naturally associate numerical values with individual conclusions of the program. Analogous to the strategy of numerical relaxation in optimization problems, we can now first determine the rule weights which cause the best agreement between the training labels and the induced values of output tuples, and subsequently recover the classical discrete-valued target program from the continuous optimum. We evaluate Difflog on a suite of 34 benchmark problems from recent literature in knowledge discovery, formal verification, and database query-by-example, and demonstrate significant improvements in learning complex programs with recursive rules, invented predicates, and relations of arbitrary arity.
Code (0)
등록된 구현이 없습니다.
Tasks
parameter estimationProgram SynthesisSimilar Papers 제목 키워드 기반
Datalog Rewritability of Disjunctive Datalog Programs and its Applications to Ontology Reasoning
We study the problem of rewriting a disjunctive datalog program into plain datalog. We show that a disjunctive program is rewritable if and only if it is equivalent to a linear disjunctive program, thus providing a novel…
Boolean Matrix Logic Programming
We describe a datalog query evaluation approach based on efficient and composable boolean matrix manipulation modules. We first define an overarching problem, Boolean Matrix Logic Programming (BMLP), which uses boolean m…
Query Evaluation in DatalogMTL -- Taming Infinite Query Results
In this paper, we investigate finite representations of DatalogMTL models. First, we discuss sufficient conditions for detecting programs that have finite models. Then, we study infinite models that eventually become con…
Computing H-Partitions in ASP and Datalog
A $H$-partition of a finite undirected simple graph $G$ is a labeling of $G$'s vertices such that the constraints expressed by the model graph $H$ are satisfied. For every model graph $H$, it can be decided in non-determ…
NegationA Hybrid Approach to Query Answering under Expressive Datalog+/-
Datalog+/- is a family of ontology languages that combine good computational properties with high expressive power. Datalog+/- languages are provably able to capture the most relevant Semantic Web languages. In this pape…