AAI UNIT-I Chap-2 (Expert System)
AAI UNIT-I Chap-2 (Expert System)
2-Extert System
What is Expert System?
An expert system is a computer program that is designed to solve complex problems and
to provide decision-making ability like a human expert.
It performs this by extracting knowledge from its knowledge base using the reasoning
and inference rules according to the user queries.
The expert system is a part of AI, and the first ES was developed in the year 1970, which
was the first successful approach of artificial intelligence.
It solves the most complex issue as an expert by extracting the knowledge stored in its
knowledge base.
The system helps in decision making for complex problems using both facts and
heuristics like a human expert.
It is called so because it contains the expert knowledge of a specific domain and can
solve any complex problem of that particular domain.
These systems are designed for a specific domain, such as medicine, science, etc.
The performance of an expert system is based on the expert's knowledge stored in its
knowledge base.
The more knowledge stored in the KB, the more that system improves its performance.
One of the common examples of an ES is a suggestion of spelling errors while typing in
the Google search box.
Phases in Building Expert System
The phase in Expert System are:
1. Identification
2. Conceptualisation
3. Formalisation (Designing)
4. Implementation
5. Testing (Validation, Verification and Maintenance).
1. Identification:
Before we can begin to develop an expert system, it is important to describe, with as
much precision as possible, the problem which the system is intended to solve.
Conceptualization:
Formalization (Designing):
In the preceding stages, no effort has been made to relate the domain problem to the
artificial intelligence technology which may solve it.
During the identification and formalization stages, the focus is entirely on understanding
the problem.
Now, during the formalization stage, the problem is connected to its proposed solution,
an expert system is supplied by analyzing the relationships depicted in the
conceptualization stage.
The knowledge engineer begins to select the techniques which are appropriate for
developing this particular expert system.
Implementation:
During the implementation stage the formalized concepts are programmed into the
computer which has been chosen for system development, using the predetermined
techniques and tools to implement a ‘first-pass’ (prototype) of the expert system.
Knowledge Base
It contains domain-specific and high-quality knowledge.
Knowledge is required to exhibit intelligence. The success of any ES majorly depends
upon the collection of highly accurate and precise knowledge.
What is Knowledge?
The data is collection of facts. The information is organized as data and facts about the
task domain. Data, information, and past experience combined together are termed as
knowledge.
Knowledge representation
It is the method used to organize and formalize the knowledge in the knowledge base. It
is in the form of IF-THEN-ELSE rules.
Knowledge Acquisition
The success of any expert system majorly depends on the quality, completeness, and
accuracy of the information stored in the knowledge base.
The knowledge base is formed by readings from various experts, scholars, and
the Knowledge Engineers.
The knowledge engineer is a person with the qualities of empathy, quick learning, and
case analyzing skills.
Backward Chaining
With this strategy, an expert system finds out the answer to the question, “Why this
happened?”
On the basis of what has already happened, the Inference Engine tries to find out which
conditions could have happened in the past for this result.
This strategy is followed for finding out cause or reason. For example, diagnosis of
blood cancer in humans.
User Interface
User interface provides interaction between user of the ES and the ES itself.
It is generally Natural Language Processing so as to be used by the user who is well-
versed in the task domain.
The user of the ES need not be necessarily an expert in Artificial Intelligence.
Medical Domain Diagnosis Systems to deduce cause of disease from observed data,
conduction medical operations on humans.
Monitoring Systems Comparing data continuously with observed system or with prescribed
behavior such as leakage monitoring in long petroleum pipeline.
Generally in expert systems, the use of knowledge is vital. But in conventional system
data is used more efficiently than knowledge.
Conventional systems are not capable of explaining a particular conclusion for a problem.
These systems try to solve in a straight forward manner. But expert systems are capable
of explaining how a particular conclusion is reached and why requested information is
needed during a process. However, the problems are solved more efficiently than a
conventional system by an expert system.
Generally in an expert system, it uses the symbolic representations for knowledge i.e. the
rules, different forms of networks, frames, scripts etc. and performs their inference
through symbolic computations. But conventional systems are unable to express these
terms.
Perform knowledge and decision reasoning tasks vs. performing programmed step-by-
step procedures
Applications
A classic example of a rule-based system is the domain-specific expert system that uses rules to
make deductions or choices.
For example, an expert system might help a doctor choose the correct diagnosis based on a
cluster of symptoms, or select tactical moves to play a game.
Rule-based systems can be used to perform analysis to compile or interpret computer programs,
or in natural language processing.
Rule-based programming attempts to derive execution instructions from a starting set of data
and rules.
This is a more indirect method than that employed by an imperative programming language,
which lists execution steps sequentially.
Rule Base
The rule base (also called the knowledge base) is the set of rules which represents the
knowledge about the domain. The general form of a rule is:
If cond1
and cond2
and cond3
...
then action1, action2, ...
Some systems would allow disjunctions in the antecedents. For example, rules like the following would
be allowed.
...
Such rules are interpreted to mean that if the antecedents of the rule together evaluate to true
(i.e., if the Boolean combination of the conditions is true), the actions in the consequents (i.e.,
action1, action2, etc.) can be executed.
For example, an antecedent in a rule in a medical expert system could be: the patient has
previously undergone heart surgery.
The complexity of antecedents can vary a lot depending on the type of language used. For
instance, in some languages.
In this chapter we will consider rules with only one consequent and one or more antecedents
which are combined with the operator and. We will use a representation of the form:
For instance, to represent the rule that all birds can fly, we use:
f1: If bird(X) then can_fly(X)
if you want to represent the knowledge that either a bird or 1 a plane can fly, you can do this by
using two rules f1 and f2 as follows:
Therefore the disjunction (ORing) of a set of antecedents can be achieved by having different
rules with the same consequent.
Similarly, if multiple consequents follow from the conjunction (ANDing) of a set of antecedents,
this knowledge can be expressed in the form of a set of rules with one consequent each. Each
rule in this set will have the same set of antecedents.
Because of the uniform syntax, the meaning and interpretation of each rule can be easily analyzed.
1. Homogeneity
Because of the uniform syntax, the meaning and interpretation of each rule can be easily
analyzed.
Simplicity Since the syntax is simple, it is easy to understand the meaning of rules.
Domain experts can often understand the rules without an explicit translation.
Rules therefore can be self-documenting to a good extent.
2. Independence
While adding new knowledge one need not be worried about where in the rule base the rule is
added, or what the interactions with other rules are.
In theory, each rule is an independent piece of knowledge about the domain.
However, in practice, this is not completely true, as we shall see in the next section.
Modularity The independence of rules leads to modularity in the rule base.
You can create a prototype system fairly quickly by creating a few rules.
This can be improved by modifying the rules based on performance and adding new rules.
Blackboard System
A blackboard system can be viewed as a group of sitting human specialists next to a large
blackboard. They are working cooperatively in order to solve the problem and they use the
blackboard as a workplace for solution development.
Problem solving begins with announcement of a problem and writing initial data onto the
blackboard. The specialists are watching the blackboard looking for an opportunity in order to
make contribution for solution development.
When a specialist finds this opportunity, he records the contribution on the blackboard, in hope
that others will use his contribution for final problem solving. This process continues until the
problem is solved.