0% found this document useful (0 votes)
14 views35 pages

Expert System

An expert system is a computer program designed to solve problems or provide advice by simulating human reasoning in a specific domain using a knowledge base and inference engine. Typical tasks include data interpretation, diagnosis, structural analysis, planning, and predictions, with systems built through knowledge engineering involving experts and knowledge engineers. Key components include the knowledge base, inference engine, user interface, and meta-knowledge, which enhances decision-making efficiency and accuracy.

Uploaded by

hasinikunireddy5
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views35 pages

Expert System

An expert system is a computer program designed to solve problems or provide advice by simulating human reasoning in a specific domain using a knowledge base and inference engine. Typical tasks include data interpretation, diagnosis, structural analysis, planning, and predictions, with systems built through knowledge engineering involving experts and knowledge engineers. Key components include the knowledge base, inference engine, user interface, and meta-knowledge, which enhances decision-making efficiency and accuracy.

Uploaded by

hasinikunireddy5
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

UNIT 5

EXPERT SYSTEMS

An expert system is a computer program that represents and reasons with knowledge of some
specialist subject with a view to solving problems or giving advice.

To solve expert-level problems, expert systems will need efficient access to a substantial domain
knowledge base, and a reasoning mechanism to apply the knowledge to the problems they are
given. Usually they will also need to be able to explain, to the users who rely on them, how they
have reached their decisions.

They will generally build upon the ideas of knowledge representation, production rules, search,
and so on, that we have already covered.

Often we use an expert system shell which is an existing knowledge independent framework into
which domain knowledge can be inserted to produce a working expert system. We can thus
avoid having to program each new system from scratch.

5.1 Typical Tasks for Expert Systems

There are no fundamental limits on what problem domains an expert system can be built to deal
with. Some typical existing expert system tasks include:

1. The interpretation of data

Such as sonar data or geophysical measurements

2. Diagnosis of malfunctions

Such as equipment faults or human diseases

3. Structural analysis or configuration of complex objects

Such as chemical compounds or computer systems

4. Planning sequences of actions

Such as might be performed by robots

5. Predicting the future


Such as weather, share prices, exchange rates

However, these days, “conventional” computer systems can also do some of these things

5.2 Characteristics of Expert Systems

Expert systems can be distinguished from conventional computer systems in that:

1. They simulate human reasoning about the problem domain, rather than simulating
the domain itself.

2. They perform reasoning over representations of human knowledge, in addition to


doing numerical calculations or data retrieval. They have corresponding distinct modules
referred to as the inference engine and the knowledge base.

3. Problems tend to be solved using heuristics (rules of thumb) or approximate


methods or probabilistic methods which, unlike algorithmic solutions, are not guaranteed
to result in a correct or optimal solution.

4. They usually have to provide explanations and justifications of their solutions or


recommendations in order to convince the user that their reasoning is correct.

Note that the term Intelligent Knowledge Based System (IKBS) is sometimes used as a
synonym for Expert System.

5. 3 The Architecture of Expert Systems

The process of building expert systems is often called knowledge engineering. The knowledge
engineer is involved with all components of an expert system:
Building expert systems is generally an iterative process. The components and their interaction
will be refined over the course of numerous meetings of the knowledge engineer with the experts
and users. We shall look in turn at the various components.

1. Expert

An Expert is a human specialist who has deep knowledge and experience in a particular domain such
as medicine, engineering, finance, agriculture, or law.

Role of the Expert:

 Provides domain-specific knowledge.


 Shares problem-solving strategies used in real situations.
 Helps identify important rules and facts.
 Assists the knowledge engineer in understanding how decisions are made.

Example:

 A medical doctor providing knowledge about diagnosing diseases.


 A mechanical engineer providing knowledge about machine faults.

The expert’s knowledge becomes the foundation for building the expert system.

2. Knowledge Acquisition System

The Knowledge Acquisition System is responsible for collecting knowledge from experts and other
sources and converting it into a form that can be used by the computer.

Functions:

 Gather knowledge through interviews, observations, and documents.


 Organize the knowledge into structured formats.
 Convert expert knowledge into rules and facts.
 Update the knowledge base when new information becomes available.

Methods used for knowledge acquisition:

 Interviews with experts


 Questionnaires
 Observing experts while solving problems
 Studying manuals, books, and research papers

Example:
A system interviewing doctors to gather symptoms and treatments for different diseases.

3. Knowledge Base (Facts, Rules, and Heuristics)

The Knowledge Base is the central repository of knowledge in an expert system. It stores all the
information required to solve problems in a particular domain.

It mainly contains three types of knowledge:

a) Facts

Facts are basic pieces of information about the problem domain.

Example:

 Water boils at 100°C.


 A patient has a temperature of 101°F.

b) Rules

Rules represent knowledge in IF–THEN form.

Example:

 IF temperature > 100°F AND cough present


THEN possible flu.

Rules help the system make logical decisions.

c) Heuristics

Heuristics are experience-based techniques or shortcuts used by experts to solve problems quickly.

Example:
A doctor may suspect malaria if a patient has high fever and chills, even before laboratory
confirmation.

The knowledge base continuously grows as more knowledge is added.


