Expert System
Expert System
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.
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:
2. Diagnosis of malfunctions
However, these days, “conventional” computer systems can also do some of these things
1. They simulate human reasoning about the problem domain, rather than simulating
the domain itself.
Note that the term Intelligent Knowledge Based System (IKBS) is sometimes used as a
synonym for Expert System.
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.
Example:
The expert’s knowledge becomes the foundation for building the expert 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:
Example:
A system interviewing doctors to gather symptoms and treatments for different diseases.
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.
a) Facts
Example:
b) Rules
Example:
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 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:
Forward Chaining
Example:
Symptoms → Diagnosis.
Backward Chaining
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:
Example:
6. User
The User is the person who interacts with the expert system to get advice or solutions.
Characteristics of Users:
Examples:
7. Knowledge Engineer
The Knowledge Engineer is the person responsible for building and maintaining the expert system.
Responsibilities:
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.
2. The knowledge thus obtained is usually stored in some form of human friendly
intermediate representation.
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.
The iterative nature of the knowledge acquisition process can be represented in the following
diagram.
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.
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.
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.
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.
We have already looked at various types of knowledge representation. In general, the knowledge
acquired from our expert will be formulated in two ways:
2. Production system – a formulation that the expert system’s inference engine can
process efficiently.
It is important to distinguish between:
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.
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
Example
In a medical diagnosis system, meta-knowledge may determine:
Thus, meta-knowledge manages and controls the reasoning process of the expert system.
2. Heuristic
Characteristics of Heuristics
Example
This shortcut reduces the number of possibilities the system must analyze.
3. Meta-Knowledge Heuristic
A Meta-Knowledge Heuristic combines meta-knowledge and heuristics.
Functions
This allows the system to reason more intelligently like a human expert.
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.
Example
Knowledge
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.
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.
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.
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.
1. IF
engine_getting_petrol
AND engine_turns_over
THEN problem_with_spark_plugs
2. IF NOT engine_turns_over
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
problem_with_spark_plugs,
problem_with_battery,
problem_with
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
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:
User: Yes.
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:
• 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.
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.
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.
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:
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.
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.
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.
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.
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
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.
These technologies allowed XCON to process thousands of configuration rules quickly and
accurately.
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
XCON uses forward chaining, which means it starts with available data and applies rules to reach a
final conclusion.
3. Working Memory
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.
5. Explanation Facility
The explanation facility allows the system to explain the reasoning behind its decisions.
Example:
Working of XCON
This automated process ensures that only valid and compatible hardware combinations are produced.
Advantages of XCON
Disadvantages of XCON
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.
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:
The shell provides the framework, while the knowledge base stores the rules and information related
to a particular problem domain.
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.
A typical expert system shell contains several built-in components that help in building expert
systems easily.
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
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.
The working of an expert system shell can be described in the following steps:
Thus, the shell acts as a platform where knowledge can be added to build expert systems for
different domains.
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.
These features make shells more powerful than early expert systems like MYCIN.
Evolution of Expert System Shells
Early Shells
Knowledge representation
Reasoning mechanisms
Explanation facilities
Later Shells
Expert systems cannot work independently in isolation. They often need to interact with other
programs and databases. Therefore, expert system shells must provide: