Probabilistic Prolog systems

Over the past two decades, an increasing number of frameworks combining logical or relational languages with probability theory has been developed. Logic programming has shown to provide a solid base for such frameworks, from both the modeling and the implementation perspective. The overview presented here is dedicated to the main probabilistic Prolog systems that exist in the public domain. Despite their common foundation, these systems implement a variety of probabilistic languages originating from different backgrounds, including logic programming, knowledge representation, and machine learning. P-log extends Answer Set Prolog with causal probabilities and deliberate actions. Causality also forms the basis of CP-logic as implemented in the cplint and PITA systems. PRISM, AILog2 (implementing the independent choice logic) and ProbLog essentially all extend Prolog with independent probability distributions over groups of facts that induce distributions over possible worlds or least Herbrand models. Stochastic logic programs as implemented in Pepl introduce probabilistic choices in the resolution process; they are used in MCMCMS to specify models for statistical machine learning in a Bayesian framework. CLP(BN ) combines constraint logic programming with Bayesian networks.