4. Inference Engine

The Inference Engine is the core reasoning component of the expert system. It processes the
knowledge stored in the knowledge base and uses logical reasoning to reach conclusions.

Functions:

 Applies rules from the knowledge base.


 Analyzes user inputs.
 Draws conclusions or recommendations.
 Controls the reasoning process.

Reasoning methods used:

Forward Chaining

 Starts with known facts.


 Applies rules to derive new facts.
 Continues until a conclusion is reached.

Example:
Symptoms → Diagnosis.

Backward Chaining

 Starts with a possible conclusion.


 Works backward to check if supporting facts exist.

Example:
Diagnosis → Check symptoms.

The inference engine acts like the brain of the expert system.

5. User Interface

The User Interface (UI) allows communication between the user and the expert system.

Functions:

 Accepts input from the user (problem description or data).


 Displays system recommendations or solutions.
 Provides explanations for decisions.
 Makes the system easy to use.

Example:

 A medical expert system asking questions like:


o Do you have a fever?
o Do you have a headache?

Then it provides a possible diagnosis.

6. User

The User is the person who interacts with the expert system to get advice or solutions.

Characteristics of Users:

 Usually not experts in the domain.


 Depend on the system for guidance.
 Provide data or problem descriptions.

Examples:

 A farmer using an agricultural expert system for crop disease diagnosis.


 A technician using a troubleshooting system for machine repair.

7. Knowledge Engineer

The Knowledge Engineer is the person responsible for building and maintaining the expert system.

Responsibilities:

 Interacts with domain experts.


 Extracts and organizes knowledge.
 Converts knowledge into rules and facts.
 Designs and updates the knowledge base.
 Ensures the inference engine works correctly.

The knowledge engineer acts as a bridge between the expert and the computer system.
5.2.1 Knowledge Acquisition

The knowledge acquisition component allows the expert to enter their knowledge or expertise
into the expert system, and to refine it later as and when required.

Historically, the knowledge engineer played a major role in this process, but automated systems
that allow the expert to interact directly with the system are becoming increasingly common.

The knowledge acquisition process is usually comprised of three principal stages:

1. Knowledge elicitation is the interaction between the


expert and the knowledge engineer/program to elicit the expert
knowledge in some systematic way.

2. The knowledge thus obtained is usually stored in some form of human friendly
intermediate representation.

3. The intermediate representation of the knowledge is then compiled into an


executable form (e.g. production rules) that the inference engine can process.

In practice, much iteration through these three stages is usually required!

5.2.2 Knowledge Elicitation

The knowledge elicitation process itself usually consists of several stages:

1. Find as much as possible about the problem and domain from books,
manuals, etc. In particular, become familiar with any specialist terminology and jargon.

2. Try to characterize the types of reasoning and problem solving tasks that the
system will be required to perform.

3. Find an expert (or set of experts) that is willing to collaborate on the project.
Sometimes experts are frightened of being replaced by a computer system!
4. Interview the expert (usually many times during the course of building the
system). Find out how they solve the problems your system will be expected to solve.
Have them check and refine your intermediate knowledge representation.

This is a time intensive process, and automated knowledge elicitation and machine learning
techniques are increasingly common modern alternatives.

5.2.3 Stages of Knowledge Acquisition

The iterative nature of the knowledge acquisition process can be represented in the following
diagram.

5.2.4 Levels of Knowledge Analysis

Knowledge identification: Use in depth interviews in which the knowledge engineer


encourages the expert to talk about how they do what they do. The knowledge engineer
should understand the domain well enough to know which objects and facts need talking
about.

Knowledge conceptualization: Find the primitive concepts and conceptual relations of the
problem domain.
Epistemological analysis: Uncover the structural properties of the conceptual knowledge, such
as taxonomic relations (classifications).

Logical analysis: Decide how to perform reasoning in the problem domain. This kind of
knowledge can be particularly hard to acquire.

Implementation analysis: Work out systematic procedures for implementing and testing the
system.

Capturing Tacit/Implicit Knowledge

One problem that knowledge engineers often encounter is that the human experts use
tacit/implicit knowledge (e.g. procedural knowledge) that is difficult to capture.

There are several useful techniques for acquiring this knowledge:

1. Protocol analysis: Tape-record the expert thinking aloud while performing their
role and later analyze this. Break down their protocol/account into the smallest atomic
units of thought, and let these become operators.

2. Participant observation: The knowledge engineer acquires tacit knowledge


through practical domain experience with the expert.

3. Machine induction: This is useful when the experts are able to supply examples
of the results of their decision making, even if they are unable to articulate the underlying
knowledge or reasoning process.

Which is/are best to use will generally depend on the problem domain and the expert.

5.2.5 Representing the Knowledge

We have already looked at various types of knowledge representation. In general, the knowledge
acquired from our expert will be formulated in two ways:

1. Intermediate representation – a structured knowledge representation that the


knowledge engineer and expert can both work with efficiently.

2. Production system – a formulation that the expert system’s inference engine can
process efficiently.
It is important to distinguish between:

1. Domain knowledge – the expert’s knowledge which might be expressed in the


form of rules, general/default values, and so on.

