You are on page 1of 26

Term Paper

On

Expert System

Subject

Enterprise Knowledge Management

Submitted To Submitted By
Dr. Ashish Sonakar Pawan Kr. Kushawaha
MBA (E-Bussines)
Sem. 4th
Roll No. 28

Department Of Business Administration


University Of Lucknow
ACKNOWLEDGEMENT

I acknowledge my indebtness to “Dr. Ashish Sonakar” who

showed me the right path, helped in increasing my horizon and

clarifying my objective Throughout the project he had always

been there to help me in overcoming the hurdles, thus helping

me to meet my objective.

I would also like to thank my friends and all those

individuals who gave me the proper references and provided me

with relevant information on this topic, gave me important web

links for assistance & helped me a lot.

Pawan Kr. Kushawaha


Contents

Definition of Expert/Knowledge-Based Systems .................................................................…...03


Expert Systems Characteristics…………………………………………………………………04
Domain Specificity……………………………………………………………………………….05
Special Programming Languages………………………………………………….…………..05
History of Expert Systems.....................................................................................................…...06
Expert Systems Structure………………………………………………………………….…....08
Most Dynamic……………………………………………………………….…………………...09
Knowledge Base……………………………………………………….………………………...10
Least Dynamic……………………………………………………………….……………….....10
Structure of Expert Systems……………………………………………….…………………...11
Expert System Kernel Architecture………………………………………………………….....11
Expert System Architecture…………………………………………………………………....12
Development…………………………………………………………………………………...13
Major Application Areas………………………………………………………….…………....15
The Need for Expert Systems………………………………………….……………………....16
Benefits Of Expert Systems……………………………………………….………………...…17
Expert Systems Are For Everyone………………………………………………………….....18
Transition From Data Processing To Knowledge Processing………………………………....19
Heuristic Reasoning……………………………………………………….…………………...19
Search Control Methods…………………………………………………….………………....20
Forward Chaining……………………………………………………………………………....20
Backward Chaining…………….…………………………………………………………….....20
User Interface…………………………………………………………………………………...21
Natural Language…………………………………………………………………………….....21
Explanations Facility In Expert Systems………………………………………………………..21
Data Uncertainties……………………………………………………………………………....21
Application Roadmap…………………………………………………...……………………...22
Symbolic Processing…………………………………………………………………………....23
References……………………………………………………………………………………....25
REFERENCES

www.wikipedia.org
www.ecrm.com
www.htmtinteractive.com/ecrm.html
www.ecrm-online.com
www.buzzle.com/articles/e-marketing-strategy.html
en.wikipedia.org/wiki/Internet_marketing
www.global-emarketing.com
www.expertsyatem-reports.com
Definition of Expert/Knowledge-Based Systems
The primary intent of expert system technology is to realize the integration of human
expertise into computer processes. This integration not only helps to preserve the human
expertise but also allows humans to be freed from performing the more routine activities that might
be associated with interactions with a computer-based system.
Given the number of textbooks, journal articles, and conference publications about
expert/knowledge- based systems and their application, it is not surprising that there exist a
number of different definitions for an expert/knowledge-based system. In this article we use the
following definition (2, 3):
An expert/knowledge-based system is a computer program that is designed to mimic the
decision-making ability of a decision-maker(s) (i.e., expert(s)) in a particular narrow
domain of expertise.
In order to fully understand and appreciate the meaning and nature of this definition, we
highlight and detail the four major component pieces.
An expert/knowledge-based system is a computer program. A computer program is a
piece of software, written by a “programmer” as a solution to some particular problem or client
need. Because expert/knowledge-based systems are software products they inherit all of the
problems associated with any piece of computer software. Some of these issues will be addressed
in the discussion on the development of these systems.
An expert/knowledge-based system is designed to mimic the decision-making ability.
The specific task of an expert/knowledge-based system is to be an alternative source of decision-
making ability for organizations to use; instead of relying on the expertise of just one—or
a handful—of people qualified to make a particular decision. An expert/knowledge-based
system attempts to capture the reasoning of a particular person for a specific problem. Usually
expert/knowledge-based systems are designed and developed to capture the scarce, but
critical decision-making that occurs in many organizations. Expert/knowledge-based systems
are often feared to be “replacements” for decision- makers, however, in many organizations;
these systems are used to “free up” the decision-maker to address more complex and important
issues facing the organization.
An expert/knowledge-based system is created to solve problems in a particular narrow
domain of expertise. The above definition restricts the term expert to a particular subject. Some
of the most successful development efforts of expert/knowledge-based systems have been in
domains that are well scoped and have clear boundaries. Specific problem characteristics that
lead to successful expert/knowledge-based systems are discussed as part of the development
process.
3
EXPERT SYSTEMS CHARACTERISTICS

