Efficient Algorithms for Prolog Based Probabilistic Logic Programming (Efficiënte algoritmen voor prolog gebaseerd probabilistisch logisch programmeren)

The integration of probabilistic reasoning with logic programming has become one of the challenges in Artificial Intelligence. Lately, a lot of Probabilistic Logic Programming (PLP) formalisms have surfaced. Given that PLP is the combination of logic programming and probabilities which are two very different fields, it is expected that researchers from several fields come up with different approaches to tackle the presented challenges. This has resulted in a new discipline called Probabilistic Logic Learning (PLL) or Statistical Relational Learning (SRL) and a very active research community. Within this community, ProbLog a probabilistic extension of Prolog, has appeared. ProbLog was motivated by the task of mining links in large probabilistic graphs. The simple but powerful ProbLog formulation was extended in order to support inference on several different models. Soon ProbLog evolved into a general purpose probabilistic programming language that provides infrastructure for many PLL/SRL tasks. The two most critical aspects of a PLP language are its expression power, and its scalability over common PLL problems. This thesis focuses on the extension and implementation of ProbLog. Tabling is a well known method for avoiding re-computation in logic programming; we present how tabling can be implemented for ProbLog. Tabling has significant benefits for performance and also allows ProbLog to handle cyclic programs. In order for the ProbLog system to perform inference, it manipulates large Boolean formulae. We present the manipulation of Boolean formulae and several novel algorithms that improve the performance of this task. Furthermore, we present patterns, called AND/OR-clusters, that can be used to reduce a Boolean formula to an equivalent one. Besides performance improvements of the ProbLog system, we also present several novel extensions to the ProbLog language, such as: general negation, probabilistic meta calls and ProbLog answers. Finally, we present two applications of ProbLog that use several of the features we have contributed to ProbLog.

[1]  P. Bork,et al.  Association of genes to genetically inherited diseases using data mining , 2002, Nature Genetics.

[2]  Sasu Tarkoma,et al.  Distributed event routing in publish/subscribe communication systems , 2009 .

[3]  David Poole,et al.  The Independent Choice Logic and Beyond , 2008, Probabilistic Inductive Logic Programming.

[4]  Edward Fredkin,et al.  Trie memory , 1960, Commun. ACM.

[5]  Luc De Raedt,et al.  On the implementation of the probabilistic logic programming language ProbLog , 2010, Theory and Practice of Logic Programming.

[6]  Bart Demoen,et al.  A simplified fast interface for the use of CUDD for Binary Decision Diagrams , 2008 .

[7]  L. D. Raedt,et al.  From ProbLog to first order logic: A first exploration , 2009 .

[8]  Christian J. Muise,et al.  Dsharp: Fast d-DNNF Compilation with sharpSAT , 2012, Canadian Conference on AI.

[9]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[10]  Gerda Janssens,et al.  Dedicated Tabling for a Probabilistic Setting , 2010, ICLP.

[11]  Avi Pfeffer,et al.  IBAL: A Probabilistic Rational Programming Language , 2001, IJCAI.

[12]  Petteri Hintsanen The Most Reliable Subgraph Problem , 2007, PKDD.

[13]  Igor L. Markov,et al.  Faster SAT and smaller BDDs via common function structure , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[14]  Luc De Raedt,et al.  An Algebraic Prolog for Reasoning about Possible Worlds , 2011, AAAI.

[15]  Gerda Janssens,et al.  Variable Compression in ProbLog , 2010, LPAR.

[16]  David Poole,et al.  Abducing through negation as failure: stable models within the independent choice logic , 2000, J. Log. Program..

[17]  V. S. Subrahmanian,et al.  Probabilistic Logic Programming , 1992, Inf. Comput..

[18]  David Scott Warren,et al.  XSB: Extending Prolog with Tabled Logic Programming , 2010, Theory and Practice of Logic Programming.

[19]  Luc De Raedt,et al.  Inference in Probabilistic Logic Programs using Weighted CNF's , 2011, UAI.

[20]  Tomi Janhunen,et al.  Representing Normal Programs with Clauses , 2004, ECAI.

[21]  Mark E. Stickel A prolog Technology Theorem Prover: Implementation by an Extended Prolog Compiler , 1986, CADE.

[22]  David Maier,et al.  The Complexity of Some Problems on Subsequences and Supersequences , 1978, JACM.

[23]  Yolande Berbers,et al.  Fadip: Lightweight Publish/Subscribe for Mobile Ad Hoc Networks , 2010, OTM Conferences.

[24]  Luc De Raedt,et al.  Learning the Parameters of Probabilistic Logic Programs from Interpretations , 2011, ECML/PKDD.

[25]  David Poole,et al.  Probabilistic Horn Abduction and Bayesian Networks , 1993, Artif. Intell..

[26]  Jason Eisner,et al.  Dyna: Extending Datalog for Modern AI , 2010, Datalog.

[27]  Angelika Kimmig,et al.  Preprocessing Boolean Formulae for BDDs in a Probabilistic Context , 2010, JELIA.

[28]  Hendrik Blockeel,et al.  Top-Down Induction of First Order Logical Decision Trees , 1998, AI Commun..

[29]  Yoshitaka Kameya,et al.  Parameter Learning of Logic Programs for Symbolic-Statistical Modeling , 2001, J. Artif. Intell. Res..

[30]  Matthew Richardson,et al.  Markov logic networks , 2006, Machine Learning.

[31]  Mark E. Stickel,et al.  A prolog technology theorem prover: Implementation by an extended prolog compiler , 1986, Journal of Automated Reasoning.

[32]  Maurice Bruynooghe,et al.  CP-logic: A language of causal probabilistic events and its relation to logic programming , 2009, Theory and Practice of Logic Programming.

