libDAI
libDAI is a free and open source C++ library (licensed under GPL) that provides implementations of various (approximate) inference methods for discrete graphical models. libDAI supports arbitrary factor graphs with discrete variables; this includes discrete Markov Random Fields and Bayesian Networks. The library is targeted at researchers; to be able to use the library, a good understanding of graphical models is needed. Currently, libDAI supports the following (approximate) inference methods: exact inference by brute force enumeration, exact inference by junction-tree methods, Mean Field, Loopy Belief Propagation, Tree Expectation Propagation, Generalized Belief Propagation, Double-loop GBP, and various variants of Loop Corrected Belief Propagation. Planned extensions are Gibbs sampling and IJGP, as well as various methods for obtaining bounds on the partition sum and on marginals (Bound Propagation, Box Propagation, Tree-based Reparameterization).