0% found this document useful (0 votes)
20 views

Artificial Intelligence Lecture No. 16

- The document discusses different types of inference engines used in expert systems including truth maintenance, hypothetical reasoning, fuzzy logic, and ontology classification. - It describes forward chaining and backward chaining as the two main methods of reasoning using inference rules. Forward chaining is data-driven and starts with available data, applying rules to derive new information. Backward chaining is goal-driven and works backwards from goals to see if data supports rules. - The choice between forward and backward chaining depends on whether the expert system needs to first gather information to infer from, using forward chaining, or begins with a hypothetical solution to find supporting facts, using backward chaining.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

Artificial Intelligence Lecture No. 16

- The document discusses different types of inference engines used in expert systems including truth maintenance, hypothetical reasoning, fuzzy logic, and ontology classification. - It describes forward chaining and backward chaining as the two main methods of reasoning using inference rules. Forward chaining is data-driven and starts with available data, applying rules to derive new information. Backward chaining is goal-driven and works backwards from goals to see if data supports rules. - The choice between forward and backward chaining depends on whether the expert system needs to first gather information to infer from, using forward chaining, or begins with a hypothetical solution to find supporting facts, using backward chaining.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 36

Artificial Intelligence

Lecture No. 16
Summary of Previous Lecture
• Structure of a rule-based expert system
• Expert Systems Shells
• Characteristics of an expert system
• Comparison of expert systems with conventional
systems and human experts
Today’s Lecture
• Types of inference engines
• Forward chaining and backward chaining
• Conflict resolution
• Advantages/disadvantages of rule-based
expert systems
Types of inference engines
• As Expert Systems evolved many new
techniques were incorporated into various
types of inference engines. Some of the most
important of these were:
– Truth Maintenance.
– Hypothetical Reasoning.
– Fuzzy Logic.
– Ontology Classification.
Truth Maintenance
• Truth maintenance systems record the
dependencies in a knowledge-base so that
when facts are altered dependent knowledge
can be altered accordingly.
• For example, if the system learns that Jon is no
longer known to be a man it will revoke the
assertion that Jon is mortal.
Hypothetical Reasoning
• In hypothetical reasoning, the knowledge base
can be divided up into many possible views, aka
worlds.
• This allows the inference engine to explore
multiple possibilities in parallel.
• In this simple example, the system may want to
explore the consequences of both assertions,
what will be true if Jon is a Man and what will
be true if he is not?
Fuzzy Logic
• One of the first extensions of simply using rules
to represent knowledge was also to associate a
probability with each rule.
• So, not to assert that Jon is mortal but to assert
Jon may be mortal with some probability value.
• Simple probabilities were extended in some
systems with sophisticated mechanisms for
uncertain reasoning and combination of
probabilities.
Ontology Classification
• With the addition of object classes to the knowledge base a
new type of reasoning was possible. Rather than reason
simply about the values of the objects the system could also
reason about the structure of the objects as well.
• In this simple example Man can represent an object class and
R1 can be defined as a rule that defines the class of all men.
• These types of special purpose inference engines are known
as classifiers. Although they were not highly used in expert
systems classifiers are very powerful for unstructured volatile
domains and are a key technology for the Internet and the
emerging
Forward chaining and backward chaining
• In a rule-based expert system, the domain
knowledge is represented by a set of IF-THEN
production rules and data is represented by a set of
facts about the current situation.
• The inference engine compares each rule stored in
the knowledge base with facts contained in the
database.
• When the IF (condition) part of the rule matches a
fact, the rule is fired and its THEN (action) part is
executed.
Forward chaining and backward chaining

• The matching of the rule IF parts to the facts


produces inference chains.
• The inference chain indicates how an expert
system applies the rules to reach a conclusion.
Inference engine cycles via a match-fire procedure

Database
Fact: A is x
Fact: B is y

Match Fire

Knowledge Base

