HackerPapers

arXiv:1608.00139cs.AI

A Linear Algebraic Approach to Datalog Evaluation

Taisuke Sato

Abstract

In this paper, we propose a fundamentally new approach to Datalog evaluation. Given a linear Datalog program DB written using N constants and binary predicates, we first translate if-and-only-if completions of clauses in DB into a set Eq(DB) of matrix equations with a non-linear operation where relations in M_DB, the least Herbrand model of DB, are encoded as adjacency matrices. We then translate Eq(DB) into another, but purely linear matrix equations tilde_Eq(DB). It is proved that the least solution of tilde_Eq(DB) in the sense of matrix ordering is converted to the least solution of Eq(DB) and the latter gives M_DB as a set of adjacency matrices. Hence computing the least solution of tilde_Eq(DB) is equivalent to computing M_DB specified by DB. For a class of tail recursive programs and for some other types of programs, our approach achieves O(N^3) time complexity irrespective of the number of variables in a clause since only matrix operations costing O(N^3) or less are used. We conducted two experiments that compute the least Herbrand models of linear Datalog programs. The first experiment computes transitive closure of artificial data and real network data taken from the Koblenz Network Collection. The second one compared the proposed approach with the state-of-the-art symbolic systems including two Prolog systems and two ASP systems, in terms of computation time for a transitive closure program and the same generation program. In the experiment, it is observed that our linear algebraic approach runs 10^1 ~ 10^4 times faster than the symbolic systems when data is not sparse. To appear in Theory and Practice of Logic Programming (TPLP).

arXiv comments
19 pages, 1 figure
Journal reference
DOI
Subjects
cs.AIArtificial Intelligence

On Hacker News

Linked by 2 identifiable commenters in 4 comments across 4 threads, from Dec 2018 to Jan 2024. Found in 1 HN submission from Dec 2018 to Dec 2018. Open submission discussions.

Comments linking this paper, per year.

Discussed in comments4 threads

    • Wow 6 volumes. Added to the list. German is also fine if there is literature and I'm trying to work on my math understanding. I also found some interesting papers that solve i.e. datalog using matrices with algebraic methods. https://arxiv.org/abs/1608.00139 Guess I'll start…

      nisaView on HNParent context

  1. What is GraphBLAS? 1 comment
    • Hi Michel - You're working on a GraphBLAS Postgres implementation [0] -- here's an open question I've been pondering... [0] Postgres GraphBLAS https://github.com/michelp/pggraphblas Now that we have SOTA linear algebra models for graphs [1], logic [2] and the lambda calculus [3]…

      espeedView on HNParent context

    • And it's not just graphs...as referenced in the linked comments above, there are now linear algebra models that encode Datalog and/or the entire typed-lambda calculus as linear algebra matrix operations (and as shown in the Datalog paper [1], the Datalog linear algebra…

      espeedView on HNParent context

    • There's a new Datalog [1] implementation written in the language of linear algebra (similar in nature to the ideas behind GraphBLAS [2] "graph algorithms in the language of linear algebra"). Evidently the linear-algebra approach works well for Datalog too -- the paper below…

      espeedView on HNParent context

Submitted to Hacker News

Connected through shared HN threads, not inferred similarity or a recommendation.