Applied Concepts of Probabilistic Programming


  • Olga Ivanova



Probabilistic programming is one of the most rapidly growing areas of IT research nowadays arousing interest in academic circles (including research groups of MIT and Oxford), acknowledged IT leaders as Microsoft, well-established industrial customers and IT community all over the world.

The increasing interest to this relatively new direction can be accounted by practical applicability of probabilistic programming concepts in the context of machine learning.

Probabilistic programming looks into the possibilities of mapping theoretical concepts of the probability theory onto suitable practical programming techniques in order to handle the component of uncertainty in data. Effective dealing with uncertainty is essential for forecasts and analysis.

Probabilistic programmes operate with variables holding the quantified knowledge about the constituent elements of the modelled situation. Directed and undirected dependencies of these variables are expressed with  Bayesian and Markov networks accordingly.

An active interest of the academic community to the probabilistic programming encouraged appearance of various tools, designed to perform tasks of probabilistic inference. These tools include both frameworks of already existent GPLs and "purely" probabilistic programming systems.

Looking into different ways of developing reliable inference engines, as well as suitable generic means of creating probabilistic models is likely to be of interest for  the international IT community over the next years.

The paper gives an overview of the main concepts of probabilistic programming, currently existent tools and looks into the possible directions of development of probabilistic programming and its practical applications.