|
An
Expert
System
is a computer program that is designed to solve specific real-world
problems like one or more human experts would. For this to happen,
an expert system must be equipped with equivalent human knowledge and
thinking process used by its its human counterpart(s). The main
challenges in building expert systems, therefore, are: 1) how to
represent real-world human knowledge into a form that the computer
can process readily and 2) how to give the computer the ability to
mimic a human expert's thinking process.
Due to
the inherent complexity of real-world problems, expert systems are
designed to be narrow in scope, i.e., each one only specializes in a
small field of expertise. Typical applications include machine
troubleshooting, medical and psychological diagnosis, system failure
analysis, financial assessments, etc.
Expert
systems constitute a distinct field of practical application of
artificial intelligence (AI). Over the years, many techniques
and systems have been developed for creating expert systems,
resulting in expert systems that vary widely in form and function.
Nonetheless, a typical expert system has three primary components:
1) a knowledgebase (kbase) that contains the expert's knowledge
required to solve problems in its problem domain; 2) an engine that
processes the available information about the problem and applies
the kbase to come up with a solution to the problem; and 3) a human
interface for the user. Many expert systems, but not all, also
incorporate a systematic learning process that improves its
performance with its usage.
The
process of building up the contents of the kbase varies from one
expert system to another. Some simple kbase systems get
knowledge directly from a single expert's typing on a keyboard,
while other kbase systems collect their knowledge from a large group
of experts and users through a network. Some sophisticated kbase systems can even gather their knowledge autonomously from
various sources.
Many
expert systems today, however, are built using expert system shells,
generic versions of which are now widely available in the market. An
expert system shell is a special software package for building and
implementing expert systems. It usually comes as a complete
package already, equipped with the following: 1) a structure for
systematic build-up and storage of knowledge in the kbase; 2) an
inference engine that handles the problem-solving process; and 3) a
user interface for convenient inputting of knowledge or use of the
expert system. A generic expert system shell is easy to use and will
work for many applications, but will not be applicable to all kinds
of problems, so some expert systems dealing with complex problems
still need to be customized.
The
science of artificial intelligence has expanded so much these past
two decades that the 'thinking process' of expert systems are now
implemented in many different ways. The most basic approach is
to use an inference engine capable of backward- and/or
forward-chaining. In such an expert system, the knowledge is
represented as a set of rules at different levels, i.e., a group of
little rules can form a new rule, which in turn can be used to form
other rules. The kbase of such a system is therefore just a
rule-based decision tree. When solving a problem, the inference
engine looks at these rules and compare them with the facts known
about the problem being solved. It then picks the solution
supported by rules that most closely match the facts at hand.
Backward
chaining refers to the inference process that starts with the
solution, and compares the rules attached to the solution with the
facts at hand one by hand. If the rules and facts don't match,
then a new solution is picked and the process starts all over again.
This process starts at the end (the solution itself), and goes
backward inspecting one rule at a time until all rules of a solution
are matched, which is why it is called backward chaining or a
top-down solution.
Forward
chaining is the reverse of backward chaining - it is a bottom-up
process that starts with the lowest-level rules first and try to go
up the rule tree, matching one rule at a time with the facts, until
it completes a chain of correctly-matched rules that leads to a
solution at the top.
Aside
from inference engines, experts systems have also been built using
artificial neural networks (ANN).
Inspired by how a real brain works, an artificial neural network
is an information processing tool that uses a huge interconnection of
nodes or processing elements known as 'artificial neurons' working
together to solve a problem. ANN's have been proven to work well
with pattern matching and self-learning, making it really suitable
for use in expert systems.
See Also:
More Industry
Articles
|