Documents
Documents
An expert system is a computer program that is designed to solve complex problems and to
provide decision-making ability like a human expert.
The concept of expert systems was first developed in the 1970s by Edward Feigenbaum,
professor and founder of the Knowledge Systems Laboratory at Stanford University.
Feigenbaum explained that the world was moving from data processing to knowledge
processing, a transition which was being enabled by new processor technology and computer
architectures.
An expert system solves the most complex issue as an expert by extracting the knowledge
stored in its knowledge base.
The knowledge is extracted from its knowledge base using the reasoning and inference rules
according to the user queries.
It is called so because it contains the expert knowledge of a specific domain and can solve any
complex problem of that particular domain. These systems are designed for a specific domain,
such as medicine, science, etc.
Introduction
The performance of an expert system is based on the expert's knowledge stored in its
knowledge base.
The more knowledge stored in the KB, the more that system improves its performance.
One of the most common example is, making of a medical diagnosis expert system in which a
medical diagnosis expert system lets the user diagnose his disease without going to a real
doctor.
Typically, an expert system incorporates a knowledge base containing accumulated experience
and an inference or rules engine -- a set of rules for applying the knowledge base to each
particular situation that is described to the program.
The system's capabilities can be enhanced with additions to the knowledge base or to the set
of rules.
Current systems may include Machine Learning capabilities that allow them to improve their
performance based on experience, just as humans do.
Representing and Using Domain Knowledge
Expert system is built around a knowledge base module.
It contains a formal representation of the information provided by the domain expert.
This information may be in the form of problem-solving rules, procedures, or data intrinsic to
the domain.
To incorporate these information into the system, it is necessary to make use of one or more
knowledge representation methods.
Transferring knowledge from the human expert to a computer is often the most difficult part of
building an expert system.
The knowledge acquired from the human expert must be encoded in such a way that it remains
a faithful representation of what the expert knows, and it can be manipulated by a computer.
Three common methods of knowledge representation evolved over the years are, IF-THEN rules,
Semantic networks and Frames.
Features of Expert Systems
Expert systems differ from conventional computer system in several important ways,
Expert systems use knowledge rather than data to control the solution process. Much of the knowledge used
is heuristic in nature rather than algorithmic.
The knowledge is encoded and maintained as an entity separate from the control program.
This permits the incremental addition and modification of the knowledge base without recompilation of the
control programs.
Furthermore, it is possible in some cases to use different knowledge bases with the same control programs
to produce different types of expert systems. Such systems are known as expert system shells since they
may be loaded with different knowledge bases.
Expert systems are capable of explaining how a particular conclusion was reached, and why requested
information is needed during a consultation.
This is important as it gives the user a chance to assess and understand the systems’ reasoning ability,
thereby improving the user’s confidence in the system.
Features of Expert Systems
Expert systems differ from conventional computer system in several important ways,
Expert systems use symbolic representations for knowledge and perform their inference through symbolic
computations that closely resemble manipulations of natural language.
Expert systems often reason with meta knowledge, that is, they reason with knowledge about themselves,
and their own knowledge limits and capabilities.
Rule-Based Expert Systems
An expert system is designed to model the behavior of an expert in some field, such as
medicine or geology.
Rule-based expert systems are designed to be able to use the same rules that the expert would
use to draw conclusions from a set of facts that are presented to the system.
The design, development, and use of expert systems involves a number of people. The People
Involved in an Expert System are:
The end-user of the system is the person who has the need for the system.
In the case of a medical diagnosis system, this may be a doctor, or it may be an individual who has a
complaint that they wish to diagnose.
The knowledge engineer is the person who designs the rules for the system, based on either observing the
expert at work or by asking the expert questions about how he or she works.
The domain expert is very important to the design of an expert system. In the case of a medical diagnosis
system, the expert needs to be able to explain to the knowledge engineer how he or she goes about
diagnosing illnesses.
Expert System Architecture
An expert system is a set of programs that manipulate encoded knowledge to solve problems in
a specialized domain that normally requires human expertise.
An expert system’s knowledge is obtained from expert sources and coded in a form suitable for
the system to use in its inference or reasoning processes.
The expert knowledge must be obtained from specialists or other sources of expertise, such as
texts, journal, articles and databases.
This type of knowledge usually requires much training and experience in some specialized field
such as medicine, geology, system configuration, or engineering design.
Once a sufficient amount of expert knowledge has been acquired, it must be encoded in some
form, loaded into a knowledge base, then tested, and refined continually throughout the life of
the system.
The user of the expert system interfaces with it
through a user interface, which provides access to
the inference engine, the explanation system, and
User
the knowledge-base editor.
Shell
The knowledge-base editor is not usually made
available to the end user of the system but is used
by the knowledge engineer or the expert to provide
User
and update the knowledge that is contained within
the system.
Shell
An Expert system shell is a software development
environment which contains the basic
components of expert systems.
User
A shell is associated with a prescribed method for
building applications by configuring and
instantiating these components.
Knowledge
base editor Knowledge The expert system that does not contain domain-
Base
specific or case-specific information are
User Inference contained within the expert system shell.
Interface engine
This shell is a general toolkit that can be used to
build a number of different expert systems,
Explanation Fact depending on which knowledge base is added to
system Database
the shell.
Shell
Knowledge Engineering
Knowledge Engineering is a vital part of the development of any expert system.
The knowledge engineer does not need to have expert domain knowledge but does need to
know how to convert such expertise into the rules that the system will use, preferably in an
efficient manner.
Hence, the knowledge engineer’s main task is communicating with the expert, in order to
understand fully how the expert goes about evaluating evidence and what methods he or she
uses to derive conclusions.
Having built up a good understanding of the rules the expert uses to draw the conclusions, the
knowledge engineer must encode these rules in the expert system shell language that is being
used for the task.
In some cases, the knowledge engineer will have freedom to choose the most appropriate
expert system shell for the task.
In other cases, this decision will have already been made, and the knowledge engineer must
work with what he is given.
Applications of Expert Systems
The Expert systems have found their way into most areas of knowledge work. The
applications of expert systems technology have widely proliferated to industrial and
commercial problems.
Diagnosis and Troubleshooting of Devices and Systems
Medical diagnosis was one of the first knowledge areas to which Expert system technology was applied in 1976.
However, the diagnosis of engineering systems quickly surpassed medical diagnosis.
Planning and Scheduling
The Expert system's commercial potential in planning and scheduling has been recognized as very large. Examples
are airlines scheduling their flights, personnel, and gates; the manufacturing process planning and job scheduling;
Configuration of Manufactured Objects from sub-assemblies
Configuration problems are synthesized from a given set of elements related by a set of constraints. The Expert
systems have been very useful to find solutions. For example, modular home building and manufacturing involving
complex engineering design.
Design and Manufacturing
Here the Expert systems assist in the design of physical devices and processes, ranging from high-level
conceptual design of abstract entities all the way to factory floor configuration of manufacturing processes.
Applications of Expert Systems
Knowledge Publishing
This is relatively new, but also potentially explosive area. Here the primary function of the Expert system is to
deliver knowledge that is relevant to the user's problem. The two most widely known Expert systems are : one,
an advisor on appropriate grammatical usage in a text; and the other, is a tax advisor on tax strategy, tactics,
and individual tax policy.
Process Monitoring and Control
Here Expert system does analysis of real-time data from physical devices, looking for anomalies, predicting trends,
controlling optimality and failure correction. Examples of real-time systems that actively monitor processes are
found in the steel making and oil refining industries.
Financial Decision Making
The financial services are the vigorous user of expert system techniques. Advisory programs have been created
to assist bankers in determining whether to make loans to businesses and individuals. Insurance companies
to assess the risk presented by the customer and to determine a price for the insurance. ES are used in typical
applications in the financial markets / foreign exchange trading.