Optimizing Relational Programs II
summary
Proposes concrete methods to evaluate recursive Datalog by mapping relations to vectors/matrices over closed semirings and computing fixpoints with algebraic path algorithms and Newton-style acceleration: a cubic-time Floyd–Warshall-like algorithm computes closure for linear Datalog (matrix dimension n), matrix inversion reduces to the closure operator, and certain reducible graphs admit a nearly-linear (m α(m)) solution; non-linear recursion uses a semiring-safe Newton iteration (requires natural order and closure, defines a symbolic derivative and delta update), trading inner fixpoint cost for fewer outer iterations and better parallelism.
AI-written summary · about
chapters (7)
- 0:00Automata minimization
- 3:35Recursive Datalog overview
- 7:08Datalog as linear algebra
- 11:11Closed semirings and Kleene iteration
- 16:15Floyd-Warshall-Kleene for closure
- 21:59Newton’s method for Datalog
- 31:57Questions and discussion
related talks
05mRelational Programming
01h 08mAlgebraic Structures in Logic and Query Evaluation 4
01h 02mAlgebraic Structures in Logic and Query Evaluation 3
13mAccelerating Program Analyses in Datalog by Merging Library Facts
28mAlgorithmic Aspects of Semiring Provenance for Stratified Datalog
01h 01mDatalog and Equality Saturation
17mTowards Iterative Relational Algebra on the GPU
14mDeductive Optimization of Relational Data Storage
