rule-based expert systems cps 4801. about the midterm exam exam on march 13 tuesday (tentatively)...

Post on 27-Dec-2015

257 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Rule-Based Expert Systems

CPS 4801

About the midterm exam

• Exam on March 13 Tuesday (Tentatively)• Review on March 8 Thursday• Grades will be out by March 15, before

spring break.

Strong AI vs. Weak AI• Strong AI is artificial intelligence that

matches or exceeds human intelligence.o “Artificial general intelligence”

• The weak AI hypothesis: machines can demonstrate intelligence, but do not necessarily have a mind, mental states or consciousness.

“General purpose” intelligence vs. Domain-

specific intelligence• “General purpose” intelligence

o Understand how the world works in generalo requires vast amounts of knowledge about the

world.

• Domain-specific intelligenceo Restricted to a particular domain o Knowledge is deep, but not wide.o Avoids the world knowledge problem, and is

much more feasible for implementation.

Expert Systems• Domain expert: A person who has deep

knowledge (in the form of facts and rules) and strong personal experience in a particular domain.

• An expert system performs at a human expert level in a narrow and specialized domain.

DXplainDXplain first launched in 1986

– Users enter clinical information, then ask DXplain to provide diagnostic decision support

– DXplain knowledge base (KB) covers ~2400 diseasesand over 5000 clinical findings (signs, symptoms, epidemiologic data, laboratory findings, etc.)

– Demo: http://dxplain.mgh.harvard.edu/dxp/dxp.sdemo.pl

– Info: http://lcs.mgh.harvard.edu/projects/dxplain.html

GIDEONGlobal Infectious Disease and Epidemiology Network

– Online application that supports the diagnosis and treatment of infectious diseases

– Organized by country of origin– Updated weekly– Info: http://www.gideononline.com/

Characteristics of Expert Systems

• Often a tradeoff between accuracy and speed.

• Expert systems apply heuristics to guidethe reasoning process.

Reasoning + Knowledge + Facts

• Human expertise typically breaks down into: oAbility to reasonoKnowledge about the domainoFacts about the particular situation (e.g.

this patient’s symptoms)• Expert Systems use symbolic reasoning

to solve problemso Symbols represent facts and rules (i.e.

knowledge)

Characteristics of Expert Systems

• Expert systems provide explanation facilities to display reasoning to users.o How did you come to that conclusion or

diagnosis?o E.g., Why do you think I have a migraine?o Well, you have frequent, intense pain in the

temple area, associated with nausea. Also, you aren’t taking any medications that are likely to produce these symptoms.

Characteristics of Expert Systems

• Expert systems make mistakeso So do human experts!o Users have to be aware of this possibility

Rules• Production rules (most commonly used

type)

• IF the ‘traffic light’ is green• THEN the action is go

• IF the ‘traffic light’ is red• THEN the action is stop

Rules• Any rule consists of two parts: the IF part,

called the antecedent (premise or condition) and the THEN part called the consequent (conclusion or action).

• IF <antecedent>• THEN <consequent>• Alternate syntax:• <antecedent> <consequent>

Multiple antecedents• A rule can have multiple antecedents

joined by the keywords AND (conjunction), OR (disjunction) or a combination of both.

• IF animal is horse-shaped• AND animal has stripes• THEN animal is zebra

• IF animal is hippo• OR animal is lion• THEN animal is dangerous

Multiple consequents• Multiple consequents are possible, and are

connected by conjunctions.

• IF tsunami alarm is sounding• AND date is not first Monday in month• THEN Condition is dangerous • AND Advice is “move away from the ocean”

Structure of antecedents and

consequents• The antecedent of a rule incorporates two

parts: an object and its value. The object and its value are linked by an operator.

• Operators o is, are, is not, are not are used to assign a

symbolic value to a linguistic object.o mathematical operators to define an object as

numerical and assign it to the numerical value.

o IF ‘age of the customer’ < 18o AND ‘cash withdrawal’ > 1000o THEN ‘signature of the parent’ is required

Semantics of rules Relation

IF the ‘fuel tank’ is empty THENthe car is dead

Recommendation IF the season is autumn AND the sky is cloudy AND the forecast is drizzle THEN

the advice is ‘take an umbrella’ Directive

IF the car is dead AND the ‘fuel tank’ is empty

THEN the action is ‘refuel the car’

Strategy IF the car is dead THEN the action is ‘check the fuel tank’; step1 is complete

IF step1 is complete AND the ‘fuel tank’ is full THEN

the action is ‘check the battery’; step2 is complete

Heuristic IF the spill is liquid AND the ‘spill pH’ < 6 AND the ‘spill smell’ is vinegar THEN the ‘spill material’ is ‘acetic acid’

So what are facts?

Rule-based expert system

• An expert system whose knowledge base (KB) contains a set of production rules.

The Main Players In The Expert System Development

Team

Structure of a rule-based expert system

Inference Engine• domain knowledge: IF-THEN rules• data: facts about the current situation

• When the IF (condition) part of the rule matches a fact, the rule is fired.

