Rule-Based Expert Systems

Download Report

Transcript Rule-Based Expert Systems

Rule-Based Expert
Systems
Expert Systems
 Acknowledge that computers do not
posses general knowledge (common
sense)
 Attempt to train computer in a “limited
domain”
 Experts have deep, often complex
knowledge, but generally for a limited
domain
Can A Computer Do What an
Expert Does?
 Limited domain
 The system has a finite, and relatively small number
of things it needs to “know” about.
 The processing might be complex, but computers are
good at that.
 Can the expert knowledge be extracted?
 Knowledge Engineers do the extracting
 Experts provide their knowledge
 Programmers encoded the knowledge into an “expert
system.”
Some History
 In the early to mid 1980’s the desire to
build “expert systems” was very high in the
US and elsewhere.
 Japanese 5th generation computing project
 AI researchers aggressively recruited by
industry
 Expert systems were considered by many to
be “the next big thing.”
Overstatement of Capabilities
 The results of several expert systems
were oversold.
 Prospector didn’t really discover millions of
dollars worth of Molybdenum.
 The originators of the system never made this
claim, but despite their efforts to stop it, the story is
repeated to this day.
Frequently Cited Examples of
Expert Systems
 MYCIN
 Infectious blood disease diagnosis
 Dendral
 Analyzed mass-spectra (chemistry)
 PROSPECTOR
 Geological analysis
 R1
 Configure a VAX computer
Expert knowledge can be difficult to
extract
 Experts often do not really know how they do
things themselves. Although the expert can
perform the tasks, he/she does not necessarily
have access to the mechanism used.
 Experts have reasons to be uncooperative in the
process of disseminating their expertise.
 Experts often disagree on both processes and
conclusions.
 The process might require judgment that is not
easily codified.
Rule-based Expert Systems
 Sets of IF-THEN rules are established to
codify expert knowledge.
 If <antecedent> then <consequent>
 Antecedents can be combined using logical
operators
 If <a> and <b> or <c> then <consequent>
 IF “3 enemy stones in a row” AND
NOT “3 friendly stones in a row”
Then “place a stone in the row with 3 enemy
stones.”
Knowledge Engineers
 Tasked with working with the expert to
extract expertise and codify in a set of
rules.
 Has training in the development of expert
systems, but not necessarily in the
application domain.
 Know the capabilities of the technology
and knows how to apply it.
Expert System Shells
 Separate the mechanisms for making
inference from the rule base
 Facilitate the entry of rules by nonprogrammers
 Provide reuse for what would otherwise be
redundant code across expert systems
Expert System Components
 Inference Engine
 Forward or Backward-chaining
 Conflict resolution algorithms
 Rule-base
 IF-THEN rules
 Database
 Current state on which IF-THEN rules are applied.
 Explanation Facilities
 An important advantage rule-based expert systems
hold over other types of AI
Inference Engines
 Forward-chaining
 Submit current data to all rules
 Rules make conclusions, which in turn,
generate new data
 “Inference Chains” result from initial data and
the data generated in conclusions.
 Backward-chaining
 Try to prove a conclusion by working
backwards from ways to prove it.
Forward-chaining Example (A,B,E,
and D are given)





If Y and D then Z
If X and B and E then Y
If A then X
If C then L
If L and M then N
A
X
B
Y
L
Z
C
D
E
Example from Negnevitsky
Backward Chaining
 Prolog uses backward chaining
 Work backward from the goal.
 Check rules that can provided the desired
goal.
Backward Chaining Example





If Y and D then Z
If X and B and E then Y
If A then X
If C then L
If L and M then N
A
B
X
B
Y
C
E
D
E
D
Z
Forward or Backward Chaining?
 What do experts use?
 Are we trying to prove a particular
hypothesis?
 Backward chaining
 Are we trying to find all possible
conclusions?
 Forward chaining
 What does the rule set look like?
 Could be either one or a combination of both.
Conflict Resolution
 What happens when two rules provide
conflicting conclusions?
 If it has feathers then it is a bird
 If it can’t fly then it is not a bird
 What if has feathers, but can’t fly?
Conflict Resolution Methods
 Use rule-order as an implied priority
 The first rule to provide an answer is used.
 Assign a priority to each rule, the rule with the
higher priority is sustained.
 Longest Matching Strategy uses the rule with
the most specific information.
 If it cannot fly and has feathers then it is a bird.
 Certainty-based conflict resolution
 Measures of certainty are provided for data and rules.
Most certain rule is sustained.
Frame-based Expert Systems
 Frame
 Marvin Minsky (1975)
 Frame-based Expert Systems utilize
frames to encapsulate data and methods
about an entity.
 Frames are similar to objects, but the data
types and processing methods are quite
different.
Frames
 A frame is a data structure with typical
knowledge about a particular object or concept
[Negnevitsky].
 Frame is a collection of attributes called “slots”
 Example slots for a truck
 Engine size
 Number of wheels





Slots consists of attribute/value pairs called facets
Value/18
Default Value/4
Range/[3-18]
User Query/”Enter the number of wheels:”
Demons
 Slots or facets can contain procedures that are
executed with the data is accessed or changed
 When_Changed demon is executed when new
information is placed in a slot.
 Might include forward chaining or backward chaining rules
 When_Needed demon is executed when information
is read from a slot
 Might include code to read sensors or try to prove a goal
Inheritance
 Frames can inherit from other frames.
 Frame implicitly contains all the slots
contained in the inherited frame unless the
frame overrides the slot with its own definition.
 Inheritance is established with the “IS-A”
relationship
 In frames, inheritance is principally used to
provide default values, rather than structure
and methods.
Other Frame Relationships
 Aggregation (a-part-of)
 An engine is a-part-of a car
 A spark plug is a-part-of an engine
 Association (Other semantic relationships)
 Examples
 Ownership (computer has-owner Joe)
 Uses (dentist uses drill)
 Location (Joe is-near theDesk)
No Limits on Relationships
 Frame can employ multiple inheritance
 Frame can have any number of
relationships
 Relationships can be of any type that is
useful.
Interactions of Frames and Rules
 Different frame-based systems use
different mechanisms.
 Rules are often invoked by demons.
Some systems allow different rule sets to
be applied to different frames
Why Use Frames?
 In large systems, frames can provide the
system the capability to find relevant
information quickly.
 Making inferences from the most relevant
information can provide greater efficiency
and allow searches to be constrained.
 Relationships between frames can be
provided at a relatively low cost.
Advantages of Expert Systems
 Provide an explanation capability
 What rules fired to provide the conclusion?
 Why other conclusions were not made.
 For simple domains, the rule-base might
be simple and easy to verify and validate.
 The system might use a method similar to
what the expert uses.
 Expert system shells provide a means to
build simple systems without programming
Disadvantages of Expert Systems
 When the number of rules is large, the effect of




adding new rules can be difficult to assess.
Expert knowledge is not usually easily codified
into rules.
Expert often lack access to their own analysis
mechanisms.
Validation/Verification of large systems is very
difficult.
Track record does not seem to contain many
successes. Relatively high-risk to implement.