Creating and Manipulating Probabilistic Programs with Figaro

Pfeffer, A.

Presented at the 2nd International Workshop on Statistical Relational AI, Catalina Island, CA (August 2012).

Probabilistic programming languages (PPLs) allow probabilistic models to be represented using the power of programming languages and general-purpose reasoning algorithms to be applied to new applications. This paper presents an approach to probabilistic programming in which the program is represented as a set of data structures using a rich library of model elements. While the data structures alone have the representational power of previous programming languages, the ability to create and manipulate them from within an ordinary program provides a number of benefits, including clean and natural ways to incorporate potentials and undirected models, represent models with inter-related objects, creating dynamic probabilistic programs, reason about multiple models simultaneously, and compile other languages. Our approach is implemented in Figaro, which has been released open-source.

For More Information

To learn more or request a copy of a paper (if available), contact A. Pfeffer.

(Please include your name, address, organization, and the paper reference. Requests without this information will not be honored.)