• The matching of the rule IF parts to the facts produces inference chains (new facts are discovered).

Knowledge Base

Database

Fact: A is x

Match Fire

Fact: B is y

Rule: IF A is x THEN B is y

Inference engine algorithm

• Inference engine compares each rulewith facts it already “knows” about,matching the antecedent (IF condition)

• When the antecedent matches one ormore known facts, the rule fires andits consequent (THEN) is executed

Inference Chain• An inference chain indicates how an expert

system applies rules to reach a conclusion

Rule1: IF Y is trueAND D is trueTHEN Z is true

Rule2: IF X is trueAND B is trueAND E is trueTHEN Y is true

Rule3: IF A is trueTHEN X is true

A X

B

E

Y

D

Z

given: A, B, D, E

Inference Chain• An inference chain indicates how an expert

system applies rules to reach a conclusion

Rule1: IF Y is trueAND D is trueTHEN Z is true

Rule2: IF X is trueAND B is trueAND E is trueTHEN Y is true

Rule3: IF A is trueTHEN X is true

A X

B

E

Y

D

Z

given: A, B, D, E

Inference Chain• An inference chain indicates how an expert

system applies rules to reach a conclusion

Rule1: IF Y is trueAND D is trueTHEN Z is true

Rule2: IF X is trueAND B is trueAND E is trueTHEN Y is true

Rule3: IF A is trueTHEN X is true

A X

B

E

Y

D

Z

given: A, B, D, E

Two approaches• Forward chaining • Backward chaining

Forward chaining (data-driven search)

• Starts with known data (facts).• Fire the rules that have an antecedent

that matches facts in the database, and add any resulting facts to the database.

• Each rule can fire only once.• Each time only the topmost rule is

executed.• When no more rules can fire, stop.

Forward Chaining

Match Fire Match Fire Match Fire Match Fire

Knowledge Base

Database

A C E

X

Database

A C E

L

Database

A D

YL

B

X

Database

A D

ZY

B

LX

Cycle 1 Cycle 2 Cycle 3

X & B & E

ZY & D

LC

L & M

A X

N

X & B & E

ZY & D

LC

L & M

A X

N

X & B & E

ZY & D

LC

L & M

A X

N

X & B & E

ZY & D

LC

L & M

A X

N

Knowledge Base Knowledge Base Knowledge Base

X

C E C EB D B D

Y Y Y Y

Forward Chaining Exercise 1

• Use forward chaining to prove the following:

Forward Chaining Exercise 1

• Facts:

• Rules fired: A X A YA & D Q Q R R S Q T T Z

A B C D E

Proven:Z

A B C D E X Y Q R S T ZA B C D E X A B C D E X Y A B C D E X Y Q A B C D E X Y Q R A B C D E X Y Q R S A B C D E X Y Q R S T

Use forward chaining to prove the following:

Forward Chaining Exercise 2

• Use forward chaining to prove the following:

Forward Chaining Exercise 2

• Facts:

• Rules fired: A X A YA & D Q Q R R S Q T T Z

A B C D E X Y Q R S T Z

Cannot prove:

– No more rules left to fire

L

Use forward chaining to prove the following:

Forward Chaining +/-• Good for answering “What is the

situation?” kind of questions (e.g. “What kind of animal is this?”)

• Fires a lot of rules, and generates a lot of facts that might be irrelevant to the problem

• If our goal is to infer only one particular fact, the forward chaining inference technique would not be efficient.

Backward chaining (goal-driven search)

• System has hypothetical solution(s) (e.g. “The patient has type I diabetes”), and tries to prove it.o Find rules that consequents that match the

goal.o If antecedents match the facts, stop.o If not, make the antecedents the new subgoals,

and repeat.

Match Fire

KnowledgeBase

Database

AB CD E

X

Match Fire

KnowledgeBase

Database

AC DE

YX

B

Sub-Goal: X Sub-Goal: Y

Knowledge Base

Database

AC DE

ZY

B

X

Match Fire

Goal: Z

Pass 2

KnowledgeBase

Goal: Z

Knowledge Base

Sub-Goal: Y

KnowledgeBase

Sub-Goal: X

Pass 1 Pass 3

Pass 5Pass 4 Pass 6

Database

AB CD E

Database

AB CD E

Database

BC DEA

YZ

?

X

?

X & B & E

LCL &M

A X

N

ZY & DX & B & EY

ZY & D

LCL &M

A X

NLC

L &M N

X & B & EYZY & D

A X

X & B & EYZY & D

LC

L & M

A X

N

X & B & E

LCL & M

A X

N

ZY & DX & B & E

ZY & D

LC

L & M

A X

N

Y

YY

Backward chaining algorithm

o At the first iteration, rule(s) with thedesired goal in the consequent are selected

o Stack up and attain many subgoals until....o If the antecedent matches known data,

the rule is fired and the goal is proveno Otherwise, if no rules remain,

the desired goal is not proven

Backward chaining

Match Fire

KnowledgeBase

Database

AB CD E

X

Match Fire

KnowledgeBase

Database