By definition, an expert system is a computer program that simulates the thought


process of a human expert to solve complex decision problems in a specific domain. The
characteristics of expert systems that make them different from conventional programming and
traditional decision support tools. The growth of expert systems is expected to continue for
several years. With the continuing growth, many new and exciting applications will emerge. An
expert system operates as an interactive system that responds to questions, asks for clarification,
makes recommendations, and generally aids the decision-making process. Expert systems
provide expert advice and guidance in a wide variety of activities, from computer diagnosis to
delicate medical surgery.
Various definitions of expert systems have been offered by several authors. A general
definition that is representative of the intended functions of expert systems is:

An expert system is an interactive computer-based decision tool that uses both facts and
heuristics to solve difficult decision problems based on knowledge acquired from an expert.

An expert system may be viewed as a computer simulation of a human expert. Expert


systems are an emerging technology with many areas for potential applications. Past applications
range from MYCIN, used in the medical field to diagnose infectious blood diseases, to XCON, used
to configure computer systems. These expert systems have proven to be quite successful. Most
applications of expert systems will fall into one of the following categories:

 Interpreting and identifying


 Predicting
 Diagnosing
 Designing
 Planning
 Monitoring
 Debugging and testing
 Instructing and training
 Controlling

Applications that are computational or deterministic in nature are not good candidates for
expert systems. Traditional decision support systems such as spreadsheets are very mechanistic in
the way they solve problems. They operate under mathematical and Boolean operators in their
4
execution and arrive at one and only one static solution for a given set of data. Calculation-
intensive applications with very exacting requirements are better handled by traditional decision
support tools or conventional programming. The best application candidates for expert systems are
those dealing with expert heuristics for solving problems. Conventional computer programs are
based on factual knowledge, an indisputable strength of computers. Humans, by contrast, solve
problems on the basis of a mixture of factual and heuristic knowledge. Heuristic knowledge,
composed of intuition, judgment, and logical inferences, is an indisputable strength of humans.
Successful expert systems will be those that combine facts and heuristics and thus merge
human knowledge with computer power in solving problems. To be effective, an expert system
must focus on a particular problem domain, as discussed below.

Domain Specificity

Expert systems are typically very domain specific. For example, a diagnostic expert system
for troubleshooting computers must actually perform all the necessary data manipulation as a
human expert would. The developer of such a system must limit his or her scope of the system to
just what is needed to solve the target problem. Special tools or programming languages are often
needed to accomplish the specific objectives of the system.

Special Programming Languages

Expert systems are typically written in special programming languages. The use of
languages like LISP and PROLOG in the development of an expert system simplifies the coding
process. The major advantage of these languages, as compared to conventional programming
languages, is the simplicity of the addition, elimination, or substitution of new rules and memory
management capabilities. Some of the distinguishing characteristics of programming languages
needed for expert systems work are:

 Efficient mix of integer and real variables


 Good memory-management procedures
 Extensive data-manipulation routines
 Incremental compilation
 Tagged memory architecture
 Optimization of the systems environment
 Efficient search procedures