2. Case knowledge – specific facts/knowledge about particular cases, including


any derived knowledge about the particular cases.

The system will have the domain knowledge built in, and will have to integrate this with the
different case knowledge that will become available each time the system is used.

5.3 Meta Knowledge

Introduction

An expert system is an Artificial Intelligence program that simulates the decision-making ability of a
human expert. To solve complex problems efficiently, expert systems use knowledge, heuristics, and
meta-knowledge.
A Meta-Knowledge Heuristic controls how heuristics are used during problem solving, allowing the
system to reason more intelligently and efficiently.
1. Meta-Knowledge

Meta-knowledge means knowledge about knowledge. It describes how and when the knowledge in a
system should be used.

Features of Meta-Knowledge

 Operates at a higher level than domain knowledge.


 Controls reasoning and decision-making strategies.
 Guides the selection of rules and heuristics.
 Helps expert systems make efficient and intelligent decisions.

Example
In a medical diagnosis system, meta-knowledge may determine:

 Which diagnostic rule should be applied first.


 When to stop the reasoning process.
 Which rules are most reliable.

Thus, meta-knowledge manages and controls the reasoning process of the expert system.

2. Heuristic

A heuristic is a problem-solving shortcut or rule of thumb used to find solutions quickly.

Characteristics of Heuristics

 Helps in finding solutions faster.


 Reduces search effort in complex problems.
 Used when exact methods are slow or expensive.
 Guides the system toward a probable solution.

Example

In a chess program, a heuristic rule might be:

 “Capture the opponent’s most valuable piece first.”

This shortcut reduces the number of possibilities the system must analyze.

3. Meta-Knowledge Heuristic
A Meta-Knowledge Heuristic combines meta-knowledge and heuristics.

It uses knowledge to decide which heuristic should be applied in a particular situation.

Functions

 Decides which heuristic to use.


 Controls the application of heuristics.
 Switches heuristics when conditions change.
 Prevents the blind use of shortcuts.
 Improves accuracy and efficiency of expert systems.

This allows the system to reason more intelligently like a human expert.

4. Meta-Knowledge Controlled Flow

The reasoning process in an expert system follows this structure:

1. Knowledge Base
Stores domain knowledge such as facts, rules, and relationships.
2. Heuristics
Provide shortcuts for faster problem solving.
3. Meta-Knowledge
Controls which heuristics should be applied.
4. Inference Engine
Uses rules and reasoning to process the knowledge.
5. Expert Decision / Output
Produces the final recommendation or solution.

Meta-knowledge acts as a controller that supervises the reasoning process.

Example

Consider an online job recommendation expert system.

Knowledge

 Programming skill → Software jobs


 Communication skill → Management jobs
Heuristic

A shortcut used by the system:

 “Recommend the most popular job first.”

Meta-Knowledge Heuristic Control

Meta-knowledge decides when the shortcut should be used.

Examples:

 If the user does not like coding, the system avoids recommending software jobs.
 If the user is a fresher, the system suggests learning-based job opportunities.
 If the user’s skills are unclear, the system avoids shortcuts and performs detailed analysis.

Thus, meta-knowledge ensures better job recommendations.

6. Advantages of Meta-Knowledge Heuristics

 Improves decision accuracy


 Reduces problem-solving time
 Makes systems more intelligent and flexible
 Allows systems to adapt to different situations
 Prevents incorrect conclusions caused by wrong shortcuts

Meta-Knowledge Heuristics play an important role in expert systems by controlling the use of
heuristics and guiding the reasoning process. By combining knowledge, shortcuts, and control
strategies, expert systems can make fast, intelligent, and reliable decisions similar to human experts.

5.4 Roles in Expert System Development

Three fundamental roles in building expert systems are:

1. Expert - Successful ES systems depend on the experience and application of


knowledge that the people can bring to it during its development. Large systems
generally require multiple experts.

2. Knowledge engineer - The knowledge engineer has a dual task. This person
should be able to elicit knowledge from the expert, gradually gaining an understanding of
an area of expertise. Intelligence, tact, empathy, and proficiency in specific techniques of
knowledge acquisition are all required of a knowledge engineer. Knowledge-acquisition
techniques include conducting interviews with varying degrees of structure, protocol
analysis, observation of experts at work, and analysis of cases.

On the other hand, the knowledge engineer must also select a tool appropriate for the project
and use it to represent the knowledge with the application of the knowledge acquisition
facility.

3. User - A system developed by an end user with a simple shell, is built rather
quickly an inexpensively. Larger systems are built in an organized development effort. A
prototype-oriented iterative development strategy is commonly used. ESs lends
themselves particularly well to prototyping.

5.5 Typical Expert System

1. A problem-domain-specific knowledge base that stores the encoded knowledge to


support one problem domain such as diagnosing why a car won't start. In a rule-based
expert system, the knowledge base includes the if-then rules and additional specifications
that control the course of the interview.

2. An inference engine a set of rules for making deductions from the data and that
implements the reasoning mechanism and controls the interview process. The inference
engine might be generalized so that the same software is able to process many different
knowledge bases.

3. The user interface requests information from the user and outputs intermediate
and final results. In some expert systems, input is acquired from additional sources such
as data bases and sensors.

