February 17, Wednesday
13:30 – 15:00
Figaro: an Object-Functional Probabilistic Programming Language
Graduate seminar
Lecturer : Dr. Avi Pfeffer
Affiliation : School of Engineering and Applied Sciences
Location : 202/37
Host : graduate seminar
Probabilistic models are ever growing in richness and diversity.
Probabilistic programming languages have the potential to make representing, reasoning about, and learning models easier by allowing them to be represented using the power of programming languages, and providing general reasoning and learning algorithms.
To this point, most probabilistic programming research has focused on the power of the languages and not on usability.
This paper presents Figaro, a probabilistic programming language that addresses usability without sacrificing power.
Figaro uses an object-functional style to achieve four goals.
First, it is implemented as an extensible library that can be used by Java programs.
Second, it can conveniently represent directed and undirected models with arbitrary constraints.
Third, it can naturally represent models with interacting objects Fourth, it provides for declarative algorithm specification.
Declarative algorithm specification means that algorithms are implemented as a library,
and model class designers declare which algorithms they support and what they require of related models in order to support those algorithms.
Given these specifications, the system automatically determines which algorithms can be applied to a given model.