Probabilistic (logic) programming concepts

作者:Luc De Raedt, Angelika Kimmig

摘要

A multitude of different probabilistic programming languages exists today, all extending a traditional programming language with primitives to support modeling of complex, structured probability distributions. Each of these languages employs its own probabilistic primitives, and comes with a particular syntax, semantics and inference procedure. This makes it hard to understand the underlying programming concepts and appreciate the differences between the different languages. To obtain a better understanding of probabilistic programming, we identify a number of core programming concepts underlying the primitives used by various probabilistic languages, discuss the execution mechanisms that they require and use these to position and survey state-of-the-art probabilistic languages and their implementation. While doing so, we focus on probabilistic extensions of logic programming languages such as Prolog, which have been considered for over 20 years.

论文关键词:Probabilistic programming languages, Probabilistic logic programming, Statistical relational learning, Inference in probabilistic languages

论文评审过程:

论文官网地址:https://doi.org/10.1007/s10994-015-5494-z