An expert system shell consists of a generalized inference engine and user interface designed
to work with a knowledge base provided in a specified format. A shell often includes
tools that help with the design, development and testing of the knowledge base. With the
shell approach, expert systems representing many different problem domains may be
developed and delivered with the same software environment. .
There are special high level languages used to program expert systems egg PROLOG

The user interacts with the system through a user interface which may use menus, natural
language or any other style of interaction). Then an inference engine is used to reason
with both the expert knowledge (extracted from our friendly expert) and data specific to
the particular problem being solved. The expert knowledge will typically be in the form
of a set of IF-THEN rules. The case specific data includes both data provided by the
user and partial conclusions
along with certainty measures) based on this data. In a simple forward chaining rule-based
system the case specific data will be the elements in working memory.

How an expert system works Car engine diagnosis

1. IF

engine_getting_petrol

AND engine_turns_over

THEN problem_with_spark_plugs

2. IF NOT engine_turns_over

AND NOT lights_come_on

THEN problem_with_battery

3. IF NOT engine_turns_over

AND lights_come_on

THEN problem_with_starter

4. IF petrol_in_fuel_tank

THEN engine_getting_petrol

There are three possible problems with the car:

 problem_with_spark_plugs,

 problem_with_battery,
 problem_with

_starter. The system

will ask the user:

 Is it true that there's petrol in the fuel tank?

Let's say that the answer is yes. This answer would be recorded, so that the user doesn't get asked
the same question again. Anyway, the system now has proved that the engine is getting
petrol, so now wants to find out if the engine turns over. As the system doesn't yet know
whether this is the case, and as there are no rules which conclude this, the user will be asked:
 Is it true that the engine turns over?

Lets say this time the answer is no. There are no other rules which can be used to prove
``problem_with_spark_plugs'' so the system will conclude that this is not the solution to the
problem, and will consider the next hypothesis: problem_with_battery. It is true that the
engine does not turn over (the user has just said that), so all it has to prove is that the lights
don't come one. It will ask the user

 Is it true that the lights come on?

Suppose the answer is no. It has now proved that the problem is with the battery. Some systems
might stop there, but usually there might be more than one solution, (e.g., more than one fault
with the car), or it will be uncertain which of various solutions is the right one. So usually all
hypotheses are considered. It will try to prove ``problem_with_starter'', but given the existing
data (the lights come on) the proof will fail, so the system will conclude that the problem is
with the battery. A complete interaction with our very simple system might be:

 System: Is it true that there's petrol in the fuel tank?

User: Yes.

System: Is it true that the engine turns

over? User: No.

System Is it true that the lights come on?

User: No.
System: I conclude that there is a problem with battery.

Note that in general, solving problems using backward chaining involves searching through
all the possible ways of proving the hypothesis, systematically checking each of them.
Expert System Use

Expert systems are used in a variety of areas, and are still the most popular developmental
approach in the artificial intelligence world.

The table below depicts the percentage of expert systems being developed in particular areas:

• Medical screening for cancer and brain tumours

• Matching people to jobs

• Training on oil rigs

• Diagnosing faults in car engines

• Legal advisory systems

• Mineral prospecting

5.6.1 MYCIN
The MYCIN is a rule-based expert system developed in the 1970s at Stanford University as part of
research in Artificial Intelligence. It was designed to assist physicians in diagnosing bacterial
infections and recommending appropriate antibiotic treatments. MYCIN simulates the reasoning
process of human medical experts by applying a large set of rules to patient information.

Tasks and Domain


MYCIN was designed to perform two major tasks: disease diagnosis and therapy selection. The
system analyzes patient symptoms and laboratory findings to determine the presence of a bacterial
infection and identify the most probable organism responsible for it.
The domain of MYCIN mainly involves bacterial infections of the blood, also known as
bacteremia. Later, the system’s scope was extended to include other infections such as meningitis
and similar diseases. The system was particularly useful for non-expert physicians who needed
assistance in making medical decisions when faced with limited evidence and time constraints.
MYCIN evaluates incomplete clinical data and applies expert knowledge to infer the most likely
causes of infection. Based on this diagnosis, the system recommends suitable antibiotic therapy.

System Goals
The development of MYCIN focused on several important goals that ensured the system would be
practical and usable in medical environments.
Utility
The primary goal of MYCIN was to create a system that could provide meaningful assistance to
physicians. By demonstrating competence comparable to infectious-disease specialists, the system
aimed to gain the trust of medical professionals. Practical usefulness also encouraged medical
experts to contribute their knowledge to improve the system.
Flexibility
Medical knowledge constantly evolves as new research and treatments emerge. Therefore, MYCIN
was designed to allow easy updates and modifications to its knowledge base. The system needed to
handle different kinds of medical knowledge and allow new rules to be added without redesigning
the entire system.
Interactive Dialogue
MYCIN was built to interact directly with physicians. The system asks questions, collects patient
data, and explains the reasoning behind its decisions. This interaction helps users understand how
conclusions are reached and allows experts to refine or update the knowledge base during system
use.
Fast and Easy Operation
Medical environments require rapid decision making. MYCIN was therefore designed to provide
diagnostic results quickly while maintaining accuracy. The interface was also developed to be simple
enough for physicians to use without extensive training.

