On the implementation of the CLP(BN) language

  • Authors:
  • Vítor Santos Costa

  • Affiliations:
  • DCC/FCUP and CRACS-INESC Porto LA, Porto, Portugal

  • Venue:
  • PADL'10 Proceedings of the 12th international conference on Practical Aspects of Declarative Languages
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

The last few years have seen great interest in developing models that can describe real-life large-scale structured systems. A popular approach is to address these problems by using logic to describe the patterns or structure of the problems, and by using a calculus of probabilities to address the uncertainty so often found in real life situations. The CLP($\cal BN$) language is an extension of Prolog that allows the representation, inference, and learning of bayesian networks. The language was inspired on Koller’s Probabilistic Relational Models, and is close to other probabilistic relational languages based in Prolog, such as Sato’s PRISM. We present the implementation of CLP($\cal BN$), showing how bayesian networks are represented in CLP($\cal BN$) and presenting the implementation of three different inference algorithms: Gibbs Sampling, Variable Elimination, and Junction Trees. We show that these algorithms can be implemented effectively by using a matrix library and a graph manipulation library, and study how the system performs on real-life applications.