Probabilistic (logic) programming concepts
Probabilistic (logic) programming concepts
复制标题
DOI:
10.1007/s10994-015-5494-z
复制
发表时间:
2015-07-01
期刊:
影响因子:
7.5
通讯作者:
Kimmig, Angelika
中科院分区:
文献类型:
--
作者:
De Raedt, Luc;Kimmig, Angelika
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.