Probabilistic programming

Probabilistic programming languages are programming languages for creating probabilistic rule-based systems.

Online resources:

Languages

General

  • Church
    • Goodman & Tenenbaum, 2016: Probabilistic Models of Cognition (online )
    • Forest : repository of generative models
  • WebPPL [JavaScript]
    • Goodman & Stuhlmüller, 2014: Design and Implementation of Probabilistic Programming Languages (online )
    • Inspired by Church
  • ProbLog [Python]
    • Probabilistic extension of Prolog
    • De Raedt & Kimmig, 2015: Probabilistic (logic) programming concepts (doi)
  • BLOG (Bayesian Logic)
    • First probabilistic language with open-world assumption (unknown number of individuals)
    • Getoor & Taskar (ed.), 2007: Introduction to SRL, Ch. 13: “BLOG: Probabilistic models with unknown objects”

Bayesian inference for statistics

Literature

See also literature on statistical relational learning.

  • van de Meent, Paige, Yang, Wood, 2018: An Introduction to Probabilistic Programming (arxiv)