Probabilistic programming languages provide an intuitive way to model
uncertainty by expressing complex probabilistic models as computer programs.
In this talk, I will give an overview of probabilistic programming from the
programming languages perspective, present PSI (http://www.psisolver.org), a
novel symbolic analysis system for exact inference in probabilistic programs,
and show some of its applications.
PSI computes succinct symbolic representations of the joint posterior
distribution represented by a probabilistic program using static analysis.
PSI supports programs with both discrete and continuous distributions. It can
compute answers to various posterior distribution queries, expectation queries
and assertion queries using its own backend for symbolic reasoning. Our
evaluation shows that PSI is more effective than existing exact inference
approaches: (i) it successfully computed a precise result for more programs,
and (ii) simplified expressions that existing computer algebra systems (e.g.,
Mathematica, Maple) failed to handle.