An expert system is a type of computer application
which stores and applies the 'knowledge' which it has gained from
a human expert. When the expert is not present the application
can use the knowledge to
- take direct control of a business or manufacturing
process, or
- advise operators with less expertise on
the best procedures to adopt in the circumstances they have described.
Expert systems have been developed from
the computer applications designed to meet business and technical
needs.
Development of business computing
There is a range of computer applications currently available
to decision-makers in industry, commerce and public sector organisations.
They' include:
- Management information systems; these
supply management with standardised reports prepared from the
automated records of large volumes of information.
- Decision support systems; these go beyond
record-keeping by carrying out analyses o[ data which support
decision making activities.
- Integrated software; this can accommodate
and integrate text files, spreadsheets, relational databases and
so on and enable decisions to be made swiftly from data assembled
for a variety of purposes.
- Expert systems; these are reasoning systems
which are able to display expert behaviour.
How do expert systems differ from conventional
systems?
In simple terms conventional systems enable
experts to increase their efficiency, e.g by carrying out complex
or tedious calculations, by monitoring and controlling processes
within preset tolerances or by working in areas hazardous to humans.
If you work with conventional computer systems
you will already be aware oF some of the features:
- they' process data through arithmetic
calculation
- they sort and manipulate information by
string handling
- they' deal in certainties and get every
response right
- they serve single, closely defined purposes
- they have a single way of achieving a
solution
- they have the rules for the procedures
embedded in the program.
By contrast, expert systems have embedded
into them the specialist knowledge which is normally held by'
the human experts.
In detail, you will find that expert systems
have a range of Features:
- they' process facts by using deduction
- they use rules rather than formulae
- they use techniques to handle uncertainty
- they might be expected to meet a range
of purposes
- they are able to use a multiplicity of
strategies
- they keep the rules separate from the
information.
Expert System Structure
An expert system works like a simplified
human thought process. You might think about your own thinking
process:
- part oF your thinking is reacting with
the outside world and performing mental operations; for example,
you might currently be doing both these things while responding
to the issues raised by the statement
- part is storing current information for
instant recall and processing; an example of running a short-term
memory
- part is searching your memory for information
which might help supply the answer; an example of running a long-term
memory.
You could represent these activities as
application functions:
- a user interface; the mechanism for consultation
and explanation through which a user interacts with the system.
- an inference engine; the software that
actually carries out the reasoning needed to solve a problem.
- the knowledge base; the stored, application-specific
expertise usually represented as a set of rules.
Figure 1.1
The Concept of Expertise
There is a great debate about the
terminology in use in this Field because it is not easy to draw
an absolutely hard line between conventional computer applications
and expert systems. The latter clearly grew out of the former.
The important issues to grasp are what such a system is designed
to do and how best to build one.
Expertise shows itself in a number of ways:
- in systems with multiple strategies built
which use knowledge bases; they have a capability to respond in
different, yet appropriate, ways to different demands in different
circumstances
- in single strategy, single purpose systems
which use knowledge bases
- in single strategy, single purpose systems
which use expert system technology because development would be
impractical using conventional software
- in intelligent expert systems which can
devise new strategies; this often means learning from their mistakes,
adding new rules to their system to correct the previously wrong
answer. These are not yet commercially important.
Example of Expertise Leading to an Expert
System
Given the following conversation between
a knowledge engineer and an expert on car engines:.
How do you set about finding the fault if a customer's engine
turns over but it won't start? |
I ask them if they've got 12 volts at the coil. |
Suppose they haven't? |
Well then it's easy - they've got a bad connection in the wiring
loom. |
OK, what if they have got 12 volts at the coil? |
Then I ask them if they've got fuel to the engine. |
And if they haven't? |
Again that's easy' - they've gotafttel blockage. |
OK, suppose they have got fuel to the engine? |
Well then they've got a sparking problem. |
So what would you do then? |
I'd ask them iF they've got a spark at the king lead. |
And if they haven't? |
Well then I'd ask them if a new king lead makes any difference. |
And if it does that should be it? |
Yes, they had a Faulty king lead. |
What if the new king lead made no difference? |
Well then I'd ask them if a new coil does the trick. |
And if it does then the problem was the coil? |
Yes. |
And if it doesn't? |
Well then it's probably the timing on the coil and they
would have to check that with an oscilloscope. |
Right, so let's go back to what would do if they had got a spark
at the king lead to start with. |
You mean after we've established that they have got fuel to the
engine. |
Yes. |
OK, well then I ask them if the plugs were sparking. |
And if they aren't? |
Then they should check the leads, distributor cap and rotor
arm. |
OK, what if the plugs are sparking? |
Well then I'd ask if they're wet. |
And if they're not? |
Well then it's a fuel supply problem. |
And if they are wet? |
Ah, I'm afraid that usually means there's a mechanical problem
in the engine. |
Figure 2
Benefits of Expert Systems
Expert systems bring benefits by enhancing the performance of
people, not b~ replacing them or their judgement. The experts
who contribute to the system are likely to have their work content
upskilled rather than deskilled, because they have the expertise
to build on the system they have helped to create.
Expert systems can:
- distribute expertise and make it rapidly
and continuously available.
- encourage users to learn in the apprentice-master
learning model.
- perform as knowledgeable servants, doing
routine tasks which nevertheless require skill and vigilance,
relieving the human expert to attend to the more highly skilled
areas of work.
- archive rare knowledge.
- combine skills of several experts.
- increase the competitive advantage of
technological leaders.
Contributors to expert system projects
If you are about to develop an expert system
you will find that there are four main parties to the development:
- the sponsor who will gain from the system
and usually' funds it
- the expert who provides expertise to go
into the system
- the knowledge engineer who helps the expert
to identify relevant expertise and who expresses it in the expert
system
- the potential users who specify the requirements
and guide the facilities.
Knowledge and Knowledge Engineering
Knowledge is the most important asset of
any organisation. It is the accumulation of knowledge, including
skills and attitudes, which makes an organisation work. Although
it is intangible, knowledge can be identified, recorded, processed
on a computer and shared throughout an organisation.
As a developer of an expert system, you
must have access to the knowledge. You will need confident, skilful,
willing, articulate and available experts. If you are allowed
only inadequate access to the expertise you will produce an inadequate
system.
Expertise is rarely found in text books
or equipment manuals. You need to know what the experts actually
do, not what they say' they' do nor what the manuals say they
should do!
Knowledge engineering is about working with
experts. It is the discipline of working with an expert or experts
to encapsulate the lessons of experience in a computer system.
As a knowledge engineer, you should not take what the expert says,
build the system elsewhere and return with the finished article.
You should develop it iteratively, and on the spot, with the expert.
We would normally recommend you to build
a prototype system at the earliest opportunity and use that as
a prompt for more expertise. The system's mistakes and omissions
are an irresistible prompt for most experts. The system, as it
grows, will become the expert's apprentice under intensive instruction.
Expert system tools
There is a range of hardware and software
currently available with which you can develop and run expert
systems:
- most business applications run on personal
computers using proprietary shells.
- workstations and their dedicated software
are primarily' installed for development work within industrial
research centres.
- Prolog and Lisp and other logic programming
languages have a minor role in current applications.
- personal computers are expected to be
the primary machines both for the development and the delivery
of applications.
Expert system applications
A sponsor would consider implementing an expert system to solve
a problem when the human experts are in short supply, over burdened,
very expensive or unavailable when needed. Examples of activities
where this situation might
apply include:
- diagnosing the course of a situation;
for example, auditing, troubleshooting, debugging
- prescribing a course of action; for example,
planning, designing, repairing
- predicting what will happen; for example,
forecasting, speculating
- understanding what is happening; for example,
interpreting, monitoring, training
- governing what is happening; for example,
implementing, controlling, managing
- evaluating diagnoses, predictions, situations
and actions.
See Appendix I for a list of areas of application
by different areas.
Among the early examples of expert systems
you might already have seen demonstrations of:
- DENDRAL (1969) which determines the chemical
structures of unidentified molecules and relieves chemists of
a tedious task.
- MYCIN (1976) which diagnoses and prescribes
treatments for bacterial blood infections which is a tricky decision
but dangerous if treatment is delayed.
- EMYCIN which is a shell developed by'
detaching the inference engine from the domain knowledge applied
to other problems.
- PROSPECTOR (1979) which identifies probable
sites of deposits of mineral ore; the PROSPECTOR inference system
has provided the model for a number of UK shells, including SAVOIR.
|