Rule: IF A is x THEN B is y
An example of an inference chain
Rule 1: IF Y is true
AND D is true
THEN Z is true
A X
Rule 2: IF X is true
AND B is true
B Y
AND E is true
Z
THEN Y is true E D
Rule 3: IF A is true
THEN X is true
Forward chaining
• Forward chaining is one of the two main methods of
reasoning when using inference rules.
• Forward chaining is a popular implementation strategy
for expert systems, business and production rule systems. .
• Forward chaining starts with the available data and uses
inference rules to extract more data until a goal is reached.
• An inference engine using forward chaining searches the
inference rules until it finds one where the If clause is known
to be true.
• When such a rule is found, the engine can conclude, the Then
clause, resulting in the addition of new information to its data.
• Inference engines will iterate through this process until a goal
is reached.
Forward chaining…
• For example, suppose that the goal is to
conclude the color of a pet named Fritz, given
that he croaks and eats flies, and that the rule
base contains the following four rules:
• If X croaks and eats flies - Then X is a frog
• If X chirps and sings - Then X is a canary
• If X is a frog - Then X is green
• If X is a canary - Then X is yellow
Forward chaining…
• Let us illustrate forward chaining by following
the pattern of a computer as it evaluates the
rules. Assume the following facts:
• Fritz croaks
• Fritz eats flies
• Tweety eats flies
• Tweety chirps
• Tweety is yellow
Forward chaining…
• With forward reasoning, the computer can derive
that Fritz is green in four steps:
• 1. Fritz croaks and Fritz eats flies
• Based on logic, the computer can derive:
• 2. Fritz croaks and eats flies
• Based on rule 1, the computer can derive:
• 3. Fritz is a frog
• Based on rule 3, the computer can derive:
• 4. Fritz is green.
Forward chaining…
• The name "forward chaining" comes from the fact
that the computer starts with the data and reasons
its way to the answer, as opposed to backward
chaining, which works the other way around.
• In the derivation, the rules are used in the reverse
order as compared to backward chaining.
• Note that the computer does not use any
knowledge about Tweety, when it computes that
Fritz is a frog.
Forward chaining…
• Because the data determines which rules are
selected and used, this method is called data-driven.
• The forward chaining approach is often employed
by expert systems, such as CLIPS.
• One of the advantages of forward-chaining over
backward-chaining is that the reception of new data
can trigger new inferences, which makes the engine
better suited to dynamic situations in which
conditions are likely to change.
Backward chaining
• Backward chaining (or backward reasoning) is
an inference method that can be described as
working backward from the goal(s).
• It is used in automated theorem provers, proof
assistants and other artificial
intelligence applications.
• In game theory, its application to
(simpler) subgames in order to find a solution to
the game is called backward induction
Backward chaining…
• Backward chaining starts with a list of goals (or
a hypothesis) and works backwards from the consequent to
the antecedent to see if there is data available that will
support any of these consequents.
• An inference engine using backward chaining would search
the inference rules until it finds one which has a consequent
(Then clause) that matches a desired goal.
• If the antecedent (If clause) of that rule is not known to be
true, then it is added to the list of goals (in order for one's
goal to be confirmed one must also provide data that
confirms this new rule).
Backward chaining…
• For example, suppose that the goal is to
conclude whether Tweety or Fritz is a frog, given
information about each of them, and that
the rule base contains the following four rules:
1. If X croaks and eats flies – Then X is a frog
2. If X chirps and sings – Then X is a canary
3. If X is a frog – Then X is green
4. If X is a canary – Then X is yellow
Backward chaining…
• Let us illustrate backward chaining by following
the pattern of a computer as it evaluates the
rules. Assume the following facts:
• Fritz croaks
• Fritz eats flies
• Tweety eats flies
• Tweety chirps
• Tweety is yellow
Backward chaining…
• With backward reasoning, the computer can answer the question
"Who is a frog?" in four steps: In its reasoning, the computer uses a
placeholder (here: question mark) for the answer.
• 1. ? is a frog
• Based on rule 1, the computer can derive:
• 2. ? croaks and eats flies
• Based on logic, the computer can derive:
• 3. ? croaks and ? eats flies
• Based on the facts, the computer can derive:
• 4. Fritz croaks and Fritz eats flies
• This derivation will cause the computer to produce Fritz as the
answer to the question "Who is a frog?".
• Note that the computer has not used any knowledge about Tweety to
compute that Fritz is a frog.
• Note that the goals always match the affirmed versions of
the consequents of implications and even then, their
antecedents are then considered as the new goals (and not
the conclusions as in affirming the consequent) which
ultimately must match known facts (usually defined as
consequents whose antecedents are always true
• Because the list of goals determines which rules are
selected and used, this method is called goal-driven, in
contrast to data-driven forward-chaining inference.
• The backward chaining approach is often employed
by expert systems.
• Programming languages such as Prolog, Knowledge
Machine and ECLiPSe support backward chaining within
their inference engines.
How do we choose between forward and
backward chaining?
 If an expert first needs to gather some information
and then tries to infer from it whatever can be
inferred, choose the forward chaining inference
engine.
 However, if your expert begins with a hypothetical
solution and then attempts to find facts to prove it,
choose the backward chaining inference engine.
Conflict resolution
considered rules for crossing a road.

 Rule 1: IF
the ‘traffic light’ is green THEN
the action is go
 Rule 2: IF
the ‘traffic light’ is red THEN
the action is stop
Let us now add third rule:
 Rule 3: IF
the ‘traffic light’ is red THEN
the action is go
 We have two rules, Rule 2 and Rule 3, with the
same IF part. Thus both of them can be set to fire
when the condition part is satisfied. These rules
represent a conflict set. The inference engine must
determine which rule to fire from such a set. A
method for choosing a rule to fire when more than
one rule can be fired in a given cycle is called
conflict resolution.
 In forward chaining, BOTH rules would be fired.
 Rule 2 is fired first as the topmost one, and as a
result, its THEN part is executed and linguistic
object action obtains value stop.
 However, Rule 3 is also fired because the condition
part of this rule matches the fact ‘traffic light’ is
red, which is still in the database. As a
consequence, object action takes new value go.
Methods used for conflict resolution
 Fire the rule with the highest priority. In simple
applications, the priority can be established by
placing the rules in an appropriate order in the
knowledge base. Usually this strategy works well
for expert systems with around 100 rules.
 Fire the most specific rule. This method is also
known as the longest matching strategy. It is
based on the assumption that a specific rule
processes more information than a general one.
 Fire the rule that uses the data most recently
entered in the database.
 This method relies on time tags attached to each
fact in the database. In the conflict set, the expert
system first fires the rule whose antecedent uses
the data most recently added to the database.
Advantages of rule-based expert systems
 Natural knowledge representation. An expert
usually explains the problem-solving procedure
with such expressions as this: “In such-and-such
situation, I do so-and-so”. These expressions can
be represented quite naturally as IF-THEN
production rules.
 Uniform structure. Production rules have the
uniform IF-THEN structure. Each rule is an
independent piece of knowledge. The very syntax
of production rules enables them to be self-
documented.
Advantages of rule-based expert systems

 Separation of knowledge from its processing. The


structure of a rule-based expert system provides an
effective separation of the knowledge base from
the inference engine. This makes it possible to
develop different applications using the same
expert system shell.
 Dealing with incomplete and uncertain
knowledge. Most rule-based expert systems are
capable of representing and reasoning with
incomplete and uncertain knowledge.
Disadvantages of rule-based expert systems
 Opaque relations between rules. Although the
individual production rules are relatively simple and
self-documented, their logical interactions within
the large set of rules may be opaque. Rule-based
systems make it difficult to observe how individual
rules serve the overall strategy.
 Ineffective search strategy. The inference engine
applies an exhaustive search through all the
production rules during each cycle. Expert systems
with a large set of rules (over 100 rules) can be slow,
and thus large rule-based systems can be unsuitable
for real-time applications.
Disadvantages of rule-based expert systems

 Inability to learn. In general, rule-based expert


systems do not have an ability to learn from the
experience. Unlike a human expert, who knows
when to “break the rules”, an expert system cannot
automatically modify its knowledge base, or adjust
existing rules or add new ones. The knowledge
engineer is still responsible for revising and
maintaining the system.
Disadvantages of rule-based expert systems

• The most common disadvantage cited for


expert systems in the academic literature is the
knowledge engineering problem.
• Obtaining the time of domain experts for any
software application is always difficult but for
expert systems it was especially difficult
because the experts were by definition highly
valued and in constant demand by the
organization.
Summery of Today’s Lecture
• Types of inference engines
• Forward chaining and backward chaining
• Conflict resolution
• Advantages/disadvantages of rule-based
expert systems

You might also like