Architecture
The architecture of MYCIN consists of several components that work together to perform diagnosis
and treatment recommendation. These components include the consultation system, static
database, dynamic database, explanation system, and knowledge acquisition system.
Each component performs a specific role in the reasoning process. The consultation system manages
interactions with the user, the static database stores expert knowledge, the dynamic database stores
patient information during consultation, and the explanation and knowledge acquisition systems help
maintain and interpret the system’s knowledge.

Consultation System
The consultation system is the core component responsible for diagnosing infections and
recommending therapy. It interacts with physicians through a terminal interface and collects relevant
patient information. The system processes this information using the rules stored in the knowledge
base.
During consultation, MYCIN asks questions whenever additional information is needed. If certain
information cannot be obtained, the system continues reasoning using available data and ignores
rules that require missing information.
The reasoning process follows a goal-directed backward-chaining strategy combined with depth-
first search. The system begins with a goal such as identifying the infection and works backward to
gather supporting evidence. The consultation procedure typically involves determining whether an
infection exists, identifying the possible organisms, and selecting appropriate treatment options.
To improve usability, the system allows question rephrasing, corrects typing errors automatically,
and accepts different synonyms for medical terms.

Static Database
The static database contains the permanent knowledge used by MYCIN for reasoning. This
knowledge base includes production rules, meta-rules, templates, and additional rule properties that
guide the reasoning process.
The information stored in the static database represents the expertise of medical specialists. It does
not change during a consultation session but can be updated by experts through the knowledge
acquisition system. This separation ensures that the system’s reasoning uses consistent and verified
knowledge.

Production Rules
MYCIN represents medical knowledge using production rules, which follow the IF–THEN
structure. These rules describe relationships between clinical conditions and possible conclusions.
Each rule consists of a set of premises that describe specific medical conditions and an action that
specifies the conclusion to be drawn if the conditions are satisfied. MYCIN contained more than 450
rules, each representing a piece of expert medical knowledge.
The rules are designed to be independent and self-contained, meaning that each rule includes all
necessary information for its application. This modular structure allows the knowledge base to be
expanded easily by adding new rules without affecting existing ones.

MYCIN Production Rule Assumptions


The design of MYCIN’s rule system was based on certain assumptions regarding the representation
of expert knowledge. One assumption was that expert reasoning could be captured effectively
through IF–THEN rules if the knowledge was properly formalized.
Another assumption was that rules should not contain too many conditions simultaneously because
complex rules would become difficult to manage and understand. Limiting the number of conditions
helped maintain clarity and efficiency.
These ideas later influenced the development of EMYCIN, which separated the reasoning
mechanism from the medical knowledge so that similar systems could be built for other domains.

Judgmental Knowledge
Medical reasoning often involves uncertain or incomplete information. MYCIN addressed this
problem by introducing certainty factors (CF) to represent the degree of confidence in a particular
conclusion.
Certainty factors measure how strongly evidence supports or contradicts a hypothesis. When several
rules contribute evidence about the same hypothesis, their certainty factors are combined
mathematically to determine the final confidence level. This approach allows the system to reason
effectively even when the available information is incomplete.

Sub-goals
During reasoning, MYCIN frequently encounters intermediate problems that must be solved before
reaching the final conclusion. These intermediate objectives are called sub-goals.
The system creates sub-goals whenever it needs additional information to evaluate a rule. Each sub-
goal is solved by either applying other rules or requesting data from the physician. This step-by-step
reasoning process continues until the system gathers enough information to achieve the main goal.
A technique called unity paths allows the system to bypass unnecessary reasoning when a
conclusion can be reached with complete certainty.

Preview Mechanism
The preview mechanism improves the efficiency of the reasoning process by examining rules before
they are executed. By analyzing a rule’s conditions in advance, the system can determine whether
applying the rule will contribute useful information.
If the rule is unlikely to produce a meaningful result, it is skipped. This prevents unnecessary
computations and reduces the time required for diagnosis. The mechanism also prevents infinite
loops that could occur when rules depend on their own conclusions.

Meta-Rules
Meta-rules are higher-level rules that guide the reasoning process. Instead of representing medical
knowledge directly, they provide strategies for selecting which rules should be applied first.
By prioritizing certain rules, meta-rules help reduce the size of the search space and improve
efficiency. In some cases, meta-rules can also control other meta-rules, creating multiple levels of
reasoning strategies. Although this approach improves performance, it can sometimes make
explanations more complex.

Templates
Templates provide structured patterns for representing production rules. Each rule in the knowledge
base follows a predefined template that specifies how conditions and conclusions should be
expressed.
Using templates ensures consistency across the knowledge base and simplifies the process of adding
new rules. When experts introduce new knowledge, the system automatically updates the relevant
templates to maintain a uniform representation.

Dynamic Database
The dynamic database stores information collected during a consultation session. This information
includes patient symptoms, laboratory results, and intermediate conclusions generated during
reasoning.
Unlike the static database, which contains general medical knowledge, the dynamic database is
specific to a particular patient. It is created and updated continuously as the consultation progresses.

