Expert System Module 5
Expert System Module 5
The R1 program internally called XCON, for eXpert CONfigurer was a production-
rule-based system to assist in the ordering of DEC's VAX computer systems by
automatically selecting the computer system components based on the customer's
requirements.
It’s rules look like this:
If: the most current active context is distributing
mass bus devices and
there is a single-port disk drive that has not been
assigned to a massbus and
there are no unassigned dual port disk drives and
the number of devices that each mass bus should support is known and,
there is a mass bus that has been assigned at least
one disk drive and that should support additional
disk drives,
and the type of the cable needed to connect the disk drive
to the previous device on the mass bus is known
Then: assign the disk drive to the massbus
Explanation:
An expert system is said to be effective when people can interact with it easily.
To facilitate the interaction,the expert system must have the following two
properties:
1.Explain its reasoning: In many of the domains in which experts system operate
people will not accept results unless they have been convinced of the accuracy of
the of the reasoning process that produced those results.An expert system is said to
be effective when people can interact with it easily.
2.Acquire new knowledge and modifications of old knowledge: since expert
systems derive their power from the richness of the knowledge bases they is exploit
it ,it is extremely important that those knowledge bases be complete and as accurate
as possible.
One way to get the knowledge into a program is through interaction with the human
expert. Or to have a program that learns the expert behaviour from raw data.
• TEIRESIAS was the first program to support explanation and knowledge
acquisition.
TEIRESIAS served as a front end for the MYCIN expert system. The program asks
for a piece information that it needs in order to continue its reasoning.
The doctor wants to know why the program wants the information and later asks
the how the programarrived at a conclusion that it claimed had reached
• Mycirn attempts to solve its goal of recommending a therapy for a particular
patient by first finding thecause of the patient‘s illness.
• It uses its production rules to reason backward from goals to clinical observations.
• To solve the top level diagnostic goal, it looks for rules whose right side suggests
diseases.
• It then uses left sides of those rules(preconditions) to set up subgoals .
• These subgoals are again matched against rules and their preconditions are used
to set up additional goals.
• Whenever a precondition specifies a specific piece of clinical evidence ,mycin
uses that evidence, otherwise it asks the user to provide the information.
• The actual goal that MYCIN set up are more general than the they need to specify
the preconditions of a individual rule.
For ex:
• If a precondition satisfies that the identity of a organism X , MYCIN will set up
the goal ―infer identity
• The first Question that the user asks is WHY? Why do you need to know that?
• Because the clinical tests are either expensive or dangerous..
• It is important for the doctor to be convinced that the information is really needed
before ordering the test.
Because MYCIN is reasoning backward the question can be easily answered by
examining the goal tree.
●The user can ask the question How did you know that?
●The question can be answered by looking at the goal tree and chaining backward
from the stated fact tothe evidence that allowed a rule that determined the fact to
fire.
Knowledge is populated using rules. These rules can be programmed by Prolog, Java,
Python or any other preferred language based on the expert system shell being used
2. in the form of a decision tree
Figure 02: A tree-based expert system created based on the rules mentioned above
3. as objects (frames) — A data structure with typical knowledge about a particular object
or concept.
ES shell is an ideal option for the rapid development of expert systems. Due to this
reason, it can be considered as one of the most commercially viable approaches in expert
system implementation.
3. Expert System Shell Structure
The Expert System Shell refers to a software module containing an:
1. User interface (built-in)
2. Inference engine (built-in)
3. A structured skeleton of a knowledge base (in its empty state) with the suitable
knowledge representation facilities
Not only the above components but also some ES Shells provide facilities for database
connectivity through interpreter, web integration, and natural language processing (NLP)
features.
➢ The user interface is the portal available for both end-users (who use the expert
system to get solutions) and the knowledge engineer (who perform the knowledge
engineering and modelling).
➢ The knowledge base can be connected with an external database (like MySQL)
since the knowledge base is not optimal in storing extensive data. The knowledge
base cannot directly access the database and these access features are mediated
through an interpreter.
➢ Some ES Shells have inbuilt knowledge base editors which facilitate the
Knowledge Engineer to easily update and check the knowledge base. Knowledge
Engineer collects the expertise knowledge in a specific domain and models in
populating the knowledge base.
➢ Inference engine which is the most important part of an expert system access the
knowledge base and solves the problem by either backward chaining or forward
chaining of facts and rules in the knowledge base. In ES Shells, the inference
engine is also a built-in component that is usually programmed in ProLog.
➢ Most ES shells are composed of another component called ‘Explanation System’
which provides the user with reasons and explanations to provide a certain
answer, by considering the ‘case specification data’ available.
➢ In an expert system shell, the design of the user interface and other software
components are programmed by the software engineer. Therefore an expert
system is a collaborative design of 03 major parties: expert, knowledge engineer
and software engineer.