5
History of Expert Systems
Expert systems are one of the two major paradigms for developing intelligent systems
within the field of Artificial Intelligence. Expert/knowledge-based systems are an example of the
symbolic paradigm; the other major paradigm is the connectionist paradigm that has led
to the development of Neural Network technology. In order to discuss the history of these
systems a brief history of the Artificial Intelligence field is necessary. Expert/knowledge-based
systems were the first major successful application technology to evolve from Artificial
Intelligence research.

Artificial Intelligence

The foundations of the field of Artificial Intelligence can be traced from many different
disciplines including philosophy, mathematics, psychology, computer engineering, and
linguistics.
The first cited work in the area of Artificial Intelligence dates back to McCulloch and Pitts in
1943. They proposed a model of artificial neurons that mimic the structure of the human brain;
this area later became the connectionist paradigm.
In the summer of 1956, John McCarthy organized a two-month workshop at
Dartmouth and 10 leading U.S. researchers interested in automata theory, neural networks, and
the study of intelligence were invited. Two researchers from Carnegie Tech (now known as
Carnegie Mellon University), Allen Newell and Herbert Simon were the focus of the workshop
due to their reasoning program known as the Logic Theorist (LT). Simon claimed “we
have invented a computer program capable of thinking non- numerically, and thereby solved
the venerable mind-body problem.” Soon after the workshop, LT was able to prove most the
theorems in Chapter 2 of Russell and Whitehead’s Principia Mathematica. An interesting note is
that a paper on the use of LT to prove the theorems was rejected by The Journal of Symbolic
Logic . The Dartmouth workshop accomplished two major outcomes. First, it served as a forum
to introduce the leading researchers to each other; for the next twenty years, the field of AI would
be dominated by these ten individuals, their students, and colleagues at MIT, CMU, Stanford, and
IBM. The second major accomplishment of the workshop—and a more lasting one—was an
agreement to adopt John McCarthy’s new name for the field: Artificial Intelligence.
The work of Newell and Simon is the first documented work using the symbolic

6
programming paradigm of AI. Their work on LT led them to develop another program known as
general Problem Solver (GPS). The success of GPS was not as widely heralded however because
of the limited class of problems that it could solve.
GPS was designed from the start to imitate human problem-solving protocols
regardless of the information contained in the domain. These so-called “weak” methods—
because they use weak information about the domain—turned out to show weak performance in
solving problem in more complex domains.

Researchers then took the opposite approach in the development of the DENDRAL
program. They applied the knowledge of analytical chemists to infer the molecular structure from
the information provided by a mass spectrometer. DENDRAL holds a significant
place in the history of expert/knowledge-based systems because it was the first system to
use the expertise of human problem solvers and translate that knowledge into a large numbers of
special purpose rules, known as a rule -based system.

7
EXPERT SYSTEMS STRUCTURE
Complex decisions involve intricate combination of factual and heuristic knowledge. In
order for the computer to be able to retrieve and effectively use heuristic knowledge, the knowledge
must be organized in an easily accessible format that distinguishes among data, knowledge, and
control structures. For this reason, expert systems are organized in three distinct levels:
1. Knowledge base consists of problem-solving rules, procedures, and intrinsic data relevant
to the problem domain.
2. Working memory refers to task-specific data for the problem under consideration.
3. Inference engine is a generic control mechanism that applies the axiomatic knowledge in
the knowledge base to the task-specific data to arrive at some solution or conclusion.
These three pieces may very well come from different sources. The inference engine, such
as VP-Expert, may come from a commercial vendor. The knowledge base may be a specific
diagnostic knowledge base compiled by a consulting firm, and the problem data may be supplied by
the end user. A knowledge base is the nucleus of the expert system structure. A knowledge base is
not a data base. The traditional data base environment deals with data that have a static relationship
between the elements in the problem domain. A knowledge base is created by knowledge
engineers, who translate the knowledge of real human experts into rules and strategies. These
rules and strategies can change depending on the prevailing problem scenario. The knowledge base
provides the expert system with the capability to recommend directions for user inquiry. The system
also instigates further investigation into areas that may be important to a certain line of reasoning
but not apparent to the user. The modularity of an expert system is an important distinguishing
characteristic compared to a conventional computer program. Modularity is affected in an expert
system by the use of three distinct components, as shown in Figure.