Context Tree
The context tree organizes the reasoning process by recording relationships between rules, sub-goals,
and conclusions. It provides a structured representation of how different pieces of information
contribute to the final diagnosis.
By maintaining this structure, the system can track the reasoning path and use it later to explain how
a particular conclusion was reached.

Therapy Selection
After identifying the likely infectious organisms, MYCIN determines the best treatment using a
plan-generate-and-test approach. The system first generates possible therapies based on rules that
associate organisms with effective antibiotics.
Each potential therapy is evaluated using factors such as drug sensitivity, probability of
effectiveness, and possible contraindications. The final selection aims to maximize coverage of
possible organisms while minimizing the number of drugs prescribed. If necessary, physicians can
request alternative treatment options.

Explanation System
The explanation system allows MYCIN to justify its reasoning process. Physicians can request
explanations for either the questions asked by the system or the conclusions it produces.
The explanation mechanism uses information recorded during reasoning to reconstruct the decision
path. By presenting this information in understandable language, the system helps users verify and
trust its recommendations.

Q-A Module
The Q-A module converts the symbolic representations used in production rules into readable
sentences. It uses predefined translation patterns to transform technical rule expressions into natural
language statements.
This translation allows physicians to understand the reasoning behind questions and conclusions
without needing to interpret the system’s internal symbolic representations.

Reasoning Status Checker


The reasoning status checker enables users to explore the reasoning process interactively. When a
physician asks WHY, the system explains the goal that motivated a particular question. When the
physician asks HOW, the system describes the chain of rules that led to the conclusion.
This navigation through the reasoning tree helps users understand both the logic and the evidence
supporting the system’s decisions.

Knowledge Acquisition System


The knowledge acquisition system allows experts to extend and maintain the MYCIN knowledge
base. It provides a dialogue-based interface that guides experts in adding or modifying rules.
Because the rules are written in a simple IF–THEN format, medical experts can contribute
knowledge with minimal training. This approach allows the system’s expertise to grow gradually as
new knowledge becomes available.

Although MYCIN demonstrated high diagnostic accuracy and was evaluated positively by medical
experts, it was never deployed for routine clinical use. Concerns about legal responsibility and
ethical issues related to automated medical advice prevented its widespread adoption.
Despite this limitation, MYCIN made significant contributions to the development of expert
systems. It demonstrated the effectiveness of rule-based reasoning, introduced innovative methods
for handling uncertainty, and influenced the design of many later systems in artificial intelligence.

5.6.2 DART

DARPA funded the MITRE Corporation and Carnegie Mellon University to analyze the
feasibility of several intelligent planning systems. In November 1989, a demonstration
named The Proud Eagle Exercise indicated many inadequacies and bottlenecks within
military support systems. In July, DART was previewed to the military by BBN Systems
and Technologies and the ISX Corporation (now part of Lockheed Martin Advanced
Technology Laboratories) in conjunction with the United States Air Force Rome
Laboratory. It was proposed in November 1990, with the military immediately
demanding that a prototype be developed for testing. Eight weeks later, a hasty but
working prototype was introduced in 1991 to the USTRANSCOM at the beginning of
Operation Desert Storm during the Gulf War.

Impact
Directly following its launch, DART solved several logistical nightmares, saving the military
millions of dollars. Military planners were aware of the tremendous obstacles facing
moving military assets from bases in Europe to prepared bases in Saudi Arabia, in
preparation for Desert Storm. DART quickly proved its value by improving upon existing
plans of the U.S. military. What surprised many observers were DART's ability to adapt
plans rapidly in a crisis environment.
DART's success led to the development of other military planning agents such as:

 RDA - Resource Description and Access system

 DRPI - Knowledge-Based Planning and Scheduling Initiative, a successor of DART

A DART expert system in Artificial Intelligence (AI) is a type of decision-support system designed
to help people make complex decisions when there is uncertainty or risk involved. DART systems
combine expert knowledge, reasoning techniques, and decision analysis methods to evaluate
different alternatives and suggest the most suitable choice. These systems are particularly useful in
situations where decisions must be made carefully by considering possible outcomes, risks, and
benefits.

A DART expert system is a computer-based system that imitates the reasoning ability of human
experts in decision-making situations. It uses stored knowledge and analytical models to study
different options and analyze the risks associated with each option. The system then recommends the
best decision based on logical reasoning and probability analysis.

In many real-world situations, decision makers face uncertainty because the results of their actions
cannot be predicted with complete accuracy. A DART expert system helps reduce this uncertainty
by analyzing available data and evaluating possible consequences before suggesting a decision.

Components of a DART Expert System


Knowledge Base

The knowledge base is the main storage area of the expert system. It contains the knowledge
collected from human experts and other reliable sources. This knowledge may include facts, rules,
probability values, and decision strategies. The knowledge base allows the system to understand the
problem and evaluate different alternatives based on expert-level information.

Inference Engine

The inference engine is the reasoning component of the system. It processes the information stored
in the knowledge base and applies logical rules to analyze the problem. When a user enters data
about a decision problem, the inference engine uses the stored knowledge to evaluate the possible
options and determine the most appropriate solution.

