2016 · 112 citations · 26 references
ComputingComputer ScienceFormal MethodsProbability TheoryProgramming LanguagesMeasure-theoretic ProbabilityMonte Carlo SimulationProbabilistic ModelingRandom VariablesStatistical InferenceStochastic ProgrammingContinuous Probability DistributionsDenotational ModelsHigher-order FunctionsProbabilistic ComputationProbabilistic LogicProbabilistic ProgrammingProbabilistic SemanticsTransition Systems
We study the semantic foundation of expressive probabilistic programming languages, that support higher-order functions, continuous distributions, and soft constraints (such as Anglican, Church, and Venture). We define a metalanguage (an idealised version of Anglican) for probabilistic computation with the above features, develop both operational and denotational semantics, and prove soundness, adequacy, and termination. This involves measure theory, stochastic labelled transition systems, and functor categories, but admits intuitive computational readings, one of which views sampled random variables as dynamically allocated read-only variables. We apply our semantics to validate nontrivial equations underlying the correctness of certain compiler optimisations and inference algorithms such as sequential Monte Carlo simulation. The language enables defining probability distributions on higher-order functions, and we study their properties.
26
Notions of computation and monads
Eugenio Moggi · Information and Computation · 1991 · 1.7K citations
PyMC: Bayesian Stochastic Modelling in Python.
Anand P. Patil, David Huard, Christopher Fonnesbeck · PubMed · 2010 · 557 citations · Full text
Church: a language for generative models
Noah D. Goodman, Vikash K. Mansinghka, Daniel M. Roy et al. · arXiv (Cornell University) · 2012 · 510 citations · Full text
Semantics of probabilistic programs
Dexter Kozen · Journal of Computer and System Sciences · 1981 · 507 citations
A probabilistic powerdomain of evaluations
C Jones, Gordon Plotkin · 2003 · 350 citations