 BNT supports many types of
conditional probability distributions (nodes),
and it is easy to add more.
 Tabular (multinomial)
 Gaussian
 Softmax (logistic/ sigmoid)
 Multilayer perceptron (neural network)
 Noisyor
 Deterministic
 BNT supports decision and utility nodes, as well as chance
nodes,
i.e., influence diagrams as well as Bayes nets.
 BNT supports static and dynamic BNs (useful for modelling dynamical systems
and sequence data).
 BNT supports many different inference algorithms,
and it is easy to add more.
 Exact inference for static BNs:
 junction tree
 variable elimination
 brute force enumeration (for discrete nets)
 linear algebra (for Gaussian nets)
 Pearl's algorithm (for polytrees)
 quickscore (for QMR)
 Approximate inference for static BNs:
 likelihood weighting
 Gibbs sampling
 loopy belief propagation
 Exact inference for DBNs:
 junction tree
 frontier algorithm
 forwardsbackwards (for HMMs)
 KalmanRTS (for LDSs)
 Approximate inference for DBNs:
 BoyenKoller
 factoredfrontier/loopy belief propagation

BNT supports several methods for parameter learning,
and it is easy to add more.
 Batch MLE/MAP parameter learning using EM.
(Each node type has its own M method, e.g. softmax nodes use IRLS,
and each inference engine has its own E method, so the code is fully modular.)
 Sequential/batch Bayesian parameter learning (for fully observed tabular nodes only).

BNT supports several methods for regularization,
and it is easy to add more.
 Any node can have its parameters clamped (made nonadjustable).
 Any set of compatible nodes can have their parameters tied (c.f.,
weight sharing in a neural net).
 Some node types (e.g., tabular) supports priors for MAP estimation.
 Gaussian covariance matrices can be declared full or diagonal, and can
be tied across states of their discrete parents (if any).

BNT supports several methods for structure learning,
and it is easy to add more.
 Bayesian structure learning,
using MCMC or local search (for fully observed tabular nodes only).
 Constraintbased structure learning (IC/PC and IC*/FCI).
 The source code is extensively documented, objectoriented, and free, making it
an excellent tool for teaching, research and rapid prototyping.