**What is a BBN?
**
This section is a brief self-contained overview of BBNs. For a full
description and tutorial see the BBN tutorial section.
A BBN is a directed graph, together with an associated set of probability
tables. The graph consists of nodes and arcs as shown in Figure 2-2. 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.
**Figure 2-2: 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 of Figure 2-2. 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 Table 2-1. The NPTs capture the
conditional probabilities of a node given the state of its parent nodes.
**Table 2-1: 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 (Appendix B) 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. Figure 2-3 shows the actual results of
entering different types of evidence (evidence is shown as a red bar).
**Figure 2-3: 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 in Figure 2-3, 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. 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.