User Interface

The user interface allows interaction between the user and the expert system. Through this interface,
the user can provide input, describe the problem, and receive recommendations from the system. A
good user interface makes the system easy to use and helps users understand the results and
explanations provided by the system.

Decision and Risk Analysis Model


A DART expert system often includes models used for decision and risk analysis. These models help
the system evaluate different alternatives by considering factors such as probability, cost, benefits,
and potential risks. Techniques such as decision trees and probability calculations may be used to
estimate possible outcomes and compare different options.

Working of a DART Expert System

The working process of a DART expert system begins when a user enters information about a
decision problem. The system then analyzes the available alternatives and collects relevant
information from the knowledge base. The inference engine processes this information and evaluates
each alternative using decision analysis techniques. After calculating the risks and benefits
associated with each option, the system provides a recommendation for the best possible decision.

Applications of DART Expert Systems

DART expert systems are used in many fields where decision making is complex and uncertain. In
business management, they help organizations evaluate investment opportunities and project risks.
In finance, they assist in analyzing investment decisions and predicting potential returns. In defense
and strategic planning, such systems help analyze mission risks and select the most effective
strategies. Similar decision-support systems are also used in healthcare to assist doctors in choosing
appropriate treatment options.

Advantages

One of the main advantages of a DART expert system is that it improves the quality of decision
making by combining expert knowledge with analytical techniques. It can analyze large amounts of
data quickly and evaluate different alternatives more systematically than a human alone. It also helps
reduce the chances of errors and supports decision makers by providing logical explanations for its
recommendations.

Limitations

Despite its benefits, a DART expert system also has some limitations. The accuracy of its decisions
depends on the quality and completeness of the knowledge stored in the knowledge base. Building
and maintaining such knowledge bases can be difficult and time-consuming. Additionally, if the
system encounters completely new situations that were not included in its knowledge base, it may
not provide reliable results.
DART expert system is an AI-based decision-support system that assists users in solving complex
problems involving risk and uncertainty. By using expert knowledge, reasoning mechanisms, and
decision analysis models, it helps evaluate different alternatives and recommend the most suitable
course of action. These systems play an important role in fields where accurate and well-informed
decision making is essential.

The Dynamic Analysis and Replanning Tool, commonly abbreviated to DART, is an


artificial intelligence program used by the U.S. military to optimize and schedule the
transportation of supplies or personnel and solve other logistical problems.

DART uses intelligent agents to aid decision support systems located at the U.S.
Transportation and European Commands. It integrates a set of intelligent data processing
agents and database management systems to give planners the ability to rapidly evaluate
plans for logistical feasibility. By automating evaluation of these processes DART
decreases the cost and time required to implement decisions.

DART achieved logistical solutions that surprised many military planners. Introduced in
1991, DART had by 1995 offset the monetary equivalent of all funds DARPA had
channeled into AI research for the previous 30 years combined

XCON (eXpert CONfigurer)

XCON (eXpert CONfigurer) is a rule-based expert system developed to automatically configure


complex computer systems. It was developed by Digital Equipment Corporation (DEC) in the late
1970s (around 1978–1980) to configure VAX computer systems. The system automated the process
of selecting compatible hardware components required to build a VAX computer system.

Before XCON, system configuration was performed manually by engineers. Since VAX systems
consisted of many hardware modules such as CPU boards, memory modules, disk drives,
controllers, buses, and power supplies, the configuration process involved thousands of technical
rules and dependencies. Manual configuration often resulted in errors, incorrect component
selection, and manufacturing delays. XCON was introduced to solve this problem by automating the
configuration process using expert system technology.

Technologies Used in XCON

XCON was built using several AI and expert system technologies:


 Rule-based expert system
 Forward chaining inference mechanism
 OPS5 rule-based programming language
 Rete algorithm for efficient pattern matching

These technologies allowed XCON to process thousands of configuration rules quickly and
accurately.

Block Diagram of XCON Expert System

Components of XCON

1. Knowledge Base

The knowledge base stores expert knowledge in the form of IF–THEN production rules.
In XCON, the rules represent hardware configuration knowledge such as:

 Component compatibility
 Hardware dependencies
 Slot allocation rules
 Power supply requirements
 Bus and controller constraints

Example rule:

IF number_of_disk_drives > 1
THEN add_disk_controller
The knowledge base in XCON contained thousands of such rules that represented the expertise of
hardware engineers.

2. Inference Engine

The inference engine is the reasoning component of the expert system.


It applies the rules stored in the knowledge base to the facts present in working memory.

Functions of the inference engine:

 Matches facts with rules


 Executes rules whose conditions are satisfied
 Generates new facts
 Produces the final system configuration

XCON uses forward chaining, which means it starts with available data and applies rules to reach a
final conclusion.

3. Working Memory

Working memory is a temporary storage area that contains:

 Customer order details


 Intermediate configuration results
 Newly generated facts during rule execution

The inference engine continuously updates working memory as rules are applied until the final
configuration is completed.

4. Control Strategy

The control strategy determines the order in which rules are applied when multiple rules are
applicable at the same time.

Its functions include:

 Selecting which rule should fire first


 Avoiding conflicts between rules
 Improving efficiency of reasoning
