Declarative Probabilistic Programming with Datalog

Vince Barany, Balder Ten Cate, Benny Kimelfeld, Dan Olteanu, Zografoula Vagena

Research output: Contribution to journalArticlepeer-review

Abstract

Probabilistic programming languages are used for developing statistical models. They typically consist of two components: a specifcation of a stochastic process (the prior) and a specifcation of observations that restrict the probability space to a conditional subspace (the posterior). Use cases of such formalisms include the development of algorithms in machine learning and artifcial intelligence. In this article, we establish a probabilistic-programming extension of Datalog that, on the one hand, allows for defning a rich family of statistical models, and on the other hand retains the fundamental properties of declarativity. Our proposed extension provides mechanisms to include common numerical probability functions; in particular, conclusions of rules may contain values drawn from such functions. The semantics of a program is a probability distribution over the possible outcomes of the input database with respect to the program. Observations are naturally incorporated by means of integrity constraints over the extensional and intensional relations. The resulting semantics is robust under different chases and invariant to rewritings that preserve logical equivalence.

Original languageEnglish
Article number22
JournalACM Transactions on Database Systems
Volume42
Issue number4
DOIs
StatePublished - Nov 2017

Keywords

  • Chase
  • Datalog
  • declarative
  • probabilistic programming
  • probability measure space

All Science Journal Classification (ASJC) codes

  • Information Systems

Fingerprint

Dive into the research topics of 'Declarative Probabilistic Programming with Datalog'. Together they form a unique fingerprint.

Cite this