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:
- Diagnosis
- recognising diseases or other conditions based on displayed signs
and symptoms.
- Repair
- suggesting plans for repair of certain items (including electronic
circuitry).
- Instruction
- providing individualised training or instruction in a particular
field, including monitoring of performance, correction of errors
and pacing to suit the individual.
- Interpretation
- analysing data and determining its significance (like mineral
prospecting by sample data from a wide range of interest, surveillance,
image processing and speech recognition)
- Prediction
- 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:
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:
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.