Definition of BBNs: graphs and probability tables
A BBN is a special type of diagram (called a graph) together with an
associated set of probability tables.
The graph consists of nodes and arcs as shown in the simple example:
The nodes represent variables, which can be discrete or continuous. For
example, a node might represent the variable 'Train strike' which is discrete, having
the two possible values 'true' and 'false'. The arcs represent causal
relationships between variables. For example, suppose we have another variable 'Norman
late' which is also discrete with values 'true' and 'false'. Since a train
strike can cause Norman to be late we model this relationship by drawing an arc from the node
'Train strike' to the node 'Norman late'
The key feature of BBNs is that they enable us to model and reason about uncertainty. In our example, a train strike does not imply that Norman will definitely be
late (he might leave early and drive), but there is an increased probability that he will be late. In the BBN we model this by
filling in a probability table for each node. For the node 'Norman late' the
probability table (also called the Node Probability Table or NPT) might look like
this:
 Train Strike


Norman late
 True
 False

True
 0.8
 0.1

False
 0.2
 0.9

This is actually the conditional probability of the variable 'Norman late'
given the variable 'train strike'. The possible values (true or false) for 'Norman
late' are shown in the first column. Note that we provide a probability for
each combination of events (four in this case), although the rules of probability
mean that some of this information is redundant. Informally, the particular
values in this table tell us that: Norman is very unlikely to be late normally
(that is, the probability Norman is late when there is no train strike is 0.1),
but if there is a train strike is he is very likely to be late (the probability
is 0.8). Now suppose that Norman has a colleague, Martin, who usually drives to
work. To model our uncertainty about whether or not Martin arrives late we add
a new node 'Martin late' to the graph and an arc from 'Train strike' to this
node. A train strike can still cause Martin to be late because traffic is
heavier in that case. However, the probability table for 'Martin late', shown here,
is very different in content to the one for 'Norman late':
 Train Strike


Martin late
 True
 False

True
 0.6
 0.5

False
 0.4
 0.5

Informally, Martin is often late, but a train strike only increases the
likelihood of his lateness by a small amount. In the event of a train strike Martin
is less likely to be late than Norman.
The probability table associated with the node 'Train strike' is somewhat
different in nature. This node has no 'parent' nodes in this model (we call it a root node), and therefore we only have to assign a probability to each of the two
possible values 'true' and 'false'. In the following table the actual values
suggest that a train strike is very unlikely.
Train strike


True
 0.1

False
 0.9

There may be several ways of determining the probabilities of any of the
tables. For example, in the previous table we might be able to base the
probabilities on previously observed frequencies of days when there were train strikes.
Alternatively, if no such statistical data is available we may have to rely on
subjective probabilities entered by experts. The beauty of BBNs is that we are
able to accommodate both subjective probabilities and probabilities based on
objective data.