8
The knowledge base constitutes the problem-solving rules, facts, or intuition that a human
expert might use in solving problems in a given problem domain. The knowledge base is usually
stored in terms of if–then rules. The working memory represents relevant data for the current
problem being solved. The inference engine is the control mechanism that organizes the problem
data and searches through the knowledge base for applicable rules. With the increasing popularity
of expert systems, many commercial inference engines are coming onto the market. The
development of a functional expert system usually centers on the organization of the
knowledge base. A functional integration of expert systems components is shown in Figure.

Figure: Integration of expert systems components

A good expert system is expected to grow as it learns from user feedback. Feedback is
incorporated into the knowledge base as appropriate to make the expert system smarter. The
dynamism of the application environment for expert systems is based on the individual dynamism
of the components. This can be classified as follows:
Most dynamic: Working memory. The contents of the working memory, sometimes called
the data structure, changes with each problem situation. Consequently, it is the most dynamic
component of an expert system, assuming, of course, that it is kept current.

9
Knowledge base-The knowledge base need not change unless a new piece of information
arises that indicates a change in the problem solution procedure. Changes in the knowledge base
should be carefully evaluated before being implemented. In effect, changes should not be based on
just one consultation experience. For example, a rule that is found to be irrelevant less than one
problem situation may turn out to be crucial in solving other problems.

Least dynamic: - Inference engine. Because of the strict control and coding structure of an
inference engine, changes are made only if absolutely necessary to correct a bug or enhance the
inferential process. Commercial inference engines, in particular, change only at the discretion of the
developer. Since frequent updates can be disruptive and costly to clients, most commercial software
developers try to minimize the frequency of updates.

10
Structure of Expert Systems
In the early days the phrase “expert system” was used to denote a system whose
knowledge base and reasoning mechanisms were based on those of a human expert. In this
article a more general position is held. A system will be called an “expert system” based on its
form alone and independent of its source of knowledge or reasoning capabilities.

The purpose of this section is to provide an intuitive overview of the architectural ideas
associated with expert systems. In discussing the architecture of expert systems we will first
introduce the concept of an expert system kernel and then embed that kernel in a fuller and more
traditional expert system architecture.

Expert System Kernel Architecture


The kernel of an expert system contains those components that are the basic and the
required components for all expert systems. These components are identified as a fact base, a
rule base, and an inference mechanism. The fact base and the rule base combine to be the
knowledge base for the kernel.
Figure 1 provides an overview of the kernel of an expert system from this structuralism point-of-
view.At the highest level of abstraction there is the environment E and the expert system ES
connected to or embedded in it. This level may be represented as:
E <---> ES.
The environment establishes the domain of application of the expert system.

11
In addition to being viewed as the context in which the expert system performs its functions
the environment E may be viewed as the source of the knowledge that the expert system ES has and
the data which drives its behaviors. The expert system ES may be viewed as a reactive system - i.e., it
reacts to data and information it receives from the environment E based on the reasoning capabilities
it possesses.

Expert System Architecture

If we embed the kernel of an expert system in an operational context that contains


processes for interacting with and interfacing with a user, a process for knowledge and data
acquisition and a process to support the generation of explanations for rule firings and advice to the
user then we arrive at what is customarily viewed as the architecture for an expert system.

Figure displays the architecture commonly associated with expert systems. In our terminology it
is comprised of a kernel augmented by processes for data and knowledge capture, user interfaces
and interactions, and an process for generating and presenting to a user explanations of its behaviors.

