Theory and Practice of Logic Programming

Regular Papers

The magic of logical inference in probabilistic programming

BERND GUTMANNa1, INGO THONa1, ANGELIKA KIMMIGa1, MAURICE BRUYNOOGHEa1 and LUC DE RAEDTa1

a1 Department of Computer Science, Katholieke Universiteit Leuven, Celestijnenlaan 200A-bus 2402, 3001 Heverlee, Belgium (e-mail: bernd.gutmann@cs.kuleuven.be, ingo.thon@cs.kuleuven.be, angelika.kimmig@cs.kuleuven.be, maurice.bruynooghe@cs.kuleuven.be, luc.deraedt@cs.kuleuven.be)

Abstract

Today, there exist many different probabilistic programming languages as well as more inference mechanisms for these languages. Still, most logic programming-based languages use backward reasoning based on Selective Linear Definite resolution for inference. While these methods are typically computationally efficient, they often can neither handle infinite and/or continuous distributions nor evidence. To overcome these limitations, we introduce distributional clauses, a variation and extension of Sato's distribution semantics. We also contribute a novel approximate inference method that integrates forward reasoning with importance sampling, a well-known technique for probabilistic inference. In order to achieve efficiency, we integrate two logic programming techniques to direct forward sampling. Magic sets are used to focus on relevant parts of the program, while the integration of backward reasoning allows one to identify and avoid regions of the sample space that are inconsistent with the evidence.

(Online publication July 06 2011)

KEYWORDS:

  • probabilistic logic;
  • forward reasoning;
  • sampling;
  • continuous distributions