This ensures that the system produces a correct and optimized configuration.

5. Explanation Facility

The explanation facility allows the system to explain the reasoning behind its decisions.

It answers questions such as:

 Why was a component added?


 Which rule was applied?
 What facts led to the decision?

Example:

Question: Why was a disk controller added?


Answer: Because the customer selected more than one disk drive, so the rule requiring a disk
controller was applied.

This feature increases transparency, debugging capability, and user trust.

Working of XCON

The operation of XCON follows these steps:

1. A customer places an order for a VAX computer system.


2. The order details are entered into XCON.
3. The system analyzes the order using thousands of IF–THEN rules.
4. It automatically:
o Checks compatibility between components
o Adds required hardware modules
o Assigns boards to proper slots
o Verifies power requirements
5. The final valid configuration is generated.
6. The configuration is sent to the manufacturing department to build the system.

This automated process ensures that only valid and compatible hardware combinations are produced.

Advantages of XCON

 Automates complex hardware configuration


 Reduces human errors
 Saves time and cost in manufacturing
 Ensures accurate and consistent configurations
 Preserves expert knowledge
 Provides explanation for decisions

Disadvantages of XCON

 Highly domain-specific (mainly limited to VAX systems)


 Difficult to maintain due to thousands of rules
 Suffers from rule explosion problem
 No learning capability (rules must be updated manually)

Expert Systems shells

An expert system is a computer program that imitates the decision-making ability of a human expert.
Early expert systems were built from scratch using programming languages such as LISP, where
both the reasoning mechanism and the domain knowledge were written together. This approach
made development difficult because every new expert system required building the entire structure
again.

To solve this problem, developers introduced the concept of an expert system shell.

Concept of Expert System Shell

An expert system shell is an expert system without a knowledge base. It contains all the essential
components required to run an expert system, except the domain-specific knowledge.

In simple terms:

Expert System = Shell + Knowledge Base

The shell provides the framework, while the knowledge base stores the rules and information related
to a particular problem domain.

Development of Expert System Shells

Initially, expert systems were constructed as a set of declarative representations, mainly rules,
combined with an interpreter that processed those rules.
To improve reusability and flexibility, developers separated the interpreter from the domain-specific
knowledge. This separation allowed the same reasoning mechanism to be reused for multiple
problem domains simply by adding new knowledge.

The resulting reusable framework is called an expert system shell.

Components of an Expert System Shell

A typical expert system shell contains several built-in components that help in building expert
systems easily.

1. Knowledge Acquisition Facility

This component allows developers or knowledge engineers to enter knowledge into the system.
Knowledge can be represented in forms such as IF–THEN rules, frames, or facts.

2. Inference Engine

The inference engine is the reasoning mechanism of the expert system.


It processes the rules in the knowledge base and derives conclusions from given data.

3. User Interface

The user interface allows users to interact with the expert system.
Users can enter queries or information, and the system provides advice or solutions.

4. Explanation System

This component explains how and why a particular conclusion was reached.
It improves user confidence by showing the reasoning process used by the system.
5. Knowledge Base Editor

It provides tools to create, modify, and manage rules in the knowledge base.

Working of Expert System Shell

The working of an expert system shell can be described in the following steps:

1. Knowledge engineers collect knowledge from domain experts.


2. The knowledge is encoded in the knowledge base using rules or other structures.
3. The inference engine processes the rules based on user input.
4. The system generates conclusions or recommendations.
5. The explanation facility provides reasoning behind the decision.

Thus, the shell acts as a platform where knowledge can be added to build expert systems for
different domains.

Examples of Expert System Shells

1. JESS (Java Expert System Shell)

JESS is a Java-based expert system shell that provides a fully developed Java API for building
expert systems.
It allows developers to create rule-based systems using Java programming.

2. Vidwan

Vidwan is an expert system shell developed at the National Centre for Software Technology
(NCST), Mumbai in 1993.
It allows knowledge representation using IF–THEN rules, which makes knowledge encoding easier.

Features of Expert System Shells

Expert system shells provide several important features:

 Flexibility in knowledge representation


 Support for rule-based reasoning
 Ability to use frames and truth maintenance systems
 Built-in explanation mechanisms
 Tools for knowledge acquisition and editing
 Support for multiple reasoning strategies

These features make shells more powerful than early expert systems like MYCIN.
Evolution of Expert System Shells

The capabilities of expert system shells have improved over time.

Early Shells

Early shells mainly provided:

 Knowledge representation
 Reasoning mechanisms
 Explanation facilities

Later Shells

Modern shells additionally provide:

 Knowledge acquisition tools


 Integration with other software systems
 Easy interaction with programming environments

Need for Integration

Expert systems cannot work independently in isolation. They often need to interact with other
programs and databases. Therefore, expert system shells must provide:

 Easy integration with programming environments


 Interfaces for external applications
 Communication with other software systems

This integration allows expert systems to be used in real-world applications.

Advantages of Expert System Shells

 Reduces development time


 Reusable framework for multiple domains
 Easier knowledge representation
 Provides built-in reasoning mechanisms
 Simplifies expert system development

You might also like