Practical Probabilistic Programming

  • Avi Pfeffer
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6489)


Probabilistic programming promises to make probabilistic modeling easier by making it possible to create models using the power of programming languages, and by applying general-purpose algorithms to reason about models. We present a new probabilistic programming language named Figaro that was designed with practicality and usability in mind. Figaro can represent models naturally that have been difficult to represent in other languages, such as probabilistic relational models and models with undirected relationships with arbitrary constraints. An important feature is that the Figaro language and reasoning algorithms are embedded as a library in Scala. We illustrate the use of Figaro through a case study.


Probabilistic modeling representation languages probabilistic programming 


  1. 1.
    Pfeffer, A.: The Design and Implementation of IBAL: A General-Purpose Probabilistic Language. In: Getoor, L., Taskar, B. (eds.) Statistical Relational Learning. MIT Press, Cambridge (2007)Google Scholar
  2. 2.
    Goodman, N.D., Mansinghka, V.K., Roy, D., Bonawitz, K., Tenenbaum, J.B.: Church: A Language for Generative Models. In: Uncertainty in Artificial Intelligence (UAI) (2008)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Avi Pfeffer
    • 1
  1. 1.Charles River AnalyticsCambridgeUSA

Personalised recommendations