SUBJECTIVE BAYESIAN INFERENCE NETWORK
Lori Ann Messegee
B.S., South Dakota School of Mines and Technology, 1988
A thesis submitted to the
Faculty of the Graduate School of the
University of Colorado at Denver
in partial fulfillment
of the requirement for the degree of
Master of Science
This thesis for the Master of Science
Lori Ann Messegee
has been approved for the
Messegee,, Lori Ann (M.S., Electrical Engineering)
Subjective' Bayesian Inference Network
Thesis directed by Associate Professor William J. Wolfe
jThis paper details the building and analysis of an
inference jnetwork in Lisp. The system utilizes probabilities to
weight the inputs and rules, and subjective Bayesian inference
to propagate the probabilities through the network.
i, Uncertain information is used as the inputs, which
are then Summarized into abstractions. At the opposite end of
the network, problem reduction is utilized to break the output
down into! simpler, smaller problems. These two sets are then
combined to form the final network.
:, The particular problem utilized to illustrate
subjective, Bayesian inference networks is the Traveller's
Restaurant1 .Selection Problem, which predicts overall food
quality from observable qualities. The knowledge gained
through this example can easily be applied to a large group of
general design projects.
This abstract accurately represents the content of the
candidate's thesis. I recommend its publication.
to my parents
I Thank you to Hughes Aircraft Company for
financial assistance and support.
Topic Selection Process ......................
Abstraction and Problem Reduction.............
Inference vs. Back Propagation or Rule-Based
Subjective Bayesian Inference Networks . .
! Odds and Bayes' Rule .....................
! Updating Probabilities....................
; Traveller's Restaurant Selection Problem
2. INFERENCE NETWORK #1 .........................
System Behavior and Analysis..................
Behavior at a Node............................
Indepth Case Analysis.........................
3. KNOWLEDGE ENGINEERING..............................4 6
Inference Network #2...............................4 6
4. COMPARING INFERENCE NETWORKS #\ AND #2 .... 5 0
Different Desired Behavior.........................5 0
5. SUMMARY............................................5 4
A. LISP Code for Traveler's Restaurant Selection
Pr'dblem ..........................................5 5
1.1 Inference rules for propositional calculus and
ipossibilistic and probabilistic logic....................7
2.1 Current probability inputs for four restaurants .33
2.2 Interior node values and outputs for four
2.3 Revised current probability inputs for four
2.4 Interior node values and outputs for four
restaurants using revised current probability
inputs .....................................................3 5
2.5 Interior node values and outputs for four
restaurants using revised program.....................4 3
2.6 Current probability inputs for four submarine
sandwich restaurants........................................4 4
2.7 Interior node values and outputs for four
submarine sandwich restaurants..............................4 4
3.1 Expert #2's current probability inputs for three
Italian restaurants.........................................4 8
3.2 Expert #2's interior node values and outputs for
three Italian restaurants...................................4 9
4.1 Expert #2's current probability inputs for four
restaurants.................................................5 1 I
4.2 Expert #2's interior node values and four restaurants outputs for . 52
4.3 Expert #2's current probability inputs submarine sandwich restaurants . for . 52
4.4 Expert #2's interior node values and Submarine sandwich restaurants . outputs for . 53
1.1 Food poisoning and the possible symptoms....................14
1.2 Sufficiency relationship between E and H .................17
1.3 E is sufficient evidence to assume -H ....................18
1.4 Possible hypotheses, given the evidence flour ... 19
1.5 v^rc in an inference network, labelled with the
sufficiency and necessity coefficients.....................2 0
1.6 Inference with uncertain evidence E' ......................2 0
1.7 lA. linear interpolation for computing P(H|E') from
1.8 Inconsistencies in prior probabilities for E and H .22
1.9 Piecewise-linear function with dead zone for
probability updating ..................................2 3
1.10 "Sufficiency-only" updating function...................24
1.11 "Necessity-only" updating function.....................2 5
1.12 Interpolation function used in the MYCIN system
where Pt(E) = P(E) + t [1 P(E)], with t = 0.2........2 6
1.13 Piecewise-linear function for updating the
probability of a hypothesis............................2 7
1.14 Probabilistic inference network for the
Traveller's Restaurant Selection Problem...............3 0
2.1 The Popularity node and its inputs, Sounds and
2.2 The resulting values of the Popularity node with
Input Scenario #1: Sounds and Clientele vary
together from 0 to 1...........................3 7
2.3 The resulting values of the Popularity node with
Input Scenario #2: Sounds varies from 0 to 1,
while Clientele varies from 1 to 0......................3 8
2.4 The resulting values of the Popularity node with
Input Scenarios #3, #4, and #5: Sounds varies
from 0 to 1, while Clientele is held constant at 0.5,
0.3 and 0.8, respectively...............................3 9
An expert system can be defined as a computer
program for capturing valuable knowledge and delivering it at
the point of decision making . Humans excel in knowledge
processing, the analysis of information to make decisions.
Expert systems mimic the human reasoning process, applying
knowledge to analyze information to make decisions. The
emergence!' of expert systems as one of the major areas of
activity iii; information science and technology is providing a
strong incentive for the development of theories of
approximate reasoning as a basis for representingand
reasoning withexpert knowledge .
Topic Selection Process
| With a master's degree curriculum greatly involved
in artificial intelligence courses, expert systems are an ideal
thesis topic for research and development. The first step was
choosing an appropriate problem to solve with an expert
, The first candidate for the expert system was a
cloud-recognition tool. The data were in many different
formats and extremely raw. This would be an intriguing
problem, but would have required much data manipulation
before the work on the actual expert system could commence.
This project also seemed better suited to a neural network.
I The second idea was an expert system to trouble
shoot remote racks of equipment to diagnose problems. This
project did not require an expert system, though, just a
| The third idea consisted of an expert system to
diagnose problems with nuclear reactors. At first, this topic
appeared to require an extreme amount of expertise and would
provide an ideal topic for an expert system. But further
investigation showed that the rules are extremely rigid. The
operator is an expert at controlling the nuclear reactors. But
this expertise is not gained through years and years of
experience j and "gut feelings." Rather, it is knowledge of the
strict rules; that govern the operation of a nuclear reactor. In
other words, every operator would create exactly the same
expert system to perform the job. This project quickly slips out
of the realm of interesting expert systems.
The fourth candidate was a joint effort with two
people who are pursuing an expert system to schedule time
and resources for a scientific spacecraft. This optimization
problem is NP-complete and also appeared to be better suited
for a neural network.
University of Colorado at Denver Assistant
Professor Wolfe proposed coding and analyzing an inference
network from Tanimoto's book The Elements of Artificial
Intelligence . The design concepts of this example problem
can be applied to many other problems such as automobile
diagnosis,' weather prediction, medical diagnosis, and stock
market predictions. Implementation and analysis of this class
of inference networks is the topic of this thesis.
Abstraction and Problem Reduction
After the introduction of subjective Bayesian
inference networks, an example problem called the Traveller's
Restaurant; Selection Problem is coded and analyzed. Although
the subject matter may be considered trivial, this problem
provides a: very good means of learning the underlying design
principles ; of inference networks. One of the nicest aspects
about this problem is that anyone can be the "expert," which
lends to the ease of understanding the network behavior.
With the chosen problem, the inputs and output are
given. This corresponds to real life problems, in which the
available information is often limited to a set of sensor
readings or incomplete information. Any system must be
created with the intended purpose in mind and the major goals
clearly established and understood so that the implementation
is realistic [41.
b Some highly technical fields contain a great deal of
noisy or fuzzy information. The difference between noisy and
fuzzy information can be defined as follows: noise is
uncertainty; in what the expert observes, whereas, fuzzy
describes -the expert's uncertainty in how to rate or classify
what he has seen. Noise is introduced when the expert is
unable to measure a quality with an adequate degree of
precision. Fuzziness can be introduced when the quality is
linguistic and the possible data values are selected from a list
of descriptors . In the network to follow, the input nodes
and their rating scale are well defined, thus eliminating the
fuzziness of the information. This information is used as
inputs, which form the first layer of the network. The inputs
are then summarized into abstractions, which will form the
second layer of the network. Since the abstracted nodes are
evaluated from several inputs, the integration reduces the
effects of noise.
' On the other end of the network, the output forms
the fourth1 layer. As in most design problems, the problem
reduction! stage breaks the desired output down to smaller
problems.j In this case, the specific characteristics that directly
affect the output are determined, as well as the extent of their
individual importance to the output. These smaller problems
form the third layer of the network.
After inputs are abstracted and the output is
reduced to simpler problems, these two sets of nodes must be
linked to form the network. This inference network consists of
four layers, but the designer may use any number of
intermediate layers, depending on the problem. If the first two
steps of abstraction and problem reduction were properly
performed, the interior layers of nodes should match up fairly
Inference vs. Back Propagation or Rule-Based Systems
Inference networks are similar to back propagation
networks  , in that they both utilize intermediate layers of
nodes between the inputs and the outputs of the network. But
the intermediate nodes of the back propagation system have no
special meanings attached to them. The system is "trained"
using malny input/output scenarios, and the value of the
connecting arcs are adjusted via a process of gradient descent
to an error function until the desired behavior is achieved. By
contrast, the practice of attaching particular meanings to each
node of the inference network gives the expert and the
knowledge engineer a very straight-forward method of
localizing the values at the intermediate nodes to perform
l Inference networks are also closely related to rule-
based systems. Each rule in a rule-based system has a
confidence factor associated with it. In the inference network,
probability theory takes the role of the confidence factors.
Thus, probability theory provides a stronger mathematical
foundation for the inference network than the ad hoc
confidence factor provides for the rule-based system. Each
probability of the inference network provides information that
may be stated in an explicit rule format:
P(H|E) = X means
IF: E is known to be true
THEN: conclude that H is true with probability X.
,1 Information may be propagated through inference
networks using fuzzy-set theory or subjective Bayesian
updating functions. Fuzzy inference rules propagate
probabilities by taking several probabilities as inputs, and
generating one new probability as the output. A set of fuzzy
inference rules, referred to as possibilistic or probabilistic logic,
is used ty) simulate propositional calculus because its behavior
is similar l to that of intuition . REVEAL and FLOPS are
examples: which are currently commercially marketed .
Fuzzy-set1 theory extends the operations of Boolean algebra to
cover fractional truth values between 0 (false) and 1 (true).
See Table 1.1: Inference rules for propositional calculus and
possibilistic logic, for the relationship between the two. Note
that the possibilistic and probabilistic logic rules for A B are
xor(a,b) = max(min(a,l-b),min(l-a,b)), and Xor(a,b) = a + b -
2ab + a^b + ab^ a^b^, respectively.
A B i , -A AA B AvB A->B A@B
a br 1 -a min(a,b) max(a,b) max(l-a,b) xor(a,b)
a b, 1 -a ab a + b ab 1 a + ab Xor(a,b)
Table 1.1;; Inference rules for propositional calculus and
possibilistic and probabilistic logic.
; The more appealing calculus of uncertainty,
subjective Bayesian updating, was utilized for the project to
follow. The advantages and disadvantages of this approach will
unfold as the paper progresses.
As noted above, this problem encompasses a large
group of general design projects. The knowledge gained in the
building and refining of this project is easily transferred to
j Expert #1 will be myself. The majority of system
analysis will be performed during the learning curve as
Inference Network #1 reaches the desired performance. Expert
#2 will provide his opinions for Inference Network #2. An
explanation of expert systems, neural networks, Bayes' rule,
and the objective of this particular inference network will be
provided to Expert #2 before the knowledge acquisition portion
of the project begins. Networks #1 and Â§2 will then be
compared j to one another.
1 Subjective Bayesian Inference Networks
The project is to build an expert system that draws
conclusions from inexact or incomplete information. The
uncertainty of the inputs prevents the system from being a set
of hard and fast logic rules. Often, the logic rules themselves
cannot be [ formulated in a strict manner.
The inference network was selected to model
general decision-making in a practical, yet mathematically
meaningful way. This system utilizes probabilistic knowledge
to take the uncertainties into account and produce a logical
hypothesis similar to that an expert's formal criteria and
intuition j would produce.
The expert provides his degree of belief or
uncertainty in the inputs, the hypotheses, and the relationships
between the two categories. These are then represented as
probabilities and linked together via Bayes' rule and a
subjective form of Bayes' rule. These concepts will be further
discussed in the following chapter.
Probability ranges from 0 to 1. A value close to 0
means that a particular outcome is not very likely; a value
close to 0.5 indicates that the outcome has equal chances of
occurring ;or not occurring; and a value close to 1 indicates that
the particular outcome is very likely to occur. Laplace's work
lead to representation of probability as the following ratio:
probability = (# of desired outcomes)/(total # of outcomes)
For example, the probability of drawing an ace from
a normal deck of playing cards is the number of aces (4)
divided by the total number of cards (52), which is 4/52 or
1/13. This assumes that each of the 52 cards has an equal
chance of being drawn.
Probability follows two rules, the Additive Law and
the Multiplicative Law, shown below:
Additive Law: P(A v B) = P(A) + P(B) P(A A B)
Multiplicative Law: P(A A B) = P(A) x P(B|A) = P(B) x P(A|B) .
The notation P(A) denotes the probability of A
occurring,' under any circumstances. The P(B|A) denotes the
probability of B being true, given that A is true. If A and B are
statistically independent, the Additive Law reduces to the
P(A v B) = P(A) + P(B) .
In the network to follow, all inputs are assumed to
be statistically independent.
11 There is a great deal of uncertainty in the inputs
and the rules of this system. Degrees of belief are treated as
probabilities. Probabilities are applied to the inputs and to the
decision-making within the network. One method of
approaching this task is through Bayes' rule, which is
commonly applied to the exercise of computing conclusions
from premises. There are two types of information: a) general
knowledge about any case, and b) specific knowledge about a
particular: case. In this network, general knowledge is
referred to as "prior probability" and specific knowledge is
referred to as "current probability." In Bayes' rule, listed
below, H is the hypothesis and E is the evidence.
P(H|E) = [P(E|H) P(H)] / P(E)
P(E) = P(E|H) P(H) + P(E|-H) P(-H) .
Bayes' rule states that the probability of the
hypothesis H being true, given that the evidence E is true, is
equal to the ratio of the probability that the evidence and the
hypothesis are true, divided by the probability that the
evidence is true, whether or not the hypothesis is true. This
way, the network can be adjusted via previous knowledge
about the probability of an event.
Bayes' rule can better be described using an
example of a fictional medical-diagnosis problem. The
objective j of this problem is to determine the probability that
Jane has jfood poisoning, given that she has a symptom of food
poisoning: severe stomach ache. It is assumed that two types
of information, mentioned above, are available to compute the
probabilities for our analysis. The first is general knowledge:
(1) the probability that a person has food poisoning regardless
of any symptom, (2) the probability that a person has a
symptom l of severe stomach ache, given that they have food
poisoning!, (3) the probability that a person has severe stomach
ache, given that they do not have food poisoning. The second
type of information is the information particular to the person,
in this case, Jane: that she has the symptom. Using the symbols
H for hypothesis and E for evidence:
H =' Jane has food poisoning, and
E =;' Jane has a severe stomach ache.
Therefore, the general knowledge of the problem is:
1. Â£(H) = the probability that someone has food
2. P(E|H) = the probability that a person has a severe
[ stomach ache, given that she has food
3. ]P(E|-H) = the probability that a person has a stomach
:j ache given that she does not have food
! The specific knowledge is: Jane has the symptom of
severe stomach ache.
; The conclusion to be determined is P(H|E), the
probability that Jane has food poisoning based on the fact that
she has a' severe stomach ache. This is obtained using Bayes'
P(H|E) = [P(E|H) P(H)] / P(E)
P(E) = P(E|H) P(H) + P(E|-H) P(-H) .
! For our problem, this is interpreted as saying the
probability that Jane has food poisoning, given that she has a
severe stomach ache, is equal to the ratio of the probability
that she has both the severe stomach ache and food poisoning,
to the probability that someone has a severe stomach ache,
whether or not he has food poisoning. The probability of
having a [severe stomach ache is given as the sum of the
conditional probabilities of having a severe stomach ache, given
food poisoning or given no food poisoning, weighted by the
probability of food poisoning and not food poisoning,
respectively. If the general knowledge was as follows:
P(H) = 0.0002 P(E|H) = 0.8 P(E|-H) = 0.16 .
Then, P(E) = (0.8) (0.0002) + (0.16) (0.9998) = 0.160128, and
P(H|E) =! (0.8) (0.0002) / (0.160128) = 0.0009992. Therefore,
Jane has i a 0.09992 percent chance of having food poisoning,
given she has a severe stomach ache.
The pie chart of Figure 1.1: Food poisoning and the
possible symptoms, gives a graphical illustration of Bayes' rule.
CZ3 B =f B1 + B2 + B3 + B4
CZD A = A1 + A2 + A3 + A4
B1 = stomach aches
B2 = fevers
B3 = headaches
B4 = vomitting
A1 = food poisoning
with stomach aches
A2 = food poisoning
A3 = food poisoning
A4 = food poisoning
Figure 1.1: Food poisoning and the possible symptoms.
The; following discussion is with respect to the pie chart
of Figure 1.1 . The outer circle represents all symptoms or
evidence !leading to the conclusion of food poisoning. The
darker shaded area in the center of the circle represents the
hypotheses of food poisoning. Other hypotheses for these
symptoms! are not shown on this chart. Although, this chart is
not drawn to a realistic scale, the areas of the pie chart
represent percentages. Now to illustrate Bayes' rule, P(H|E) will
be determined with the evidence E being a stomach ache and
the hypothesis H being food poisoning. The probabilities are
defined as follows:
P(H) = A
P(?|H) = A1 / A
P(E|-H) = (B1 Al) / (B A)
P(E) = P(E|H) P(H) + P(E|-H) P(-H)
! = (Al / A) A + [(Bl Al) / (B A)] (B A)
= Al + (Bl Al)
= Bl .
Now these are inserted into Bayes' rule:
P(H|E) = [P(E|H) P(H)] / P(E)
, = [(Al / A) A] / Bl
i, = Al / Bl .
The outcbme of Al / Bl is just as expected. The probability of
Al, given Bl should equal the number of Al's divided by the
total number Bl's (that is Bl's with A and without A).
; Bayes' rule can be successfully applied in the
inference; network only when the exact probabilities of the
evidence or the hypotheses are known. If the inputs (the
evidence) of a network are known with certainty, Bayes' rule
can be used to determine the probability of the first interior
layer of hypotheses in the network. The subsequent layers
must be iupdated using "subjective Bayesian" rules. This
technique1 of updating has proved useful in expert systems
such as PROSPECTOR, which has successfully helped locate
deposits of several minerals . The main problem with
Bayes rule is that it depends on the global assumption that the
evidential variables are independent.
Odds and Baves' Rule
As mentioned above, Bayes' rule is generally stated
P(H|E) = [P(E|H) P(H)] / P(E) .
The probability for the negation of the hypothesis using Bayes'
P(~H|E) = [P(E|-H) P(-H)] / P(E) .
The odds likelihood formulation for Bayes' rule is obtained by
dividing the two formulas above. The odds of an event X
relates to the probability as follows:
O(X) = P(X) / [1 P(X)] .
Or to express the probability in terms of the odds, the equation
is rewritten as:
P(X) = O(X) / [1 + 0(X)] .
Now the odds-likelihood form of Bayes' rule is
! 0(H|E) = X 0(H) ,
where 0(H) is the prior probability on H and X is defined as the
likelihood ratio P(E|H)/P(E|-H). In the network, the odds on H,
with evidence E, is updated by multiplying the prior odds on H
by the likelihood ratio X. X is supplied by the expert for each
rule in the network. If X is much larger than 1, the rule has
high strength indicating that the presence of E makes it much
more probable that H is true. X is called the sufficiency
coefficient because the presence of E is sufficient evidence to
assume that H is true. This condition is depicted in Figure 1.2:
Sufficiency relationship between E and H.
Figure 1.2: Sufficiency relationship between E and H.
| If X is much less than 1, the presence of E reduces
the probability of H, but is sufficient for -H. This case is
depicted in Figure 1.3: E is sufficient evidence to assume -H.
i A simple analogy to sufficiency would be: the
presence of chocolate chip cookies is sufficient evidence that
chocolate chips are present. But the presence of chocolate chips
is not sufficient evidence that chocolate chip cookies are
I The following equation can be utilized when E is
0(H|-E) = X' 0(H)
where X is defined as
P(-E|H) / P(-E|-H) = [1 P(E|H)] / [1 P(E|-H)] .
; X' is called the necessity coefficient because E is
necessary for H to be true, but not sufficient to guarantee that
H is true: A simple analogy of this is the following: flour is
necessary for chocolate chip cookies, but not sufficientthe
recipe still requires chocolate chips, eggs, sugar, and butter.
The presence of flour does not guarantee chocolate chip
cookies; the outcome could be a loaf of bread or muffins. What
X' does provide is a means of updating the odds on H when the
information about E is in the negative. These ideas are
depicted in Figure 1.4: Possible hypotheses, given the evidence
Figure 1.4: Possible hypotheses, given the evidence flour.
; X' and X are not dependent on each other, but can
be related in the following equation:
X' = [1 X P(E|-H)] / [1 P(E|-H)] .
: Therefore, the expert must supply values for both X
and X' for every arc in the inference network. See Figure 1.5:
Arc in an inference network, labelled with the sufficiency and
necessity coefficients. These values should be somewhat
consistent, in that if X is greater than 1, indicating that the
presence |of E supports H, then X' should be less than 1 so that
the absence of E inhibits H, or vise versa. In this network, the
evidence E either supports or inhibits the hypothesis H, but
some systems such as MYCIN  allow positive knowledge of
E to support H (i.e. X > 1), while negative knowledge of E has no
effect (X'|= 1).
(X = 1.8, X1 = 0.6)
Figure 1.5: Arc in an inference network, labelled with the
sufficiency and necessity coefficients.
P(H|E) is dependent on the certainty with which E is
known. E is observed from E', and H is updated via E, yielding
Figure 1.6: Inference with uncertain evidence E*. Figure 1.7: A
linear interpolation for computing P(H|E) from P(E|E), could be
used to obtain values for P(H|E') with P(E|E') between 0 and 1.
P(E|E'): current probability of E
Figure 1.7: A linear interpolation for computing P(H|E) from
This simple interpolation restricts the prior
probabilities of E and H to be consistent with one another. If
the prior probability of E, P(E), is used for P(E|E'), the resulting
update fpr P(H|E') should equal P(H), the prior probability of H.
But as shown in Figure 1.8: Inconsistencies in prior
probabilities for E and H, these do not always coincide. Because
it is difficult for the expert to choose consistent prior
probabilities, the linear interpolation is not utilized for this
P(E|E'): cunrent probability of E
Figure 1.8: Inconsistencies in prior probabilities for E and H.
: In this case, Pc(E), the prior probability of E which
would bdconsistent with the prior probability chosen for H, is
considerably larger than P(E). There are many piecewise-
linear methods to combat the zone of inconsistency between
P(E) and. Pc(E).
One method of solving this problem is to introduce
a dead zone between P(E) and Pc(E), in which the updated
P(H|E') would remain at P(H). The reasoning behind this
algorithm; is that if the user cannot give a response outside this
interval, then he is not sufficiently certain of his response to
justify a; change in the current probability of H. This is shown
in Figure 1.9: Piecewise-linear function with dead zone for
P(E|E): cuirent probability of E
Figure 1.9: Piecewise-linear function with dead zone for
If the expert states rules in which the presence of E
the odds on H, but the absence of E has no significant
impact, the knowledge engineer may wish to use a piecewise-
linear function in which the lack of E has no effect. In other
words, if P(E|E') is less than PC(E), P(H|E') remains at P(H). The
evidence E may be sufficient for H, but is not necessary. Such
an algorithm is depicted in Figure 1.10: "Sufficiency-only"
updating function. Holding all values of P(H|E') > P(H) restricts
, ( i
the expert from allowing X > 1, and X' = 1.
P(E|E): current probability of E
Figure 1.10: "Sufficiency-only" updating function.
! Or conversely, if the expert states his rules in terms
of necessity, the inference network may be built with the
function shown in Figure 1.11: "Necessity-only" updating
function. In this case, a low value for P(E|E') (i.e. > Pc(E)) can
negatively influence P(H|E'), but a high value of P(E|E') cannot
raise the I value of P(H|E') over P(H). This is an appropriate
function when E is necessary for H, but not sufficient.
Figure 1.11: "Necessity-only updating function.
There are numerous options to chose from in
selecting; the proper function for an expert system. The
function depicted in Figure 1.12: Interpolation function used in
the MYCIN system, successfully handled uncertainty in the
MYCIN system .
P(E|E): current probability of E
Figure 1.12: Interpolation function used in the MYCIN system,
where Pt(E) = P(E) + t [1 P(E)], with t = 0.2.
j The updating method shown in Figure 1.13:
Piecewise-linear function for updating the probability of a
hypothesis, is later utilized in the inference network developed
in this thesis. This method solves the inconsistency problem
without inhibiting the updating in any regions. The following
equations are used to implement this technique:
1. P(H|E) is computed from P(H), A, and A', using the following
P(H|E) = 0(H|E) / [1 + 0(H|E)] = A 0(H) / [1 + A 0(H)] .
2. P(H|-E) is computed with the following equation:
P(H|-E) = 0(H|-E) / [1 + 0(H|-E)] = A' 0(H) / [1 + A 0(H)] .
3. P(H|E') is computed from P(E|E) as follows:
P(H|E') = P(H|-E) + P(E|E') [P(H) P(H|-E)] / P(E)
for P(E|E') < P(E), and
P(H|E') = P(H) + [P(E|F) P(E)] [P(H|E) P(H)] / [1 P(E)]
for P(E|E') > P(E).
Figure 1.13: Piecewise-linear function for updating the
probability of a hypothesis.
Traveller's Restaurant Selection Problem
The topic of this inference network is the "The
Traveller's Restaurant Selection Problem." A traveller wishes
to choose a good restaurant for dinner. To make his selection,
he can observe many details about the restaurant before going
inside arid being seated. These observations are then used as
the inputs to the network to predict the overall food quality.
The nice aspect of this problem is that anyone can
be an "expert" in determining his own taste in restaurants. The
' I '
expert forms the basic network structure by determining the
relative inputs, the interior states, the outputs, and the
relationships among them. After the basic network is
established, the expert and knowledge engineer tweak the
system to the desired behavior.
Figure 1.14: Probabilistic inference network for the
Traveller's Restaurant Selection, shows the basic framework of
the network. The first column of nodes is formed from the
observable details of the restaurant. These include the
1. DECOR is high when the restaurant is nicely decorated.
2. "jTABLE-SETTING is high when the setting contains nice
dishes, silverware, linen napkins, flowers, or candles. 3 4 5 6
3. | SURFACE-CLEANLINESS is high when the table, dishes,
1 and floor appear to be clean.
4. AIR is high when the air is fresh.
5. SOUNDS is high when the noise is low and the music is
6. |: CLIENTELE is high when diners are well dressed and
7. MENU is high when the menu contains interesting and
8. PRICES is high when the prices are reasonable.
9. | SERVICE is high when the staff appears courteous and
The second column of the network represents
abstract Qualities of the restaurant that form a summary of the
inputs. These include Popularity, Elegance, Artistry, and
Cleanliness. The third column represents specific qualities
about the; food, which are predicted from the previous column
of abstract qualities of the restaurant. These include Taste,
Texture, Appearance, Quantity, Correctness, Nutrition, and
Hygiene.!, And the final column is the output node: Overall-
Figure 1.14: Probabilistic inference network for the
Traveller's Restaurant Selection Problem.
! INFERENCE NETWORK #1
Expert #1 provides her opinions about restaurants
as a whole. The first question asked of the expert is "In your
opinion, what is the probability that a restaurant (any
restaurant) has good decor?" This probability question is asked
about every node in the network. These values are written
into the program as the "prior probabilities." Next, the expert
is asked for "current probabilities," which are her opinions
about a specific restaurant. The expert supplies opinions only
for the network inputs, the first column of the network,
because these are the only observable items. The current
probabilities for the nodes of the subsequent layers are set
equal to the prior probabilities.
Next the expert supplies values for the sufficiency
and necessity coefficients, X and X', for every arc in the
network. Note that the input nodes do not have any incoming
arcs to update their values; the expert simply chooses their
current probabilities when evaluating a particular restaurant.
The prior probabilities, necessity and sufficiency
coefficients form the basic inference network. The first
restaurant is ready to be evaluated when the expert has chosen
current probabilities for the inputs.
System Behavior and Analysis
Chili's Bar and Grill was the first restaurant
evaluated: by Expert #\. The program rated Chili's Overall-
food-quality at 79%. But this number does not have any
meaning until there are other restaurant evaluations to
compare \yith it. Expert #1 may have an opinion that is
skewed, thus creating a network that doesn't fully utilize the 0
to 100% i scale. For example, an expert may feel that most
restaurants should be above 75%, or that there should be a Bell
curve centered at 50%. Either may be correct, as long as the
network performs as the expert desires. In the first attempt,
Expert #V supplied the values shown in Table 2.1: Current
probability inputs for four restaurants: Chili's Bar and Grill,
Grisanti's Restaurant, Benigan's, and Wolfs Restaurant and
Lounge. The network response is shown in Table 2.2: Interior
node values and outputs for four restaurants. Expert #1 was
not satisfied with the initial results.
Table 2.1: Current probability inputs for four restaurants
1 . Chili's Grisanti's Beniean's Wolfs
11 Decor 0.7 0.9 0.8 0.6
Table-setting 0.6 0.6 0.6 0.6
Surface-clean 0.5 0.9 0.5 0.5
Air I 0.7 0.9 0.8 0.4
Sounds 0.7 0.3 0.7 0.5
Clientele, 0.9 0.8 0.7 0.2
Menu 0.8 0.9 0.8 0.3
Prices 0.6 0.4 0.7 0.9
Service 0.7 0.6 0.2 0.7
Table 2.2; Interior node restaurants. Chilis values and outputs for Grisanti's Beniean' four s Wolfs
Popularity 0.78 0.52 0.69 0.30
Elegance 0.81 0.73 0.51 0.21
Artistry 0.85 0.91 0.69 0.61
Cleanliness i 0.56 0.88 0.62 0.36
Taste 0.72 0.61 0.68 0.37
Texture , 0.72 0.61 0.68 0.37
Appearance 0.75 0.78 0.68 0.65
Quantity 0.68 0.61 0.66 0.55
Correctness 0.71 0.68 0.63 0.48
Nutrition 0.76 0.60 0.59 0.31
Hygiene] 0.44 0.65 0.48 0.31
Food-quality i 0.79 0.67 0.65 0.11
Out of the four restaurants, Grisanti's is Expert
favorite with Chili's as a close second, Benigan's as a more
distant third, and Wolfs at the very bottom. At this point,
expert decided to verify that the current probabilities in Table
2.1 were consistent with one another. For example, is the Decor
of the restaurants properly ranked with Grisanti's = 0.9,
Benigan's = 0.8, Chili's = 0.7, and Wolfs = 0.6? In retrospect,
the expert decided Chili's and Benigan's Decor were very much
alike and should be equally ranked at 0.8. This comparison
was done for each input. The updated values are listed in
Table 2.3; Revised current probability inputs for four
restaurants. The outcome of these adjustment is shown in
Table 2.4: Interior node values and outputs using revised
Table 2.3: Revised current probability inputs for four
' Chili's Grisanti's Benigan's Wo]
1 Decor j! 0.8 0.9 0.8 0.6
Table-setting 0.6 0.7 0.6 0.6
Surface-clean 0.5 0.9 0.5 0.6
Air ,i! 0.8 0.9 0.8 0.5
Sounds 0.7 0.4 0.7 0.5
Clientele 0.7 0.9 0.7 0.4
Menu i 0.8 0.9 0.8 0.3
Prices j 0.7 0.4 0.7 0.9
Service 0.7 0.6 0.1 0.7
Table 2.4: Interior node values and outputs for four
restaurants using revised current probability inputs.
I Chili's Grisanti's Beniean's Wolfs
Popularity 0.69 0.64 0.69 0.37
Elegance 1 0.74 0.84 0.37 0.29
Artistry ! 0.88 0.92 0.55 0.61
Cleanliness 0.62 0.88 0.62 0.43
Taste !' 0.68 0.66 0.68 0.47
Texture 0.68 0.66 0.68 0.47
Appearance 0.77 0.78 0.62 0.65
Quantity 0.66 0.64 0.66 0.57
Correctness 0.69 0.71 0.57 0.59
Nutrition 0.71 0.67 0.53 0.44
Hygiene j 0.48 0.65 0.48 0.35
Food-quality 0.75 0.74 0.60 0.30
The restaurants are still not properly ranked.
Instead of experimenting with four restaurants and the entire
network,; a few simple tests were utilized to determine the
basic behavior at a node.
Behavior at a Node
When a node and its inputs are singled out of the
network, an isolated analysis of its value, given different input
scenarios, can be performed. The Popularity node is chosen for
simplicity because it has only two inputs, as shown in Figure
2.1: The Popularity node and its inputs, Sounds and Clientele.
Figure 2.1: The Popularity node and its inputs, Sounds and
The results of the following input scenarios will be
analyzed and plotted.
1. Sounds and Clientele vary from 0 to 1, together.
2. Sounds varies from 0 to 1, and Clientele varies from 1 to 0.
3. Sounds varies from 0 to 1, while Clientele is held at 0.5.
4. Sounds varies from 0 to 1, while Clientele is held at 0.3.
5. Sounds varies from 0 to 1, while Clientele is held at 0.8.
The first plot to be analyzed is shown in Figure 2.2:
The resulting value of the Popularity node with Input Scenario
#1: Sounds and Clientele vary together from 0 to 1. Popularity
starts at 0.11 and ends at 0.84. As expected, this scenario
produced, both the minimum value for Popularity when both
inputs were 0, and the maximum value when both inputs were
; ' / \
!' / i
: | l
1 11 1 II1 1 II1 1 mr
Clientele = 0 to 1
Figure 2.2: The resulting value of the Popularity node with
Input Scenario #1: Sounds and Clientele vary together from 0
The second plot to be analyzed is shown in Figure
2.3: Th^ resulting value of the Popularity node with Input
Scenario #2: Sounds varies from 0 to 1, while Clientele varies
from 1 to 0. Popularity starts at 0.45 and ends at 0.45, with a
peak value of 0.50 at the center of the curve. Equal starting
and ending values indicate that Expert #1 has placed
approximately equal importance on Sounds and Clientele in
determining if a restaurant is Popular. She plans to change this
behavior because she believes that the Clientele is the
dominating input in determining Popularity. The peak in the
center shows that when both inputs are equal to 0.5, the
system gives the best rating. This is a desirable trait, in that, if
one of the two inputs is unusually low, it cannot be
overshadowed by another exceptionally high input. Thus, a
group of average inputs will obtain a higher rating than a
group of j high and low inputs that sum to the average.
Figure 2,3: The resulting value of the Popularity node with
Input Scenario #2: Sounds varies from 0 to 1, while Clientele
varies from 1 to 0.
The third plot to be analyzed is shown in Figure 2.4:
The resulting value of the Popularity node with Input Scenario
#3, #4, arid #5\ Sounds varies from 0 to 1, while Clientele is
held constant at 0.5, 0.3, and 0.8, respectively. Since these
three lines are nearly parallel, the response of this system is
close to linear. Consider Scenario #3 to be the norm for
purposesjpf analyzing Scenarios #2 and #4. Note that at the
start, Scenario #4 is 0.12 less than Scenario #3, but at the end
Scenario #4 is 0.18 less. This supports the system trait
mentioned above that the high input on Sounds cannot
overshadow the low input of 0.3 on Clientele. Scenario #5
starts with a value 0.13 greater than Scenario #3, but this
declines to 0.11 greater at the end. This indicates that the
higher value on Clientele has more impact on Popularity when
the input on Sounds is low.
\ ! J
/ f y J r r
Y i j r r"
: 1 K1 .J J r' r"
TTIT J r" Y-
T rm" TTTT TTTT TTTT TTTT TTTT TTTT l ii i TTTT TTTT
Clientele = 0.5
Clientele = 0.3
Clientele = 0.8
Figure 2.4: The resulting values of the Popularity node with
Input Scenarios #3, #4, and #5: Sounds varies from 0 to 1,
while Clientele is held constant at 0.5, 0.3, and 0.8, respectively.
With knowledge from the experiments above, each
interior node of one restaurant will be analyzed to improve
system performance. Expert #1 has chosen to perform this
indepth analysis on her most frequented restaurantChilis.
Indepth Case Analysis
1 As shown in the first series of tests, one small
change in' Sounds dramatically alters the value of Popularity.
This experiment was carried one step farther to observe the
effect on | pverall-food-quality. A 0.1 increase in Sounds
increased, jOverall-food-quality from approximately 0.5 to 0.7.
Expert #l!; felt that a small change in what she considered to be
an insignificant variable should not affect the Overall-food-
quality that drastically. Reference to Figure 1.14: Probabilistic
inference network for the Traveller's Restaurant Selection
Problem, shows that Sounds is an input to Popularity and
Elegance.'! Popularity is an input to Taste, Texture, Appearance,
Quality, arid Nutrition. Elegance is an input to Taste, Texture,
Correctness, and Nutrition. All of the latter are inputs to
Overall-fobd-quality. With this much fan-out, it is easy to see
how one small change in Sounds could drastically affect the
Overall-fpod-quality. Each arc is considered to be an
independent input, but the expert must weight each arc with
respect to1 the other incoming arcs. Although Expert #1 didn't
agree with all of the intermediate assertions of this network,
she kept;! them in place for the sake of comparison, and
weighted; [them according to her opinion.
;, Inconsistencies between A and A' seemed to cause
havoc. Expert #1 reevaluated her A and A' values, following the
premise that if positive knowledge of E increased the
probability of H, then negative knowledge of E could not
increase the probability of H.
Next, Expert #1 wanted to increase the levels of
Taste, Texture, and Hygiene so that they would have more
significance in determining the Overall-food-quality. The first
reaction jis to increase the current probabilities of the inputs
that have outgoing arcs to these nodes. This may not produce
the desiijed effect, though. These increased current
probabilities will feed into other nodes that perhaps do not
need their values increased.
; The next method of boosting these nodes' values
was to lpwer the prior probability of these nodes. This
experiment was performed on the premise that the prior
probability acted as an average. Thus, to receive a high value*
the current probability had to exceed the prior probability.
This preihise appears to be incorrect. In actuality, a higher
prior probability produced a higher nodal value. This seems to
imply tha: the system expects a higher nodal value, given prior
information that it will be high.
Increasing the sufficiency coefficient values (X) on
the nodes]' incoming arcs produced considerable increases in
the nodal 'values. This works only if the input on the arc is
high. Varying the sufficiencies on the incoming arcs to a node
helped Expert #1 weight the inputs to overcome her dislike of
the connectivity of the network.
' Changing the necessity coefficient (A') did not have
significant effect on the nodal values in this case. If the
incoming-1 arcs had low inputs, then higher necessity coefficients
would increase the nodal value.
i Final Version
l After these methods of increasing the values of
Taste, Texture, and Hygiene were learned, Expert #1 realized
the actual desire was to boost their importance to Overall-food-
quality. Therefore, the final adjustments were made to the
sufficiency coefficients of the incoming arcs to Overall-food-
quality. jin its final form, Expert #l's network yielded the
information given in Table 2.5: Interior node values and
Outputs for four restaurants using revised program. See
Appendix: ;A: LISP Code for Traveler's Restaurant Selection
Problem , , .
Table 2.5!:! Interior node values and outputs for four
restaurants using revised program.
:v Chilis Grisanti's Benigan's Wolfs
1 Popularity 0.69 0.53 0.69 0.44
Elegance1, 0.85 0.87 0.57 0.37
Artistry J, 0.88 0.92 0.70 0.64
Cleanliness 0.62 0.88 0.62 0.52
Taste 1 0.71 0.65 0.64 0.45
Texture j 0.71 0.65 0.64 0.45
Appearance 0.77 0.78 0.69 0.66
Quantity- 0.66 0.61 0.66 0.57
Correctness 0.71 0.72 0.64 0.58
Nutrition 0.68 0.64 0.61 0.45
Hygiene 0.50 0.70 0.50 0.41
Food-quality 0.79 0.82 0.71 0.42
' i j : NOW that the system has desirable behavior for
these four restaurants, the system was used to rate four new
restaurants. This time, Expert #1 chose to compare restaurants
serving submarine sandwiches. The inputs are shown in Table
2.6: Current probability inputs for four submarine sandwich
r '' !l
restaurants. These current probabilities were chosen with
respect to the other submarine sandwich restaurants; they
would be; too high if they were placed in the same rating
category Vjwith the restaurants studied above. Expert #1 was
very pleased with the resulting ranking shown in Table 2.7:
Interior node values and outputs for four submarine sandwich
restaurants: Subcenter, Quizno's Classic Subs, Subway
Sandwiches and Salads, and Michele's Sub Shop.
Table 2:'6j: Current probability inputs for four submarine
[ Subcenter Ouizno's Subwav Michele's
Decor ! 0.6 0.9 0.6 0.6
Table-setting 0.6 0.7 0.5 0.5
Surface-clean 0.4 0.9 0.5 0.4
Air .| 0.8 0.9 0.8 0.2
Sounds ; ii 0.6 0.7 0.5 0.4
Clientele 0.6 0.9 0.7 0.7
Menu jj, 0.8 0.8 0.7 0.6
Prices I1: 0.8 0.6 0.5 0.5
Service I 0.8 0.6 0.4 0.3
Table 2.V;: Interior node values and outputs for four submarine
i I1 Subcenter Ouizno's Subwav Mich
Popularity 0.60 0.78 0.60 0.54
Elegance 0.76 0.92 0.67 0.53
Artistry!, 0.84 0.91 0.71 0.61
Cleanliness 0.55 0.88 0.62 0.24
Taste i; 0.65 0.76 0.62 0.56
Texture'!' 0.65 0.76 0.62 0.56
Appearance 0.75 0.78 0.69 0.65
Quantity 0.63 0.68 0.63 0.61
Correctness 0.69 0.73 0.67 0.63
Nutrition 0.63 0.73 0.61 0.55
Hygiene i: 0.44 0.70 0.50 0.21
Food-quality 0.70 0.89 0.70 0.37
i' Now that the system is performing to Expert #l's
satisfaction, she should rate four restaurants in which she has
never eatjen. Then she should dine at all four restaurants, and
rate the jOverall-food-quality according to her experience.
Comparison of the predicted results and actual results would
; i i'
aid in determining if this inference network is a valid means of
selecting j good restaurants. If the comparison is not favorable,
the following steps should be reworked:
1. Determination of the relevant inputs.
2. Determination of states of nature or decision alternatives.
3. Determination of intermediate assertions.
; i j;
4. Formulation of inference links.
5. Tuning the probabilities and the fuzzy inference functions.
1 r !.
I ;1 Knowledge engineering is the process of capturing,
analyzing!,f and transforming the domain expert's knowledge
into an artificially intelligent (AI) system . The domain
expert mu!st have special knowledge on a topic, which he can
explain in a detailed manner, and can be mapped into an AI
system, jj Judgment, experience, and intuition have proven to be
the most; [difficult aspects for the domain expert to describe.
The knowledge engineer bridges the gap between the domain
expert's knowledge and the explicit rules required by a
computer;, system .
1 Inference Network #2
I Although the example problem may seem fairly
simple, tile knowledge acquisition was somewhat complex due
to the falct that the expert did not have the project background
that the ijdomain expert of a real-life problem would possess.
Expert #2: is an electrical engineer. He had some familiarity
with probability, but no knowledge of Bayes' rule, neural
networks!!! or expert systems. Communicating these concepts to
someone of another discipline may have been more difficult for
' i !!
the knowledge engineer, but it might have added an interesting
twist to 'jthe resulting inference network.
v The first thing Expert #2 did was to rule out all fast
food restaurants. The reason for this was that he did not need
an expert r system to predict the overall food quality. Once the
diner has i: eaten at each type of fast food restaurant, he knows
what to .expect. This observation assumes all restaurants
within aj franchise are identical.
i Next, Expert #2 chose the prior probabilities for the
nodes of, lithe network, and the sufficiency and necessity
coefficients for the arcs of the network. Although the
relationship between the sufficiency and necessity coefficients
was thoroughly explained, Expert #2 allowed both positive and
negative i knowledge of an event to support the same
hypothesis. Knowing full well that the values provided by
Expert #2 would not produce the desired system behavior, the
knowledge engineer generated the initial results. Producing a
prototype!' working model allows the domain expert an easy
1 > i
method of correcting the specific errors and learning about the
nature of!1 the problem. Expert #2 changed his approach after
viewing !the initial results.
j Due to the knowledge engineer's newly acquired
experience with Inference Network #1, UNIX, and the vi editor,
Inference; Network #2 reached the desired performance much
faster than the first. This speed was fortunate due to the
lengthy turn-around time required to implement each change
: i I1
of the network. The inputs for Expert #2 first group of
restaurants is shown in Table 3.1: Expert #2's current
probability inputs for three Italian restaurants. Expert #2 was
pleased, with the final results, which are shown in Table 3.2:
Expert #2s interior node values and outputs for three Italian
restaurants: Olive Garden Italian Restaurant, Grisanti's
Restaurant, and The Saucy Noodle Ristorante.
Table 3.1: Expert #2's current probability inputs for three
' i! : |; Olive Garden Grisanti's Saucy Noodle
Decor f|j 0.8 0.8 0.6
Table-siting 0.6 0.8 0.5
Surface+ejlean 0.9 0.7 0.7
Air !, 0.8 0.8 0.8
Sounds | 0.8 0.4 0.8
Clientele 0.6 0.8 0.6
Menu ! 0.9 0.7 0.9
Prices '! 0.5 0.4 0.4
Service ! 0.8 0.5 0.4
Table 3.2; Expert #2's interior node values and outputs for
three Italian i i ,i restaurants. Olive Garden Grisanti's Saucy Noodle
Popularity 0.58 0.50 0.58
Elegancej 0.89 0.78 0.74
Artistry : 0.79 0.69 0.61
Cleanline'ss 0.82 0.71 0.71
Taste 0.78 0.75 0.74
Texture ! 0.49 0.41 0.45
Appearance 0.48 0.45 0.42
Quantity! 0.63 0.60 0.63
Correctness 0.58 0.53 0.51
Nutrition! 0.20 0.20 0.20
Hygiene ' 0.66 0.57 0.57
Food-quality 0.79 0.70 0.72
COMPARING INFERENCE NETWORKS #1 AND #2
Different Desired Behavior
r For the sake of comparison, Experts #1 and #2
evaluated two identical sets of restaurants. Expert #1 's inputs
and results were shown in Tables 2.1 and 2.2. Expert #2's
inputs ark shown below in Table 4.1: Expert #2's current
probability inputs for four restaurants. The resulting values
are shown in Table 4.2: Expert #2's interior node values and
outputs for four restaurants.
i | Comparison of Expert #1 's and Expert #2's inputs
shows that Expert #2 generally gives lower scores on the
observable qualities than Expert #1. This doesn't mean that he
is more Critical than Expert #1; his system is tailored to his
method of scoring.
Both experts felt that the taste and texture were
very important to the network. The main difference between
the two jexperts is the importance they placed on the elements
of Service, Cleanliness, and Prices. Expert #1 felt that prices
and cleanliness were of substantial importance, while Expert #2
favored service. Although Expert #2's desired behavior was
different from Expert #l's, he utilized many of the same
methods of adjusting the system as Expert #1, which are
described:, in Chapter #2. I
Table 4.1: Expert #2's current probability inputs for four
Chili's Grisanti's Benicans Wolfs
Decor 0.6 0.8 0.6 0.3
Table-sefting 0.6 0.8 0.6 0.3
Surface-clean 0.5 0.7 0.5 0.2
Air | 0.8 0.8 0.8 0.3
Sounds ! 0.8 0.4 0.8 0.5
Clientele 0.6 0.8 0.4 0.2
Menu 0.4 0.7 0.4 0.5
Prices 0.9 0.4 0.4 0.9
Service 0.8 0.5 0.1 0.5
Table 4.2* Expert #2's interior node values and outputs for four
,;i ii Chilis Grisantis Beniean's Wolfs
Popularity 0.58 0.50 0.48 0.23
Elegance! 0.65 0.78 0.23 0.15
Artistry j 0.53 0.69 0.25 0.31
Cleanliness 0.58 0.71 0.58 0.14
Taste ! 0.71 0.75 0.53 0.30
Texture 0.43 0.41 0.25 0.13
Appearance 0.39 0.45 0.27 0.30
Quantity; 0.63 0.60 0.59 0.46
Correctness 0.47 0.53 0.25 0.20
,.' Ji Nutrition;: 0.20 0.20 0.17 0.09
Hygiene! 0.47 0.57 0.47 0.15
Food-quality i 0.65 0.70 0.40 0.05
ii'i Table 4.3: Expert #2's current probability inputs for submarine
; i" Subcenter Ouizno's Subwav Michele's
Decor ; I " 0.3 0.5 0.5 0.5
Table-setjting 0.3 0.5 0.4 0.5
Surface-clean 0.6 0.4 0.3 0.5
Air | 0.4 0.5 0.4 0.4
1 Sounds i 0.5 0.6 0.5 0.5
:| 1 Clientele!. 0.6 0.5 0.5 0.5
Menu 0.8 0.5 0.5 0.6
Prices j; 0.9 0.6 0.4 0.3
Service .!' 0.9 0.6 0.5 0.4
I ; I
.. | I*
Table 4.4; I Expert #2's interior node values and outputs for
submarine!1 sandwich restaurants.
.i r Subcenter Ouizno's Subwav Michele's
M i Popularity 0.41 0.41 0.37 0.37
Elegance |! 0.55 0.43 0.32 0.32
Artistry j 0.55 0.46 0.41 0.44
Cleanliness 0.44 0.34 0.23 0.37
Taste 0.63 0.58 0.52 0.52
Texture i 0.32 0.29 0.25 0.25
Appearance 0.39 0.36 0.34 0.35
Quantity:'!; 0.55 0.55 0.53 0.53
Correctness 0.42 0.36 0.31 0.31
Nutrition! 0.18 0.18 0.17 0.17
Hygiene | 0.35 0.28 0.21 0.31
Food-quaility 0.47 0.37 0.24 0.31
i This paper details the implementation and analysis
of an inference network utilizing subjective Bayesian updating.
Several possible candidates involving back propagation and
rule-based systems were explored before arriving at this
choice. The inference network models general decision-making
in a practical, yet mathematically meaningful way.
Uncertain information is used as the inputs, which
form the' first layer of the network. These inputs are then
summarized into abstractions, which form the first interior
layer(s) of the network. Since the abstracted nodes are
evaluated', from several inputs, the integration reduces the
effects of; noise.
i On the other end of the network, the outputs form
the final layer. As in most design problems, the problem
reduction; stage breaks the desired output down to smaller
problems] In this case, the specific characteristics that directly
affect the: output are determined, as well as the extent of their
individual! importance to the output. I
After the inputs are abstracted and the output is
reduced to simpler problems, these two sets of nodes must be
linked to form the network. One method of approaching this
task is through Bayes' rule, which is commonly applied to the
exercise of computing conclusions from premises.
'1 The expert provides his degree of belief or
uncertainty in the inputs, the hypotheses, and the relationships
between the two categories. These are then represented as
probabilities and linked together via Bayes' rule and a
subjective form of Bayes' rule. Bayes' rule states that the
probability of the hypothesis H being true, given that the
evidence ;E is true, is equal to the ratio of the probability that
the evidence and the hypothesis are true, divided by the
probability that the hypothesis is true, whether or not the
evidence jis true. Bayes' rule is normally converted to an odds-
likelihood j1 ratio form for the domain expert's benefit.
There are many updating functions, which depend
on how the domain expert expresses the rules. The chosen
method solves prior probability inconsistencies without
inhibiting!1 the updating in any regions.
The Traveller's Restaurant Selection Problem from
Tanimoto's book The Elements of Artificial Intelligence was
utilized to demonstrate this method. Although the subject
matter may seem trivial, the design concepts of this example
problem can be applied to an entire class of inference
networks,| > including automobile diagnosis, weather prediction,
medical diagnosis, and stock market predictions. When the
example problem is comprised of simple subject matter, the
underlying design principles of inference networks can be
more clearly focused upon.
| The behavior analysis was performed at the nodal
level as well as the system level. An exercise in knowledge
engineering was also performed.
| As noted above, this problem encompasses a large
group of! general design projects. The knowledge gained in the
building jand refining of this project is easily transferred to
: With the proper design, expert systems can provide
valuable jtools for many commercial applications. It is my
sincerest i hope that corporations continue to allocate resources
and funds toward further developments in this field.
LISP COEIE FOR TRAVELERS RESTAURANT SELECTION PROBLEM
. I "
; The Traveling Diner
______INFNET.LSP _ . ____ . _ . _____
; A LISP implementation'of an' iNFerence NETwoYk that
; uses subjective-Bayesian updating of certainty values.
; Given values of particular evidential variables,
; the system determines the certainty value of several
; intermediate variables and a summary variable.
; The problem solved is the prediction of food quality
; in a restaurant:
; the "Traveller's Restaurant Selection Problem"
la (defun odds (prob)
o (/ prob (- 1.0 prob)))
(defun prob (odds)
(/ odds (+ 1.0 odds)))
Each node of the inference network is represented by an
atom with its property list. The next function helps
to set up these representations.
'name) (first list))
'prior_prob) (second list))
'prior_odds) (odds (second list))
'current_prob) (third list) )
'current odds) (odds (third list))
'arcs) (Tourth list) ))
(defun current_prob (n) (get n 'current prob))
(defun priorprob (n) (get n 'prior_prob))
(defun current odds (n) (get n 'current_odds))
(defun prior_ocTds (n) (get n 'prior_odds))
|d^efun_ s.u.f f i_cienc.y. ( ar.c ). ^( second arc. T:
( def un TTeces sI ty ( arc )= (thi rd arc ) )
; Here we set up nodes for the Primary Evidential Variables:
(define node '(decor 0.5 0.8 ( ) ) )
(define" node '(table_setting 0.4 0.6 ( ) ) )
(define" "node '(surface_cleanliness 0.5 0.5 ( ) ) )
(define" "node '(air 0.6 0.8 ( ) ) )
(define" "node ' (sounds 0.5 0.7 ( ) ) )
(define" "node '(clientele 0.5 0.7 ( ) ) )
(define] ]node '(menu 0.4 0.8 ( ) ) )
(define" "node '(prices 0.5 0.7 ( ) ) )
(define" "node '(service 0.4 0.7 ( ) ) )
(setf reporting nil)
; Here are declarations for the Lumped Evidential Variables:
'(popularity 0.5 0.5
3.0 0.25) ) ) )
(define_node '(elegance 0.4 0.4 (indep
(arc menu 2.0 0.33)
(arc prices 0.4 1.0)
(arc service 3.0 0.25) )))
(define_no.de./ ( artistry 0.5 0.. 5^(indep_-_^---^^ . . . . -
...... - -(arcdecor 3.0 TK25F
(arc table_setting 3.0 0.25)
(arc menu 3.0 0.25)
(arc service 2.0 0.33) )))
'(cleanliness 0.5 0.5 (indep
(arc surface_cleanliness 5.0 0.1)
(arc air 3.0 0.25) ) ) )
; Here are node definitions for the Predicted Component Variables:
(define node '(taste 0.5 0.5 (indep (arc popularity (arc elegance 3.0 2.0 0.25) 0.33) ) ) )
(define node '(texture 0.5 0.6 (indep (arc popularity (arc elegance 3.0 2.0 0.25) 0.33) ) ) )
(define node '(appearance 0.6 0 .6 (indep (arc artistry 3.0 0.25) ) ) )
(define node '(quantity 0.6 0.6 (indep (arc popularity 2.0 0.33) ) ) )
(define node '(correctness 0.6 0.6 (indep (arc elegance 2.0 0.33) ) ) )
(define node '(nutrition 0.5 0
2.0 0.33) )))
(define_node '(hygiene 0.4 0.4 (indep
(arc cleanliness 6.0 0.07) )))
; Here is the Predicted Summary Variable node:
(define_node '(overall_food_quality 0.5 0.5 (indep
(arc taste 5.0 0.1)
(arc texture (and-marker 5.0 0.1) )
(arc appearance 2.0 0.33)
(arc correctness 2.0 0.33) )
(arc quantity 2.0 0.33)
(arc nutrition 2.0 0.33)
(arc hygiene 5.0 0.1) ) ) )
; Compute P(H | E') for a single arc.
(defun update_prob (h arc)
((> (current_prob (first arc))
(prior_prob (first arc)) )
(report_progress 'supportive arc)
(M/(-(prob (* (sufficiency arc) (prior_odds h)))
(prior prob h) )
(- 1.0 (prTor_prob (car arc ))) )
(- (current_prob (car arc))
(prior_prob (car arc)) ) ) ) )
(t (report progress 'inhibitive arc)
( + (prol5 (* (necessity arc ) (prior_odds h)))
(* (/ (- (prior_prob h) (prob (* (necessity arc) (prioc_odds h))))
(prior_prob (car arc) ) ) _ ___________;^
: (^drteri^p;rt)b'-(^a^:ar^)4 ^)^) ) r )-^ ^ "
; If REPORTING is not NIL then describe progress of updating:
(defun report progress (x arc)
(cond ((nuTl reporting) nil)
(t (format t "~%~a along arc ~a~% with prior odds ~a"
x h arc (prior_odds h))
(format t "~% The prior and current prob of E are ~a, ~a"
(prior prob (first arc)) (current prob (first arc)) )
o\ (format t "~%"7) ) )
; Determine the odds updating factor along the ARC specified,
; given the prior and current probabilities and odds for
; the predecessor node, the priors for the node H, and
; SUFFICIENCY and NECESSITY values along the arc.
(defun effective_arc_lambda (arc)
(/ (odds (update prob h arc))
(prior_odds hj ) )
Determine the updating factors for all arcs coming into H
and multiply them to get an overall odds updating factor.
This scheme assumes that the arcs are treated as if their
influences were independent.
(defun combine indep_lambdas (arc_exp)
(print_lambcfas (mapcar #'eval_arc exp (rest arc_exp)))
(apply #'*(mapcar #'eval_arc_exp frest ARC_EXP) ) ) )
(defun print_lambdas (x)
; (format t "effective arc lambdas= ")
; (dolist (y x) (format t "~4,2f "y)))
(defun combine_conjunctive_lambdas (arc_exp)
(cdr arc_exp) ) ) )
(defun combinedisjunctivelambdas (arcexp)
(cdr arc_exp) ) ) )
(defun update nodes (nodes)
(cond ((nuTl nodes) nil)
(t (update_node (car nodes))
(update_nodes (cdr nodes)) ) ) )
; The function EVAL_ARC_EXP evaluates an arc expression,
; an effective odds updating factor that takes effects of
; the arcs in the expression into account.
(defun eval_arc_exp (arc_exp)
(cond ((eq (car arcexp) 'arc)
(effective_ARC_LAMBDA (CDR ARC_EXP)))
((EQ (CAR ARC_EXP) 'indep)
(combine_indep_lambdas arc exp) )
((eq (car arc exp) and-marlcer)
(combine_con3unctive_lambdas arc_exp) )
((eq (car arc exp) 'or-marker)
(combine_disjunctive_lambdas arc_exp) )
(t (print '( illegal a ? c^ ej^p te s si o^in_ (printL ar^exp.)) ) )
(defun update_node (h)
(setf (get h 'current odds)
(* (prior_odcfs h)
(eval_arc_exp (get h 'arcs)) ))
(setf (get h 'current_prob)
(prob (current_odds h)) )
(format t "~% Updated value of node ~a= ~4,2f "
h ( current_j?rob h) )
; (format t "~%")
_ ) )
; Make a pass through the non-input nodes,
; updating their probabilities:
(defun test ()
(update_nodes '(popularity elegance artistry cleanliness
taste texture appearance quantity
correctness nutrition hygiene
(defun simple_test ()
(update_nodes '(popularity elegance)))
 Jeffrey Richardson and Marjorie J. DeFries, Intelligent
Systems in Business. Norwood, New Jersey: Ablex, 1990.
 E. Sanchez and L. A. Zadeh, Approximate Reasoning in
Intelligent Systems. Decisions and Control. New York:
Pergamon Press, 1987.
 Steven L. Tanimoto, The Elements of Artificial
Intelligence Using Common LISP. New York: Computer
Science Press, 1990.
 Linda A. Murray and John T. E. Richardson, Intelligent
Systems in a Human Context. New York: Oxford
University Press, 1989.
 Ian ;praham and Peter Llewelyn Jones, Expert Systems
Knowledge. Uncertainty, and Decision. New York:
Chapman and Hall Ltd., 1988.
 J. Stephen Judd, Neural Network Design and the
Complexity of Learning. Cambridge, Massachusetts: The
MIT: Press, 1990.
 Murray Shanahan and Richard Southwick, Search.
Inference and Dependencies in Artificial Intelligence.
New York: Ellis Horwood, 1989.
 David Anderson, Artificial Intelligence and Intelligent
Systems: The Implication. New York: Halsted Press,
 Yun; Peng, Abductive Inference Models for Diagnostic
Problem-solving. New York: Springer-Verlag, 1990.
 George C. Canavos, Applied Probability and Statistical
Methbds. Boston, Massachusetts: Little, Brown &
Company Limited, 1984.
 R. Q. Duda, P. E. Hart, K. Konolige, and R. Reboh, A
Computer-Based Consultant for Mineral Exploration.
Teqh. rep., SRI International, 1979.
 Richard O. Duda, Peter E. Hart, and Nils J. Nilsson,
"Subjective Bayesian Methods for Rule-based Inference
Systems," Proceedings National Computer Conference
(AFIPSL Volume 15, 1976.
 Bruce G. Buchanan and Edward H. Shortliffe, Rule-based
Expert Systems: The MYCIN Experiments of the Stanford
Heuristic Programming Project. Reading, Massachusetts:
Addison Wesley Publishing Company, Inc., 1989.
 Keri Tracton, Programmer's Guide to LISP. Blue Ridge
Summit, Pennsylvania: TAB Books Inc., 1980.
 Guy L. Steele Jr., Common LISP. Bedford, Massachusetts:
Digital Press, 1990.
 Patrick Henry Winston and Berthold Klaus Paul Horn,
LISP!. Reading, Massachusetts: Addison-Wesley
Publishing Company, 1989.
 Dimitris N. Chorafas, Knowledge Engineering. New York:
Van Nostrand Reinhold, 1990.
 Richard Forsyth, Expert Systems. Principles and Case
Studies. New York: Chapman and Hall Ltd., 1989.