AC DE

YX

B

Sub-Goal: X Sub-Goal: Y

Knowledge Base

Database

AC DE

ZY

B

X

Match Fire

Goal: Z

Pass 2

KnowledgeBase

Goal: Z

Knowledge Base

Sub-Goal: Y

KnowledgeBase

Sub-Goal: X

Pass 1 Pass 3

Pass 5Pass 4 Pass 6

Database

AB CD E

Database

AB CD E

Database

BC DEA

YZ

?

X

?

X & B & E

LCL &M

A X

N

ZY & DX & B & EY

ZY & D

LCL &M

A X

NLC

L &M N

X & B & EYZY & D

A X

X & B & EYZY & D

LC

L & M

A X

N

X & B & E

LCL & M

A X

N

ZY & DX & B & E

ZY & D

LC

L & M

A X

N

Y

YY

Backward chaining

Match Fire

KnowledgeBase

Database

AB CD E

X

Match Fire

KnowledgeBase

Database

AC DE

YX

B

Sub-Goal: X Sub-Goal: Y

Knowledge Base

Database

AC DE

ZY

B

X

Match Fire

Goal: Z

Pass 2

KnowledgeBase

Goal: Z

Knowledge Base

Sub-Goal: Y

KnowledgeBase

Sub-Goal: X

Pass 1 Pass 3

Pass 5Pass 4 Pass 6

Database

AB CD E

Database

AB CD E

Database

BC DEA

YZ

?

X

?

X & B & E

LCL &M

A X

N

ZY & DX & B & EY

ZY & D

LCL &M

A X

NLC

L &M N

X & B & EYZY & D

A X

X & B & EYZY & D

LC

L & M

A X

N

X & B & E

LCL & M

A X

N

ZY & DX & B & E

ZY & D

LC

L & M

A X

N

Y

YY

Backward chaining Exercise 1

• Use backward chaining to prove the following:

Backward chaining Exercise 1

• Facts:

• Stack of rules: (subgoals)

• Rules fired:A & D Q Q T T Z

A B C D E Q T Z

Proven:ZA & D Q Q T T Z

A B C D E

Use backward chaining to prove the following:

Backward chaining Exercise 2

• Use backward chaining to prove the following:

Backward chaining Exercise 2

• Facts:

• Stack of rules: (subgoals)

• Cannot prove:o Subgoal N cannot be proven

A B C D E

N L

L

Use backward chaining to prove the following:

Backward chaining +/-• Efficient way to prove or disprove a

particular hypothesis.• Sometimes more efficient with a small set

of hypotheses• Less efficient than forward chaining if large

number of hypotheses

Forward vs. 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.

Forward vs. backward chaining

• Forward chaining: best for analysis and interpretation (e.g. DENDRAL (1971) determines molecular structure of soil sample).

• Backward chaining: best for diagnosis (e.g. MYCIN (1976) diagnoses infectious blood diseases).

Forward + backward chaining

• Most real expert systems use both.• Primary inference is backward chaining.• Switches to forward chaining when new

data is added.• Minimizes pointless queries to user

(backward chaining), but exploits any facts that are acquired.

Conflict resolution Rules with identical antecedents (IF conditions) can cause

conflicts via their consequents (THEN clauses) 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 Rule 3:

IF the ‘traffic light’ is red THEN the action is go

Conflict sets• A subset of the rules in a knowledge base

that can fire at the same time, but have inconsistent consequents.

• X is dog X is not smart• X is dog & X has breed = “border collie” X is smart

Conflict resolution• Conflict resolution provides a specific

method for choosing which rule to fire.o Highest priorityo Most specific ruleo Most recent first

Conflict resolution methods (1)

• Rules fire one at a time. But which fires first?

• Order of rules determines order of firing.• Give rules explicit priority.

o In simple applications, the priority can be established by placing the rules in an appropriate order in the knowledge base.

Conflict resolution methods (2)

• Fire the most specific rule (longest matching strategy). o Assumes that a specific rule processes more

info than a general one. o X is dog X is not smarto X is dog & X has breed = “border collie”

X is smart

Conflict resolution methods (3)

• Fire the rule based on the data most recently entered in the databaseo Assumes that recent data is more important

than older data.o Relies on time tags attached to each fact in the

database.o R1: …… [08:16 PM 02/27/2012]o R2: …… [10:18 AM 02/28/2012]

Pros of rule-based expert systems

• Natural knowledge representationo Represent knowledge in near-linguistic,

declarative manner that is close to how experts explain their own reasoning.

• Uniform structureo uniform IF-THEN structure

• Separation of knowledge from processing.• Good at handling incomplete or uncertain

knowledge (next topic).

Cons of rule-based expert systems

• Opaque relations between rules o How do the rules relate to each other? o Difficult to avoid conflicts in large knowledge

bases.

• Ineffective search strategyo The inference engine applies an exhaustive

search through all the rules during each cycle.o unsuitable for real-time applications

• Unable to learno An expert system cannot automatically modify

its knowledge base, adjust existing rules or add new ones.

top related