12
The “Knowledge and Data Acquisition” process is used by the expert system to acquire new
facts and rules associated with its specific domain. It is through this process that capabilities can be
added to or subtracted from the expert system. Associated with this process is the concept of
knowledge engineering. This is the process whereby knowledge from an expert or group of experts or
other sources such as books, procedure manuals, training guides, etc. are gathered, formatted, verified
and validated, and input into the knowledge base of the expert system.
The “User Interface” process is the mechanism used by the expert system to present to some
human user information on its functioning, and specifically information on its determination of the
state of the environment to which it is associated and its actions relevant to its understanding of the
environment’s state. Most current user interfaces are supported by multimedia technology and are
designed to provide the user with the most complete and unambiguous presentation of information
possible.
The “Explanation” process is used by the expert system to provide to the user a reasoned
history of its actions and/or recommendations. This explanation is usually generated by
providing a textual commentary identifying the sequence of rules it has fired with associated
canned or automated commentary generation on why the rule was fired. This type of explanation
can be used by the user to verify that the reasoning mechanism being utilized by the expert system is
correct. It also provides additional information to the user that can be used to establish a more
complete context for understanding both the state of the environment in question and the rationale for
any advice or opinion given by the expert system.

Development
The development of an E/KBS—often referred to as knowledge engineering—follows much the
same path of any other software product. However, within the development of an E/KBS terminology
and the nature of the software development process are different from conventional software systems.
The major development effort in creating an expert/knowledge-based system is the design and
development of the knowledge base (KB). One of the problems with the design and development of a
KB is the lack of a formal methodology. By formal methodology we mean a strategy that allows us
to measure (precisely) the performance of an E/KBS similar to conventional software system design
and development.
Expert/knowledge-based system development (usually) relies on an evolutionary rapid
prototyping methodology to create the KB. One definition of rapid prototyping is an iterative process
that develops “an easily modifiable and extensible working model of a proposed system, not
necessarily representative of a complete system, which provides users of the application with a
physical representation of key parts of the system before implementation” By using rapid
13
prototyping the developer can focus on building small working systems that can be the central
element of discussions between the users, client, and the developers in solving the particular decision
problems at hand. The rapid prototyping paradigm, for KB development, is often unstructured and ad
hoc, especially concerning the testing and evaluation of the KB. This can lead to the development of
a KB that is inefficient and contains numerous potential errors. Under evolutionary rapid prototyping,
an E/KBS is designed and built in an incremental fashion.
There have been many paradigms offered for the design and development of a KBS. The best
known of these paradigms is the five-stage process given by Buchanan. These five stages—
identification, conceptualization, formalization, implementation, and testing correspond loosely
to the eight stages in the waterfall model for conventional software development. Buchanan, et al.
points out that the process of developing an E/KBS is iterative. The E/KBS developer and the domain
expert may revisit any of the previous stages for further revision or refinement of the concepts and/or
relationships in the problem domain. This is inherent in the evolutionary rapid prototyping process.
Derek Partridge describes a methodology of artificial intelligence program construction through a
process known as RUDE (Run-Understand-Debug-Edit). RUDE is based on rapid prototyping and
the abstraction of the problem at each stage of the development process. He describes a KBS
as an "incompletely specified function" because it models the behavior of a human and, as such, is
not formally specified in the same manner as conventional software. Partridge argues that given
this incomplete problem specification, the only way to develop a KBS is through a trial-and-error
approach. Many other approaches have been proposed.
An approach that builds on both Buchanan and Partridge is the four-stage methodology known as
DICE. DICE stands for Design, Implementation, Critique, and Editing. The methodology, which
emphasizes testing and reliability analysis, uses evolutionary rapid prototyping and creates a
control system where the feedback of the testing results improves the reliability and performance of
the system.
Regardless of the methodology chosen to develop an E/KBS, there are six key activities to
be performed within the development life cycle of an E/KBS.
(1) Problem Selection
(2) Knowledge Acquisition
(3) Knowledge Representation
(4) Implementation Testing,
(5) Verification, Validation, Evaluation
(6) Maintenance/Sustenance

