Software Packages for Graphical Models / Bayesian Networks

Written by Kevin Murphy.
Last updated 28 July 2008.

Review articles

What do the headers in the table mean?

If you want your package to be listed, please send me email in the format specified here (use view source to see this properly).

Name Authors Src API Exec Cts GUI Params Struct Utility Free Undir Inference Comments
AgenaRisk Agena N Y W,U Cx Y Y N N $ D JTree Simulation by Dynamic discretisation
Analytica Lumina N Y W,M G Y N N Y $ D sampling spread sheet compatible
Banjo Hartemink Java Y W,U,M Cd N N Y N 0 D none structure learning of static or dynamic networks of discrete variables
Bassist U. Helsinki C++ Y U G N Y N N 0 D MH Generates C++ for MCMC. (No longer maintained)
BayesBuilder Nijman (U. Nijmegen) N N W D Y N N N 0 D ? -
BayesiaLab Bayesia Ltd N N - Cd Y Y Y N $ CG jtree,G Structural learning, adaptive questionnaires, dynamic models
Bayesware Discoverer Bayesware N N WUM Cd Y Y Y N $ D ? Uses bound and collapse for learning with missing data.
B-course U. Helsinki N N WUM Cd Y Y Y N 0 D ? Runs on their server: view results using a web browser.
Belief net power constructor Cheng (U.Alberta) N W W D Y Y CI N 0 D ? -
BayesBlocks Helsinki Python/C++ Y - Y N Y N N 0 Dir Variational Non-Gaussian Latent variable models
Blaise Bonnowitz and Mansinghka Java Y - Y N Y N N 0 Fgraph MCMC, SMC General MC toolkit, also handles non-parametric Bayesian models
BNT Murphy (U.C.Berkeley) Matlab/C Y WUM G N Y Y Y 0 D,U Many Also handles dynamic models, like HMMs and Kalman filters.
BNJ Hsu (Kansas) Java - - D Y N Y N 0 D jtree, IS -
BNL frank rijmen Matlab - - D N N N N 0 D jtree Supports (ordinal) logistic regression CPDs and EM learning
BUGS MRC/Imperial College N N WU Cs W Y N N 0 D Gibbs -
Causal discoverer Vanderbilt N N W - - N Y N 0 D - structure learning only
CoCo+Xlisp Badsberg (U. Aalborg) C/lisp Y U D Y Y CI N 0 U Jtree Designed for contingency tables.
CIspace Poole et al. (UBC) Java N WU D Y N N N 0 D Varelim -
CRFtoolbox Schmidt and Murphy Matlab/C Y - N N Y N N 0 U Loopy BP Conditional random fields, arbitrary structure
DBNbox Roberts et al Matlab - - Y N Y N N Y D Various DBNs
Deal Bottcher et al R - - G Y Y Y N 0 D None Structure learning.
DeriveIt DeriveIt LLC N - - ? ? Y Y ? $ D Jtree, Gibbs Exploits local structure in CPDs.
Elvira Elvira consortium (Spain) Java Y W,U,M Cd,Cx Y Y Y Y 0 D JTree,varelim,IS "Also includes classification, abductive inference and model fusion"
Ergo Noetic systems N Y W,M D Y N N N $ D jtree -
GDAGsim Wilkinson (U. Newcastle) C Y WUM G N N N N 0 D Exact Bayesian analysis of large linear Gaussian directed models.
GeNIe and SMILE Decision Systems Laboratory, University of Pittsburgh SMILE wrappers only Y W,U,M,other Cs,equations W,U,M Y Y Y free D JTree,sampling DBNs, support for diagnostic applications
GGM West et al (Duke) C++ - - G N Y Y N 0 U SL MCMC and stochastic search for structure learning of GGMs
GMRFsim Rue (U. Trondheim) C Y WUM G N N N N 0 U MCMC Bayesian analysis of large linear Gaussian undirected models.
GMTk Bilmes (UW), Zweig (IBM) N Y U D N Y Y N 0 D Jtree Designed for speech recognition.
gR Lauritzen et al. R - - - - - - - 0 - - Various packages
Grappa Green (Bristol) R - - D N N) N N 0 D Jtree -
HdBCS Dobra et al (Washington) C++ - - G N Y Y N 0 U SL stochastic search for structure learning of GGMs
Hugin Expert Hugin N Y W G W Y CI Y $ CG Jtree -
Hydra Warnes Java - - Cs Y Y N N 0 U,D MCMC -
Infer.NET John Winn, Tom Minka C# Y Y Y N Y N N 0 Y VMP, EP, Gibbs Bayesian parameter estimation as well
JAGS Martyn Plummer Java Y - Y N Y N N 0 Y Gibbs Similar to BUGS
Java Bayes Cozman (CMU) Java Y WUM D Y N N Y 0 D Varelim, jtree -
LibB Friedman (Hebrew U) N Y W D N Y Y N 0 D SL Structure learning
MIM HyperGraph Software N N W G Y Y Y N $ CG Jtree Up to 52 variables.
MSBNx Microsoft N Y W D W N N Y 0 D Jtree -
Netica Norsys N WUM W G W Y N Y $ D jtree -
Bayes net learner Moore, Wong (CMU) N N W,U D N Y Y N 0 D SL optimal reinsertion algorithm
PMT Pavlovic (BU) Matlab/C - - D N Y N N 0 D special purpose -
PNL Eruhimov (Intel) C++ - - D N Y Y N 0 U,D Jtree A C++ version of BNT; will be released 12/03.
Pulcinella IRIDIA Lisp Y WUM D Y N N N 0 D ? Uses valuation systems for non-probabilistic calculi.
RISO Dodier (U.Colorado) Java Y WUM G Y N N N 0 D Polytree Distributed implementation.
Sam Iam Darwiche (UCLA) N N ? WU ? (Java executable) G ? Y Y N ? Y 0 D Recursive conditioning Also does sensitivity Analysis
LADR Structured Data N Y - Cd N N Y N $ D none "Structure learning of massive static or dynamic networks"
Tetrad CMU N N WU G N Y CI N 0 U,D SL -
UC Irvine Dechter (UCI) Y N W,U D N N N N 0 UD AND/OR Search Bucket Elimination, AND/OR search for P(evidence), MPE in Bayesian networks
UnBBayes Mario Vieira et al Java - - D Y N Y N 0 D jtree K2 for struct learning
Vibes Winn (MSR Cambridge) Java Y WU Cx Y Y N N 0 D VMP
WinMine Microsoft N N W Cx Y Y Y N 0 U,D SL Learns BN or dependency net structure.
XBAIES 2.0 Cowell (City U.) N N W G Y Y N Y 0 CG Jtree -

Other sites related to (software for) graphical models