Programming and Problem Solving with Java: Chapter 14

Download Report

Transcript Programming and Problem Solving with Java: Chapter 14

Chapter 9
Rules and Expert Systems
1
Chapter 9 Contents (1)








Rules for Knowledge Representation
Rule Based Production Systems
Forward Chaining
Conflict Resolution
Meta Rules
Backward Chaining
The Architecture of Expert Systems
Expert System Shells
2
Chapter 9 Contents (2)





The Rete Algorithm
Knowledge Engineering
CLIPS
Backward Chaining in Expert Systems
CYC
3
Rules for Knowledge Representation

IF… THEN Rules can be used to
represent knowledge:
IF it rains, then you will get wet

Rules can also be recommendations:
IF it rains, then you should wear a coat
4
Rule Based Production Systems


A production system is a system that uses
knowledge in the form of rules to provide
diagnoses or advice on the basis of input
data.
The system consists of a database of rules
(knowledge base), a database of facts, and
an inference engine which reasons about
the facts using the rules.
5
Forward Chaining


Forward chaining is a reasoning model
that works from a set of facts and rules
towards a set of conclusions, diagnoses or
recommendations.
When a fact matches the antecedent of a
rule, the rule fires, and the conclusion of
the rule is added to the database of facts.
6
Conflict Resolution



Sometimes more than one rule will fire at
once, and a conflict resolution strategy
must be used to decide which conclusions
to use.
One strategy is to give rules priorities and
to use the conclusion that has the highest
priority.
Other strategies include applying the rule
with the longest antecedent, or applying
the rule that was most recently added to
the database.
7
Meta Rules




The rules that determine the conflict
resolution strategy are called meta rules.
Meta rules define knowledge about how
the system will work.
For example, meta rules might define that
knowledge from Expert A is to be trusted
more than knowledge from Expert B.
Meta rules are treated by the system like
normal rules, but are given higher priority.
8
Backward Chaining



In cases where a particular conclusion is
to be proved, backward chaining can be
more appropriate.
Works back from a conclusion towards the
original facts.
When a conclusion matches the
conclusion of a rule in the database, the
antecedents of the rule are compared with
facts in the database.
9
The Architecture of Expert Systems (1)

An expert system
uses expert
knowledge
derived from
human experts to
diagnose
illnesses, provide
recommendations
and solve other
problems.
10
The Architecture of Expert Systems (2)




Knowledge base: database of rules (domain
knowledge).
Explanation system: explains the decisions
the system makes.
User Interface: the means by which the user
interacts with the expert system.
Knowledge base editor: allows the user to
edit the information in the knowledge base.
11
Expert System Shells



The part of an expert system that does not
contain any domain specific or case
specific knowledge is the expert system
shell.
A single expert system shell can be used
to build a number of different expert
systems.
An example of an expert system shell is
CLIPS.
12
The Rete Algorithm





A rete is a directed, acyclic, rooted graph
(a tree).
A path from the root node to a leaf
represents the left hand side of a rule.
Each node stores details of which facts
have been matched so far.
As facts are changed, the changes are
propagated through the tree.
This makes an efficient way for expert
systems to deal with environments which
change often.
13
Knowledge Engineering
A knowledge engineer takes
knowledge from experts and inputs it
into the expert system.
 A knowledge engineer will usually
choose which expert system shell to
use.
 The knowledge engineer is also
responsible for entering meta-rules.

14
CLIPS
CLIPS is C Language
Integrated
Production System –
an expert system
shell.
 CLIPS uses a LISPlike notation to enter
rules.

15
Backward Chaining in Expert
Systems

Backward chaining is often used in expert
systems that are designed for medical
diagnosis:

For each hypothesis, H:
If H is in the facts database, it is proved.
Otherwise, if H can be determined by asking a question, then
enter the user’s answer in the facts database. Hence, it can be
determined whether H is true or false, according to the user’s
answer.
Otherwise, find a rule whose conclusion is H. Now apply this
algorithm to try to prove this rule’s antecedents.
If none of the above applies, we have failed to prove H.





Usually backward chaining is used in conjunction
with forward chaining.
16
CYC
A frame based production system.
 Uses a database of over 1,000,000
facts and rules, encompassing all
fields of human knowledge.
 CYC can answer questions about all
kinds of knowledge in its database,
and can even understand analogies,
and other complex relations.

17