14
Major Application Areas

There are two different ways developers look at application areas for expert/knowledge-
based systems. First, they look at the functional nature of the problem. Secondly, they look at the
application domain. We review both of these ways to get a better understanding for the
application of expert/knowledge-based systems to “real-world” problems. In 1993, John
Durkin published a catalog of expert system applications that briefly reviews a number of
applications of expert/knowledge- based system technology and categorizes each of the nearly 2,500
systems.

Both MYCIN and XCON point out two different functions that are viewed as highly favorable
for expert/knowledge-based system development. MYCIN mainly deals with the diagnosis
of a disease given a set of symptoms and patient information. XCON, on the other hand, is a
synthesis-based (design) configuration expert system. It takes as its input the needs of the
customer and builds a feasible arrangement of components to meet the need. Both of these systems
solve different generic “types” of problems.

An expert system may have many differing functions. It may monitor, detect faults, isolate
faults, control, give advice, document, assist, etc. The range of applications for expert system
technology ranges from highly embedded turnkey expert systems for controlling certain functions in a
car or in a home to systems that provide financial, medical, or navigation advice to systems that
control spacecraft.

Table 1 lists the ten different types of problems generally solved by expert/knowledge-based
systems. Within each problem type expert perform a generic set of tasks, such as diagnosis or
planning.

15
Table 1. Expert/Knowledge -Based System Application Areas
Problem Type Description
Control Governing system behavior to meet specifications
Design Configuring Objects under constraint
Diagnosis Inferring System Malfunction from observables Instruction
Diagnosing, debugging, and repairing student behavior
Interpretation Inferring situation description from data
Monitoring Comparing observations to expectations

Planning Designing actions


Prediction Inferring likely consequences of given situation Prescription
Recommending solution to system malfunction Selection
Identifying best choice from a list of possibilities

As can be seen from Table 1, there are many different types of problems that can be solved
using expert/knowledge-based system technology. Currently, the majority of expert/knowledge-
based system applications are diagnostic systems interpretation and prediction systems are also
highly favorable functional domains.
Expert/knowledge-based systems also cover a number of different application areas, such as business,
manufacturing, medicine, and engineering. Durkin lists over 20 different application areas, including
business, which encompasses marketing, management, finance, accounting, etc.

The Need for Expert Systems


Expert systems are necessitated by the limitations associated with conventional human decision-
making processes, including:

1. Human expertise is very scarce.


2. Humans get tired from physical or mental workload.
3. Humans forget crucial details of a problem.
4. Humans are inconsistent in their day-to-day decisions.
5. Humans have limited working memory.
6. Humans are unable to comprehend large amounts of data quickly.
7. Humans are unable to retain large amounts of data in memory.
8. Humans are slow in recalling information stored in memory.
9. Humans are subject to deliberate or inadvertent bias in their actions.

16
10. Humans can deliberately avoid decision responsibilities.
11. Humans lie, hide, and die.

Coupled with these human limitations are the weaknesses inherent in conventional programming
and traditional decision-support tools. Despite the mechanistic power of computers, they have certain
limitations that impair their effectiveness in implementing human-like decision processes. Conventional
programs:

1. Are algorithmic in nature and depend only on raw machine power


2. Depend on facts that may be difficult to obtain
3. Do not make use of the effective heuristic approaches used by human experts
4. Are not easily adaptable to changing problem environments
5. Seek explicit and factual solutions that may not be possible

Benefits of Expert Systems

Expert systems offer an environment where the good capabilities of humans and the power of
computers can be incorporated to overcome many of the limitations discussed in the previous section.
Expert systems:

1. Increase the probability, frequency, and consistency of making good decisions


