IPT - A Virtual Approach IPT A Virtual Approach by Peter Whitehouse
Quick Links:
Information and Intelligent Systems Social and Ethical Implications Human Computer Interaction Software and Systems Engineering eXercise Files Course Outline and Assessment A-Z of Geeky Acronyms Terrace Work Program 2004 Sillybus FAQ = Frequently Asked Questions Help

Expert Systems

An AI Research Spinoff

AI is a sub-field of Computer science, aimed at producing computer systems (=software and/or hardware) that exhibit 'intelligent' action:

- can solve a variety of problems, learn from experience, understand language, interpret visual scenes, and in general behave in a way that could be considered intelligent if observed by a human.

These systems contrast to existing (conventional) systems in that they are typically credited with being able to cope with unfamiliar situations, not merely replaying 'recorded' patterns of behaviour

Expert Systems

An 'Expert' is one that can draw upon a comprehensive knowledge about a very specialised field or domain (that is, a restricted but reasonably complete Universe of Discourse).

An expert is also very good at solving particular types of problems, restructuring information in such a way that usually divides a problem into smaller, usually more easily solvable parts. An expert can also find multiple solutions, if they are appropriate, and can justify, verify or at least attach some level of certainty to its solution.

Human domain specialists (bacteriologists, for example) take many years to train, costing huge amounts of money for a relatively short productive lifespan. Human memory is not precise - that is it can make mistakes, it can forget or confuse one thing with another. Knowledge and reliable experience can take many years to develop, and worse can easily be forgotten with lack of use.

A computer implemented expert system can work continually (24hrs a day) can be duplicated (thus creating many experts), never dies (taking knowledge with it), learns indefinitely (so long as new information is added to the system), always operates at peak performance, and does not suffer form personality incompatibilities. A computer expert system, however, is NOT INTELLIGENT. They may appear to be working intelligently, but that is because they are programmed to emulate human intelligence. All responses and prompts have been painstakingly designed, allowing for near 'natural' interaction. All decisions and conclusions are based on hard and fast rules, and heuristics (rules of thumb).

Typically, expert systems comprise of a KNOWLEDGE BASE (of declarative knowledge - facts; and procedural knowledge -rules) and an INFERENCE ENGINE (which accesses, selects and executes previously programmed rules). The knowledge contained in an expert system is encoded at the time of design implementation and, although it may be updated periodically, it is a 'fixed' or 'hard coded' knowledge base.

Many types of expert systems are in existence today, falling into the following broad categories:

recognising diseases or other conditions based on displayed signs and symptoms.
suggesting plans for repair of certain items (including electronic circuitry).
providing individualised training or instruction in a particular field, including monitoring of performance, correction of errors and pacing to suit the individual.
analysing data and determining its significance (like mineral prospecting by sample data from a wide range of interest, surveillance, image processing and speech recognition)
taking educated 'guesses' at possible outcomes of observable situations through probability (inferential systems like weather forecasting).
Design and Planning
enabling complex planning tasks to be completed with consideration to a large body of variable parameters (like costing, building, architecture, materials ordering and magazine design).
Monitoring and Control
used to monitor operations and control certain functions of machinery or computer systems. These expert systems are most commonly employed where speed of the decision is vital, and usually allow cross checking by a feedback of data from human operators or remote sensors (like in nuclear power plants, air traffic control and stock market systems for example).

Typically, knowledge in expert systems is captured as a collection of IF..THEN rules. Heuristics are educated guesses or rules which are known by experts in the field, and are also used in making inferences with expert systems (an inference is a process where new facts are derived from existing facts).

Consider the following DECISION TREE regarding the partial classification of some members of the Animal Kingdom:

A Decision Tree regarding the animal kingdom - thanks McGoo

Notice that this universe has been classified as consisting of 5 ATTRIBUTES (type of skeleton, the location of egg fertilization, where it lives, how young are produced and skin covering).

Each ATTRIBUTE in turn has been divided into at least 2 VALUES ('waterproof eggs' and 'live birth' being examples). You will notice that in the example above, the attributes have been expressed as part of a fact sentence - the values complete these sentences. This is done to make the decision path read more like natural english, and is possible using some expert system shells.

Each VALUE leads to either another ATTRUBUTE or to a CONCLUSION. Attributes provide the possibility of branching (2 or more divergent logic paths), whereas a conclusion represents the arrival at a goal state.

The tree contains 6 RULES, each one terminating at a distinct CONCLUSION. A sample rule might resemble:

result of searching an expert system

Expert systems are typically implemented using an Expert System 'Shell' such as ES-Builder or a high level declarative language like LISP or PROLOG.

Expert System Exercises

There are generally three accepted ways humans acquire knowledge:

  • learning by being told
  • learning by observation, discovery and DEDUCTION
  • learning by INDUCTION

Capturing knowledge (otherwise known as Knowledge Acquisition) is an activity whereby a machine acquires expert knowledge in order to solve some specific problems - it results in a knowledge base.

  • Induction is generalising from the particular, extracting patterns from examples. Given Q, find a P such that P determines Q
  • Deduction (on the other hand) is specialising from the general, finding values from formulas. Given P, knowing P determines Q, then show Q.

Expert systems need large 'chunks' of knowledge to achieve high levels of performance. A human 'expert' (eg. a chess master) may acquire 50-100000 'chunks of domain specific knowledge, and it may take 10 years of practice to attain.

a chunk

©Copyright t 1992..2017+. Edition 25.150117
Creative Commons License
This work is licensed under a
Creative Commons Attribution-NonCommercial-ShareAlike 2.1 Australia License