Please note: This page is no longer being maintained. An updated tutorial on this subject can be found here.

This section is a brief self-contained overview of Bayesian nets. For a full description and tutorial see the BBN tutorial section.

A Bayesian belief net (BBN) is a directed graph, together with an associated set of probability tables. The graph consists of nodes and arcs as shown below. The nodes represent variables, which can be discrete or continuous. For example, the node 'faults in test/review' is discrete having values 0,1,2,.., whereas the node 'system safety' might be continuous (such as the probability of failure on demand). The arcs represent causal/influential relationships between variables. For example, the number of faults in test/review is influenced by the correctness of the solution and the accuracy of testing, hence we model this relationship by drawing appropriate arcs as shown.

**System
safety assessment BBN example**

The key feature
of BBNs is that they enable us to model and reason about *uncertainty*.
The BBN forces the assessor to expose all assumptions about the
impact of different forms of evidence and hence provides a visible
and auditable dependability or safety argument.

Consider the
example above. Suppose we knew that the correctness of the solution
was 'low' and the accuracy of testing is 'high'. Then the probability
of finding a high number of faults in test would be more than if we
knew the correctness of the solution was 'high' and the accuracy of
testing is 'low'. In the BBN we model this kind of dependence between
uncertain variables by filling in a *node
probability table* (NPT).
Thus, for the node 'faults in test/review' the NPT might look like
that shown in the table below. The NPTs capture the conditional
probabilities of a node given the state of its parent nodes.

**NPT
****for
'faults found in inspection/testing'**

BBNs are a way
of describing complex probabilistic reasoning. The advantage of
describing a probabilistic argument via a BBN, compared to describing
it via mathematical formulas and prose, is that the BBN represents
the structure of the argument in an intuitive, graphical format. The
main use of BBNs is in situations that require statistical inference
— in addition to statements about the probabilities of events,
the user knows some evidence, that is, some events that have actually
been observed, and wishes to infer the probabilities of other events,
which have not as yet been observed. Using probability calculus and Bayes
theorem it
is then possible to update the values of all the other probabilities
in the BBN. This is called *propagation*).
Bayesian analysis can be used for both 'forward' and 'backward' inference.

For example, suppose we know that the quality of the supplier is 'low' and the intrinsic complexity of the problem is 'high'. Then if we enter these facts and propagate their effects through the BBN it will update all of the other probabilities, giving for example a revised value for the probability of system safety. The figure below shows the actual results of entering different types of evidence (evidence is shown as a red bar).

**Propagating
evidence in the system safety assessment BBN example**

Although Bayesian probability been around for a long time it is only in the last few years that efficient algorithms (and tools to implement them) have been developed to enable propagation in networks with a reasonable number of variables. The Bayesian propagation computations shown above, even for an example as small as this, are very complex and cannot be calculate manually. Here we have used the Hugin tool, that implements the breakthrough propagation algorithm of Lauritzen and Spiegelhalter. A more modern and powerful BBN tool is the AgenaRisk tool. With this tool it is possible to perform fast propagation in large BBNs (with hundreds of nodes and millions of state combinations. The recent explosion of interest in BBNs is due to these developments which mean that for the first time realistic size problems can be solved. These recent developments, in our view, make BBNs the best method for reasoning about uncertainty. To date BBNs have proven useful in applications such as medical diagnosis and diagnosis of mechanical failures. Their most celebrated use has been by Microsoft - BBNs underlie the help wizards in Microsoft Office and also underlie the interactive printer fault diagnostic system on the Microsoft web site.