cplint is a suite of programs for reasoning with ProbLog/LPADs/CP-logic programs. It contains modules for both inference and learning.
Intended user base
The system is meant to be used by anyone interested in probabilistic reasoning with logic programming.
Current functionalities
It can perform various forms of inference:
Exact with PITA
MAP/MPE
Causal inference
Approximate with Monte Carlo: rejection sampling, Metropolis-Hastings, Gibbs, likelihood weighting, also on programs with continuous random variables
It can also perform learning:
parameter learning with EMBLEM
structure learning with SLIPCOVER, LIFTCOVER, PHIL, PASCAL
Future functionalities
We plan to add varitional inference and learning of programs with continuous random variables.
Potential impact of the technology
The technology has an impact on all the problems that require reasoning on uncertainty in relational domains. It is thus especially useful in learning from real world multirelational databases.
Versions available
Three versions are available: for SWI-Prolog, for XSB and for Yap Prolog. They differ slightly in the features offered.
The SWI-Prolog version is distributed as a pack. The XSB and Yap versions are distributed in the source tree.