[33]  F. Somenzi,et al.  Who are the variables in your neighbourhood , 1995, Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[34]  Avi Pfeffer CTPPL: A Continuous Time Probabilistic Programming Language , 2009, IJCAI.

[35]  Pedro M. Domingos,et al.  Entity Resolution with Markov Logic , 2006, Sixth International Conference on Data Mining (ICDM'06).

[36]  Taisuke Sato,et al.  A Statistical Learning Method for Logic Programs with Distribution Semantics , 1995, ICLP.

[37]  Gerda Janssens,et al.  Analysing a Publish/Subscribe System for Mobile Ad Hoc Networks with ProbLog , 2011, PADL.

[38]  Luc De Raedt,et al.  Probabilistic Inductive Logic Programming , 2004, Probabilistic Inductive Logic Programming.

[39]  Ben Taskar,et al.  Probabilistic Relational Models , 2014, Encyclopedia of Social Network Analysis and Mining.

[40]  Luc De Raedt,et al.  Extending ProbLog with Continuous Distributions , 2010, ILP.

[41]  Luc De Raedt,et al.  ProbLog Technology for Inference in a Probabilistic First Order Logic , 2010, ECAI.

[42]  Richard M. Karp,et al.  Monte-Carlo algorithms for enumeration and reliability problems , 1983, 24th Annual Symposium on Foundations of Computer Science (sfcs 1983).

[43]  Fabrizio Riguzzi,et al.  The PITA system: Tabling and answer subsumption for reasoning under uncertainty , 2011, Theory Pract. Log. Program..

[44]  Fabrizio Riguzzi,et al.  Tabling and Answer Subsumption for Reasoning on Logic Programs with Annotated Disjunctions , 2010, ICLP.

[45]  Gerda Janssens,et al.  Tabling relevant parts of SLD proofs for ground goals in a probabilistic setting , 2009 .

[46]  Toby Walsh,et al.  Constraint and Variable Ordering Heuristics for Compiling Configuration Problems , 2007, IJCAI.

[47]  Luc De Raedt,et al.  On the Efficient Execution of ProbLog Programs , 2008, ICLP.

[48]  Luc De Raedt,et al.  Parameter Learning in Probabilistic Databases: A Least Squares Approach , 2008, ECML/PKDD.

[49]  Gerda Janssens,et al.  Variable compression in ProbLog (technical report) , 2010 .

[50]  David Scott Warren,et al.  Tabled evaluation with delaying for general logic programs , 1996, JACM.

[51]  Luc De Raedt,et al.  DTProbLog: A Decision-Theoretic Probabilistic Prolog , 2010, AAAI.

[52]  Bernd Gutmann,et al.  Trading memory for answers: Towards tabling ProbLog , 2009 .

[53]  C. R. Ramakrishnan,et al.  Speculative Beats Conservative Justification , 2001, ICLP.

[54]  Hannu Toivonen,et al.  Link Discovery in Graphs Derived from Biological Databases , 2006, DILS.

[55]  Sheldon B. Akers,et al.  Binary Decision Diagrams , 1978, IEEE Transactions on Computers.

[56]  Christophe Bérenguer,et al.  A practical comparison of methods to assess sum-of-products , 2003, Reliab. Eng. Syst. Saf..

[57]  Peter Schachte Global Variables in Logic Programming , 1997, ICLP.

[58]  Luc De Raedt,et al.  Probabilistic logic learning , 2003, SKDD.

[59]  Gerda Janssens,et al.  DNF Sampling for ProbLog Inference , 2010, ICLP 2010.

[60]  Joshua B. Tenenbaum,et al.  Church: a language for generative models , 2008, UAI.

[61]  Jean-Yves Le Boudec,et al.  The Effect of Rumor Spreading in Reputation Systems for Mobile Ad-hoc Networks , 2003 .

[62]  Kenneth A. Ross,et al.  The well-founded semantics for general logic programs , 1991, JACM.

[63]  Luc De Raedt,et al.  ProbLog: A Probabilistic Prolog and its Application in Link Discovery , 2007, IJCAI.

[64]  Richard S. Bird,et al.  Tabulation Techniques for Recursive Programs , 1980, CSUR.

[65]  Juliana Freire,et al.  XSB: A System for Effciently Computing WFS , 1997, LPNMR.

[66]  Luc De Raedt,et al.  Basic Principles of Learning Bayesian Logic Programs , 2008, Probabilistic Inductive Logic Programming.

[67]  Taisuke Sato,et al.  Statistical Abduction with Tabulation , 2002, Computational Logic: Logic Programming and Beyond.

[68]  Pierre Marquis,et al.  A Knowledge Compilation Map , 2002, J. Artif. Intell. Res..

[69]  L. Valiant Why is Boolean complexity theory difficult , 1992 .

[70]  David Poole,et al.  The Independent Choice Logic for Modelling Multiple Agents Under Uncertainty , 1997, Artif. Intell..

[71]  David Poole,et al.  Logic programming, abduction and probability , 1993, New Generation Computing.

[72]  Giridhar Pemmasani,et al.  Online Justification for Tabled Logic Programs , 2004, FLOPS.

[73]  Gerda Janssens,et al.  Analyzing the efficiency of context-based grouping on collaboration in VANETs with large-scale simulation , 2014, J. Ambient Intell. Humaniz. Comput..

[74]  Taisuke Sato,et al.  PRISM: A Language for Symbolic-Statistical Modeling , 1997, IJCAI.

[75]  Ben Taskar,et al.  Introduction to Statistical Relational Learning (Adaptive Computation and Machine Learning) , 2007 .

[76]  Hisao Tamaki,et al.  OLD Resolution with Tabulation , 1986, ICLP.

[77]  Gerda Janssens,et al.  Nesting Probabilistic Inference , 2011, ArXiv.