2. Help distribute human expertise
3. Facilitate real-time, low-cost expert-level decisions by the non expert
4. Enhance the utilization of most of the available data
5.Permit objectivity by weighing evidence without bias and without regard for the user’s
personal and emotional reactions
6. Permit dynamism through modularity of structure
7. Free up the mind and time of the human expert to enable him or her to concentrate on more
creative activities
8. Encourage investigations into the subtle areas of a problem

17
Expert Systems Are For Everyone- No matter which area of business one is engaged in,
expert systems can fulfill the need for higher productivity and reliability of decisions. Everyone can find
an application potential in the field of expert systems. Contrary to the belief that expert systems may
pose a threat to job security, expert systems can actually help to create opportunities for new job areas.
Presented below are some areas that hold promise for new job opportunities:

 Basic research
 Applied research
 Knowledge engineering
 Inference engine development
 Consulting (development and implementation)
 Training
 Sales and marketing
 Passive or active end user

An active user is one who directly uses expert systems consultations to obtain recommendations.
A passive user is one who trusts the results obtained from expert systems and supports the
implementation of those results.

18
TRANSITION FROM DATA PROCESSING TO KNOWLEDGE PROCESSING

What data has been to the previous generations of computing, knowledge is to the present
generation of computing. Expert systems represent a revolutionary transition from the traditional data
processing to knowledge processing. Figure
Dataillustrates the relationships between the procedures for data

processing and knowledge processing to make decisions. In traditional data processing the decision
maker obtains the information generated and performs an explicit analysis of the information before
making his or her decision. In an expert system knowledge is processed by using available data as the
processing fuel. Conclusions are reached and recommendations are derived implicitly. The expert
system offers the recommendation to the decision maker, who makes the final decision and implements
it as appropriate. Conventional data can now be manipulated to work with durable knowledge, which
can be processed to generate timely information, which is then used to enhance human decisions.

Data processing versus knowledge processing

Heuristic Reasoning

Human experts use a type of problem-solving technique called heuristic reasoning. Commonly
called rules of thumb or expert heuristics, it allows the expert to arrive at a good solution quickly and
efficiently. Expert systems base their reasoning process on symbolic manipulation and heuristic
inference procedures that closely match the human thinking process. Conventional programs can only
recognize numeric or alphabetic strings and manipulate them only in a preprogrammed manner.
19
Search Control Methods

All expert systems are searching intensive. Many techniques have been employed to make these
intensive searches more efficient. Branch and bound, pruning, depth-first search, and breadth-first search
are some of the search techniques that have been explored. Because of the intensity of the search
process, it is important that good search control strategies be used in the expert systems inference
process.

Forward Chaining

This method involves checking the condition part of a rule to determine whether it is true
or false. If the condition is true, then the action part of the rule is also true. This procedure continues
until a solution is found or a dead end is reached. Forward chaining is commonly referred to as data-
driven reasoning.

Backward Chaining

Backward chaining is the reverse of forward chaining. It is used to backtrack from a goal to the
paths that lead to the goal. Backward chaining is very good when all outcomes are known and the
number of possible outcomes is not large. In this case, a goal is specified and the expert system
tries to determine what conditions are needed to arrive at the specified goal. Back- ward chaining is thus
also called goal-driven.

