Knowledge Base Systems
production rule representation.
These are a form of knowledge representation
which have found widespread application in AI
particularly in the area of Expert Systems.
Production systems consist of three parts:
a) A rule base consisting of a set of production
b) the data
c) an interpreter which controls the systems
A production rule can be thought of as a
condition action pair. They take the form
IF condition holds THEN do action e.g.
IF traffic light is red THEN stop car
Firing Production Rules
A production rule whose conditions are
satisfied can fire, i.e. the associated
actions can be performed.
Conditions are satisfied or not according to
what data is currently available.
Existing data may be modified as
production rules are fired. Changes in data
can lead to new conditions being satisfied.
New production rules may then be fired.
The decision which production rule to fire
next is taken by a program known as the
The interpreter therefore controls the
systems decisions and actions and must
know how to do this.
Production systems were first proposed in
1943 by Post.
Present day systems however bear little
resemblance to those earlier ones.
Newell and Simon in 1972 used the idea
of production systems for their models of
human cognition and AI in general has
found widespread use for them.
Davis and King (1977) proposed the following criteria for
problem domains where productions rules are suitable.
1: Domains in which knowledge is diffuse, consisting of
many different strands of knowledge rather than some
domain which is based on a unified theory like Physics.
2: Domains in which processes cane be represented as
a set of independent actions as opposed to domains with
3: Domains in which knowledge can be easily separated
from the manner in which it is to be used as opposed to
cases where representation and control are merged.
Knowledge Base Systems
Knowledge Base systems are intended to
perform tasks which require some
specialized knowledge and reasoning.
Medical diagnosis, geological analysis,
and chemical compound identification are
examples of tasks to which Knowledge
Base systems have been applied.
Knowledge Base systems are often called
expert systems because the problems in
their application domain are usually solved
by human experts.
For example medical diagnosis is usually
performed by a doctor.
Parts of a Knowledge Base System
Knowledge Base systems consist of Four
The Knowledge Base,
The Inference Engine
The User Interface and
Knowledge Acquisition Module
The knowledge to which the Knowledge Base
system has access, is stored in the Knowledge
Base, (hence the name).
The Inference Engine is the part of a Knowledge
Base system which is responsible for using its
knowledge in a productive way.
The Knowledge Base system's reasoning
mechanisms are built into the Inference Engine.
Most Knowledge Base systems employ
deductive reasoning mechanisms.
The Knowledge Base system communicates
with the user through the User Interface.
In many applications the Knowledge Base
system is required to explain its reasoning to the
user. This is particularly true in situations such
as the identification of chemical structures where
new results must be verified.
The Explainer is that part of the Expert System
which provides explanation and verification
Knowledge Acquisition Modules
These help with acquiring the systems
They do a variety of tasks for example in some
systems they provide system analysis facilities
similar to those of database development tools
Mostly they help encode the knowledge from a
high level format into a computer usable
Obviously the knowledge to which a
Knowledge Base system has access is no
good to it, if it cannot use it to solve the
problems in the application domain.
Therefore the systems knowledge must be
represented in a form which can be
manipulated by the reasoning
mechanisms of the Inference Engine.
While the Knowledge Base, the IE and the User
Interface are essential components, in many Knowledge
Base systems there are also facilities to help in the
acquisition of new knowledge.
Teiresias, [DAVIS '76], which is used in association with
MYCIN, [Shortliffe '76, Davis '76] is an example of such
It elicits high level information from the user which it
converts into structured knowledge for its Knowledge
Base. It also performs consistency checks on the
updated knowledge base.
The ability to acquire new knowledge is important since
the amount of knowledge to which a system has access
determines the range of problems which it can solve.
Applications of Knowledge Base
Knowledge Base systems have been applied to many
diverse problem domains, such as the following.
Diagnostic Aids such as MYCIN, [Shortliffe '76, Davis
'76], which diagnoses bacterial blood infections and
PUFF, [Kunz et al '78], which diagnose pulmonary
MYCIN was a joint venture between Dept. of Computer
Science and the Medical School of Stanford University.
Much of the work took place in the 1970's.
Mycin was designed to solve the problem of diagnosing
and recommending treatments for meningitis and
bacteremia, (blood infections).
Aids to Design and Manufacture such as
R1, [McDermott '82], which configures
Teaching Aids such as SCHOLAR
[Carbonell '70] which gives Geography
Tutorials and SOPHIE, [Brown et al '82],
which teaches how to detect breakdown in
Recognition of forms, e.g. DENDRAL,
[Buchanan and Feigenbaum '78, Lindsay et al
'80], which recognizes the structures of
Robotics e.g. SHDRLU, [Winograd '73], which
manipulates polygons in a restricted
Game playing systems such as Waterman's
Poker Player, [Waterman '70], and
Automatic theorem Provers such as AM, [Lenat
Roth et al '83, Handbook A.I. '82,
Waterman '86], describe some more categories
than those mentioned above. These include
Planning systems such as NOAH, [Sacerdoti
'75] and MOLGEN, [Friedland '75] and
Prediction systems such as Political Forecasting
Systems, [Schrodt '86] based on the Holland
Classifier, [Holland '86].
Based Expert Systems
a set of
describing the current
a set of
describing the expert
facts and rules in reasoning
Architecture of Rule
Base / Rule
stores expert knowledge as “condition
rules” (or: if
objects or frame structures are often used to
represent concepts in the domain of expertise,
e.g. “club” in the golf domain.
stores initial facts and generated facts derived by
the inference engine
additional parameters like the “degree of trust” in
the truth of a fact or a rule (
certainty factors) or
probabilistic measurements can be added
Knowledge engineering is a general term
for the processes involved in building
expert systems: planning, knowledge
acquisition, system building,system
installation, system maintenance.
In the following notes "KE" stands for
knowledge engineer, and "DE" stands for
Architecture of Rule
part of rules against facts
stored in Working Memory (pattern matching);
rules with satisfied condition are active rules and
are placed on the agenda;
among the active rules on the agenda, one is
conflict resolution, priorities of
as next rule for execution (“firing”)
consequence of rule can add new facts to
Working Memory, modify facts, retract facts, and
Rules to determine ‘grade’
If study then get good_grade
If do not_study then get bad_grade
If go_out then do not_study
If stay_home then study
If awful_weather then stay_home
Ask the following questions of the expert
: If the weather is awful, do you get a
good or bad grade?
: When do you get a good grade?
given fact: awful_weather
Answer Question 1 Good Grade
Exercise Answer question 2 with forward
and backward chaining
Note we presented a rule chain when we solved
If we asked How do you know we get a good
grade in awful weather we can say that
By rule 6 if the weather is awful stay at home
By rule 5 If stay at home then you will study
And finally By rule 1 if you study you get a good
In other words
In order to explain how we arrive at a
solution we list the chain of rules that were
fired on rout to this conclusion.
This is the basis of expert system
Obtaining knowledge for use in the
knowledge base of an expert system.
Sources of knowledge:
Documents: textbooks, journal articles,
technical reports, case histories, etc.
This will almost never be sufficient to
provide the knowledge base for a real
world expert system.
The range of problems which a textbook
examines and solves is always smaller
than the range of problems that a human
expert is master of.
Simultaneously with the knowledge
acquisition process, a knowledge analysis
process takes place.
The KE uses the data from the knowledge
acquisition sessions to build a good model
of the expertise that the DE is using to
solve problems in the domain. This may or
not rely heavily on building a prototype
The most important branch of knowledge
acquisition is knowledge elicitation
knowledge from a human expert (or human
experts) for use in an expert system.
Knowledge elicitation is difficult. This is the
principle reason why expert systems have not
become more widespread
It is necessary to find out what the expert(s)
know, and how they use their knowledge..
Expert knowledge includes:
related facts & principles;
modes of reasoning;
explanations and justifications.
Knowledge elicitation and experts
The knowledge elicitation (and analysis) task involves:
Finding at least one expert in the domain who:
is willing to provide his/her knowledge;
has the time to provide his/her knowledge;
is able to provide his/her knowledge.
Repeated interviews with the expert(s), plus task
analysis, concept sorting, etc, etc..
Knowledge structuring: converting the raw data (taken
from the expert) into intermediate representations, prior
to building a working system.
Knowledge Elicitation continued
Building a model of the knowledge derived from
the expert, for the expert to criticise. From then
on, the development proceeds by stepwise
One major obstacle to knowledge elicitation:
experts cannot easily describe all they know
about their subject.
They do not necessarily have much insight into
the methods they use to solve problems.
Their knowledge is "compiled" (c.f. a compiled
fast & efficient, but
Techniques used in Knowledge
Various different forms of interview:
Unstructured. A general discussion of the domain,
designed to provide a list of topics and concepts.
Structured. Concerned with a particular concept within
The expert is provided with a real
life problem, of a kind
that they deal with during their working life, and asked to
solve it. As they do so, they are required to describe
each step, and their reasons for doing what they do. The
transcript of their verbal account is called a protocol.
As above, but the expert merely imagines that
they are solving the problem presented to them,
rather than actually doing it. Once again, they
describe the steps involved in solving the
The expert interacts with a client, in the way that
they would normally do during their normal work
It is standard practice to tape record KE
sessions. However, KEs should be aware
of the costs this involves, in time and
The KE and DE examine the record of on of
the sessions described above, together.
Sample lecture preparation. The expert
prepares a lecture, and the KE analyses
Concept sorting ("card sort").
Questionnaires. Especially useful when
the knowledge is to be elicited from
several different experts.
Repertory grid (particularly the "laddered
The state of the art in AI (especially NLP) is not
sufficiently advanced to permit fully
However, 'knowledge elicitation workbenches', or
'knowledge engineering environments', are commercially
available (e.g KEE, KnAcqTools); their principle use is to
simplify the task of converting a protocol into frames,
rules, etc., and inserting these structures into an expert
system shell as soon as they are formulated.