On the Implementation of the CLP(BN) Language
Vítor Santos Costa
January 2010
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(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(BN), showing how bayesian
networks are represented in CLP(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.
Bibtex
@InProceedings{santoscosta-padl10,
author = {V. Santos Costa},
title = {{On the Implementation of the CLP(BN) Language}},
booktitle = {Proceedings of the 12th International Symposium on Practical Aspects of Declarative
Languages (PADL 2010)},
pages = {234--248},
number = {5937},
series = {LNCS},
publisher = {Springer},
editor = {M. Carro and R. Peña},
month = {January},
year = {2010},
address = {Madrid, Spain},
}
Download Paper
PDF file
Springer