data base, so it can be accessed by the expert
system. The gathering of the information is
typically done by a knowledge engineer. It is
his job to collect the information from the
human expert through a series of interviews.
These heuristics (rules of thumb) are
translated into "if then" statements (knowledge
representations). The rules are used by the
expert system's inference engine. The
inference engine consists of algorithms
(solution methods) that correlate rules and
facts and return information to the user.
Figure 1 shows a block diagram of an expert
system.
THE THE INPUT
INFERENCE KNOWLEDGE FACTS & RULES
ENGINE REPRESENTATION
THE USER
INTERFACE
USER
Figure 1
An Expert System
The user interface is typically through a
computer terminal (CRT and keyboard/mouse
combination). It is designed to be easy to
interpret by non-expert users. One way this
can be achieved is with the use of menus.
Menus present the user with questions and
multiple choice answers. The user then selects
one or more (where allowed) of the given
choices. Numerical value data can be entered
directly on the computer keyboard.
Depending on the nature of the expert system,
the output can be in the form of conclusions or
directions to solve a given problem. The
output can be in a form of easy to understand
instructions with further explanations and
illustrations through computer graphics.
Expert systems are typically applied to solve
complex problems through non-expert users.
This tends to put a heavy burden on the expert
system user interface. This is true both in
the way the questions are presented to the user
for proper interpretation and response, and
later to enable the user to understand the
system's final conclusion or instructions.
THE TOOLS FOR EXPERT SYSTEMS
SOFTWARE TOOLS: There are at least two ways
one could set out to create an expert system
program. One way is to utilize one of the AI
computer languages such as LISP, PROLOG, or
even C (a non-AI language). He would write
from scratch the knowledge representation,
inference algorithms, and user interface
portions of the program. This method would
provide flexibility but could become expensive
due to the cost of engineering development.
The second method is to start with a "shell."
A shell is an existing computer program with
the building blocks of an expert system, the
knowledge representation tools, the inference
engine, and tools for user interface, built in.
But, it lacks the knowledge. The knowledge is
then programmed in by the knowledge engineer.
The use of existing shells can prove more cost
effective in the long term since the
development cost of the shell is spread over
many users of that shell.
HARDWARE TOOLS: One reason for slow widespread
acceptance of artificial intelligence has been
the cost of software and hardware tools. Until
recently, most AI packages required powerful
main frame computers to operate. In the past
five years, more software tools, such as expert
system shells that can run on personal computer
work stations, are becoming available. This
will make the expert system a much more viable
entity as an industrial tool since the cost
will be far less prohibitive.
EXPERT SYSTEMS AND MACHINE VISION
The field of machine vision also falls under
the topic of artificial intelligence. Most
vision systems, however, utilize conventional
computer programs. Therefore, whether they can
be categorized under AI is questionable. AI or
not, applying machine vision can produce some
great challenges in applications engineering.
One area of machine vision applications where
there are often engineering difficulties is in
the front end, that is, the lighting, optics,
and sensor selection. Many good applications
have failed due to improper front end design.
Therefore, machine vision lighting and optics
was selected as the topic of an expert system
development. The following pages describe the
creation of an expert system and how it is used
to solve lighting and optics problems for
machine vision applications.
THE LIGHTING AND OPTICS ADVISOR
THE OBJECTIVE: The Lighting Advisor expert
system was created to help solve lighting and
optics problems for a specific group of machine
vision applications, namely, small parts
assembly verification. The field of machine
vision encompasses a large area of possible
applications, such as, assembly verification,
electronics, packaging, non-contact gauging,
etc. It was decided that, at least initially,
the Lighting Advisor should be limited to one
group of applications. This expert system has
been designed so that end users with little or
no lighting and optics background can use it.
HOW IT WORKS: Transferring human knowledge
into a form acceptable by the expert system
shell proved challenging. The process became
easier as the human expert could see how his
knowledge was being transformed into facts and
rules of logic for machine use. There are over
three
expert
is bei
The Li:
as its
driven
user t1
applica
and mak
2. The
[7