By Luc De Raedt (1), Angelika Kimmig (1), and Vitor Santos Costa (2)
(1) Department of Computer Science, K.U. Leuven
(2) CRACS-INESC LA and DCC/FCUP, Portugal
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 dierent backgrounds, including logic programming, knowledge representation, and machine learning.
P-log (by Chitta Baral, Michael Gelfond, J. Nelson Rushton, Weijun Zhu) extends Answer Set Prolog with causal probabilities and deliberate actions. Causality also forms the basis of CP-logic as implemented in the cplint_pita (by Fabrizio Riguzzi) systems. PRISM (by Taisuke Sato and Yoshitaka Kameya), AILOG2 (by David Poole – implementing the independent choice logic) and ProbLog (by Angelika Kimmig, Bernd Gutmann, Theofrastos Mantadelis, Guy Van den Broeck, Vitor Santos Costa, Gerda Janssens, and Luc De Raedt) 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 (by Jianzhong Chen, Stephen Muggleton, James Cussens, and Nicos Angelopoulos) introduce probabilistic choices in the resolution process; they are used in MCMCMS (Nicos Angelopoulosy and James Cussens) to specify models for statistical machine learning in a Bayesian framework. CLP(BN) (by Vitor Santos Costa) combines constraint logic programming with Bayesian networks.
For an overview, written for ALP Newsletter readers, of each of the cited languages/system click on the corresponding link.