Probabilistic programming
Probabilistic programming languages are programming languages for creating probabilistic rule-based systems.
Online resources:
Languages
General
- Church
- 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
- BUGS
- Stan
- Created by Andrew Gelman, Bob Carpenter, et al (history of Stan )
- Carpenter et al, 2017: Stan: A probabilistic programming language (doi, pdf)
- Infer.NET [C#]
- Winn & Bishop, 2018: Model-based Machine Learning (online )
- Open sourced by Microsoft (GitHub )
Literature
See also literature on statistical relational learning.
- van de Meent, Paige, Yang, Wood, 2018: An Introduction to Probabilistic Programming (arxiv)