20
USER INTERFACE
The initial development of an expert system is performed by the expert and the knowledge
engineer. Unlike most conventional programs, in which only programmers can make program design
decisions, the design of large expert systems is implemented through a team effort. A consideration of
the needs of the end user is very important in designing the contents and user interface of expert
systems.
Natural Language
The programming languages used for expert systems tend to operate in a manner similar to
ordinary conversation. We usually state the premise of a problem in the form of a question, with actions
being stated much as when we verbally answer the question, that is, in a ‘‘natural language’’ format. If,
during or after a consultation, an expert system determines that a piece of its data or knowledge base is
incorrect or is no longer applicable because the problem environment has changed, it should be able to
update the knowledge base accordingly. This capability would allow the expert system to converse in a
natural language format with either the developers or users.
Expert systems not only arrive at solutions or recommendations, but can give the user a level of
confidence about the solution. In this manner, an expert system can handle both quantitative and
qualitative factors when analyzing problems. This aspect is very important when we consider how in-
exact most input data are for day-to-day decision making. For example, the problems addressed by an
expert system can have more than one solution or, in some cases, no definite solution at all. Yet the
expert system can provide useful recommendations to the user just as a human consultant might do.
Explanations Facility in Expert Systems
One of the key characteristics of an expert system is the explanation facility. With this capability,
an expert system can explain how it arrives at its conclusions. The user can ask questions dealing with
the what, how, and why aspects of a problem. The expert system will then provide the user with a trace
of the consultation process, pointing out the key reasoning paths followed during the consultation.
Sometimes an expert system is required to solve other problems, possibly not directly related to the
specific problem at hand, but whose solution will have an impact on the total problem-solving process.
The explanation facility helps the expert system to clarify and justify why such a digression might be
needed.
Data Uncertainties
Expert systems are capable of working with inexact data. An expert system allows the user to
assign probabilities, certainty factors, or confidence levels to any or all input data. This feature closely
represents how most problems are handled in the real world. An expert system can take all relevant
factors into account and make a recommendation based on the best possible solution rather than the only

21
exact solution.
Application Roadmap

The symbolic processing capabilities of AI technology lead to many potential applications in


engineering and manufacturing. With the increasing sophistication of AI techniques, analysts are now
able to use innovative methods to provide viable solutions to complex problems in everyday
applications. Figure presents a structural representation of the application paths for artificial intelligence
and expert systems.

Application roadmap for expert systems

22
Symbolic Processing
Contrary to the practice in conventional programming, expert systems can manipulate objects
symbolically to arrive at reasonable conclusions to a problem scenario. The object drawings in this
section are used to illustrate the versatility of symbolic processing by using the manipulation of objects
to convey information. Let us assume that we are given the collection of five common objects as
shown in Figure A.

Figure A. Collection of common objects.

The objects are Head, Hammer, Bucket, Foot, and Bill (as in doctor’s bill). We can logically
arrange a subset of the set of given objects to convey specific inferences. In Figure B, four of the five
objects are arranged in the order Hammer, Head, Foot, and Bucket. This unique arrangement may be
represented by the equation presented below:
Hammer ~ Head =Foot ~ Bucket
It is desired to infer a reasonable statement of the information being conveyed by the symbolic
arrangement of objects in Figure B. Figure 2.8 presents an alternative arrangement of another subset
(hammer, foot, foot, and bill) of the given objects. This alternative arrangement may be represented by
the equation shown below:

Figure B. Arrangement of common objects.

23
Hammer ~ Foot = Foot ~ Bill

It is desired to infer a reasonable statement from Figure 2.8. It should be noted that ordinary
mathematical reasoning concerning the equation hammer ~ foot = foot ~ bill might lead to Hammer
Bill. However, in artificial intelligence symbolic reasoning, the context of the arrangement of the objects
will determine the proper implication.
Figure B: If Hammer smashes Head, then victim kicks the bucket (i.e., dies). In this case, the
action part of the statement relates to an action (a fatal one) by the victim of the assault.
Figure C: If Hammer smashes Foot, then assailant foots the bill. In this case, the action part of
the statement relates to a compensatory action (restitution) by the assailant.
Using a finite set of symbolic objects, we can generate different pieces of information with different
permutations of the objects. A particularly interesting aspect of symbolic processing is noted in Figure
C.

Figure C. Alternate arrangement of objects.

The object Foot conveys one meaning when concatenated with one given object (Hammer) and
another totally different meaning when concatenated with another object (bill). In fact, the identification
of the object Bill is itself symbolically conveyed by the contents of the medical bill in Figure A. With
the illustrated capability of symbolic processing, very powerful AI-based tools can be developed for
practical applications. However, more research and development efforts will be needed before many of
those practical applications can be realized.

24

You might also like