An Introduction to Expert Systems


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.