Models for Inexact Reasoning Overview of Rule Based Systemsdia.fi.upm.es/~mgremesal/MIR/slides/02 -...

21
Models for Inexact Reasoning Overview of RuleBased S ystems Miguel García Remesal Department of Artificial Intelligence [email protected]

Transcript of Models for Inexact Reasoning Overview of Rule Based Systemsdia.fi.upm.es/~mgremesal/MIR/slides/02 -...

Page 1: Models for Inexact Reasoning Overview of Rule Based Systemsdia.fi.upm.es/~mgremesal/MIR/slides/02 - MIR - Rule-Based... · 2016-01-20 · Models for Inexact Reasoning Overview of

Models for Inexact Reasoning

Overview of Rule‐Based Systemsy

Miguel García RemesalDepartment of Artificial Intelligence

[email protected]

Page 2: Models for Inexact Reasoning Overview of Rule Based Systemsdia.fi.upm.es/~mgremesal/MIR/slides/02 - MIR - Rule-Based... · 2016-01-20 · Models for Inexact Reasoning Overview of

Rules and ‘Productions’Rules and  Productions

• ‘Production’ – synonym for rule

• English regular verbsl b ( ) b ‘ d’– regular_verb + (past)  verb + ‘ed’

• Pig‐Latin productions– consonant string → string + consonant + ‘ay’

– vowel + string → string + ay

Page 3: Models for Inexact Reasoning Overview of Rule Based Systemsdia.fi.upm.es/~mgremesal/MIR/slides/02 - MIR - Rule-Based... · 2016-01-20 · Models for Inexact Reasoning Overview of

Work through this production system to decode the result

l• z → lu → pp → hlw → lloq → rv → wr → e

• uqzv → ??

Page 4: Models for Inexact Reasoning Overview of Rule Based Systemsdia.fi.upm.es/~mgremesal/MIR/slides/02 - MIR - Rule-Based... · 2016-01-20 · Models for Inexact Reasoning Overview of

RulesRules

• Form– IF antecedent THEN conclusion

– IF condition THEN action

– IF antecedent THEN goal

• Interpreters– Backward chainingBackward chaining 

• Trigger on conclusion/goal– Forward chaining

• Trigger on antecedent/condition

Page 5: Models for Inexact Reasoning Overview of Rule Based Systemsdia.fi.upm.es/~mgremesal/MIR/slides/02 - MIR - Rule-Based... · 2016-01-20 · Models for Inexact Reasoning Overview of

Forward and Backward ChainingForward and Backward Chaining

• Rules– r1:  IF may_rain THEN should_take_umbrella

– r2:  IF cloudy THEN may_rain

• Questions– “Should I take an umbrella?”

– “What should I do if it is cloudy?”

H did h i ?• How did you answer the questions?– Which part of the rule did you look for? (‘match’)

Page 6: Models for Inexact Reasoning Overview of Rule Based Systemsdia.fi.upm.es/~mgremesal/MIR/slides/02 - MIR - Rule-Based... · 2016-01-20 · Models for Inexact Reasoning Overview of

B k d Ch i iBackward Chaining

• Rules– R1:  IF may_rain THEN should_take_umbrella– R2:  IF cloudy THEN may_rain

• “Should I take an umbrella?”– “Do the rules indicate I should take an umbrella?

• Is there a rule about “taking umbrellas”?– R1: goal: should_take_umbrella

H I th t l?• How can I prove that goal?– What has to be true for r1 to hold?

» may_rain is the antecedent of r1• Can I prove that it may rain?• Can I prove that it may_rain?

– R2: goal: may_rain• How can I prove that goal2

What has to be true for r2 to hold– What has to be true for r2 to hold» cloudy is the antecedent of r2

• How can I prove ‘cloudy’?

Page 7: Models for Inexact Reasoning Overview of Rule Based Systemsdia.fi.upm.es/~mgremesal/MIR/slides/02 - MIR - Rule-Based... · 2016-01-20 · Models for Inexact Reasoning Overview of

Backward Chaining

Goal 1 → Goal 2_ _

Goal 2 → Goal 3 soni

ng

Goa _ → Goa _3

Goal 3 → Goal 4rules

ion

of re

as

_ _

Goal 4 → Goal 5

Dire

ct

_ _

Question

Page 8: Models for Inexact Reasoning Overview of Rule Based Systemsdia.fi.upm.es/~mgremesal/MIR/slides/02 - MIR - Rule-Based... · 2016-01-20 · Models for Inexact Reasoning Overview of

B k d Ch i iBackward Chaining

• Rules– R1:  IF may_rain THEN should_take_umbrella– R2:  IF cloudy THEN may_rain– R3:  IF may_be_intense_sun THEN should_take_umbrella– R4:  IF summer AND in_tropics THEN may_be_intense_sun_ p y_ _ _

• “Should I take an umbrella?”– “Do the rules indicate I should take an umbrella?

• Is there are rule about “taking umbrellas”?Is there are rule about  taking umbrellas ?– R1: goal: should_take_umbrella

• What is antecedent for r1?– R1:antecedent may rainR1:antecedent may_rain

• Can I prove that it may_rain?– R2: goal: may_rain

• How can I prove may rainHow can I prove may_rain– R2:antecedent: cloudy

• BUT NOT CLOUDY!

Page 9: Models for Inexact Reasoning Overview of Rule Based Systemsdia.fi.upm.es/~mgremesal/MIR/slides/02 - MIR - Rule-Based... · 2016-01-20 · Models for Inexact Reasoning Overview of

B k d Ch i i B kt kiBackward Chaining:  Backtracking

• Rules– R1:  IF may rain THEN should take umbrellay_ _ _– R2:  IF cloudy THEN may_rain– R3:  IF may_be_intense_sun THEN should_take_umbrella– R4: IF summer AND in tropics THEN may be intense sunR4:  IF summer AND in_tropics THEN may_be_intense_sun

“Sh ld I t k b ll ?”• “Should I take an umbrella?”• Are there any other rules about umbrellas?

R3 l h ld t k b ll– R3: goal: should_take_umbrella

• What is antecedent of R3?– R3:antecedent: summer AND in tropicsR3:antecedent: summer AND in tropics

Page 10: Models for Inexact Reasoning Overview of Rule Based Systemsdia.fi.upm.es/~mgremesal/MIR/slides/02 - MIR - Rule-Based... · 2016-01-20 · Models for Inexact Reasoning Overview of

Backwards Chaining with Backtracking

Goal_1 → Goal_2 Goal_8 → Goal 7

Goal_2 → Goal_3 Goal 7 → Goal 6

_

soni

ng

Goal_3 → Goal_4rules

failGoal_6 → Goal_4

_ _

ion

of re

as

Goal_4 → Goal_5 Dire

ct

QuestionQuestion

Page 11: Models for Inexact Reasoning Overview of Rule Based Systemsdia.fi.upm.es/~mgremesal/MIR/slides/02 - MIR - Rule-Based... · 2016-01-20 · Models for Inexact Reasoning Overview of

Backwards Chaining SystemsBackwards Chaining Systems

MYCIN• MYCIN– ‘The original expert system’

• Diagnosis of acute infections (Meningitis, blood infections)g ( g , )– Still a good example of how it works

• Also used – uncertain reasoninguncertain reasoning– Explanation

» ‘How’ did you prove that?» ‘Why’ are you asking me that?» Why  are you asking me that?

• Never used ‘for real’

• PROLOG– One of the two standard AI languages

• A simple backwards chaining engine with backtrackingA simple backwards chaining engine with backtracking

Page 12: Models for Inexact Reasoning Overview of Rule Based Systemsdia.fi.upm.es/~mgremesal/MIR/slides/02 - MIR - Rule-Based... · 2016-01-20 · Models for Inexact Reasoning Overview of

Backwards Chaining Engines usually written ‘backwards’

• Goal← AntecedentGoal ← Antecedent– Umbrella ←may_rain

– may_rain ← cloudy

• Prolog ‘Edinburgh’ notation– umbrella :‐may_rain.

– may_rain :‐ cloudy.

NB upper and lower case very important in Prolog

Page 13: Models for Inexact Reasoning Overview of Rule Based Systemsdia.fi.upm.es/~mgremesal/MIR/slides/02 - MIR - Rule-Based... · 2016-01-20 · Models for Inexact Reasoning Overview of

Forward ChainingForward Chaining

R l• Rules– R1: IF may_rain THEN should_take_umbrella– R2: IF cloudy THEN may_rain

• “What should I do if it is cloudy?”– “What do the rules indicate I should do if it is cloudy?”What do the rules indicate I should do if it is cloudy?

• Is there a rule that applies when it is cloudy?– R2: antecedent: cloudy

• What do I conclude from that antecedent ‘cloudy’• What do I conclude from that antecedent,  cloudy– R2: conclusion: may_rain

• Is there a rule that applies when it may_rain?– R1: antecedent: may_rain

• What do I conclude from that antecedent: ‘may_rain’– R1: conclusion: should_take_umbrella

Page 14: Models for Inexact Reasoning Overview of Rule Based Systemsdia.fi.upm.es/~mgremesal/MIR/slides/02 - MIR - Rule-Based... · 2016-01-20 · Models for Inexact Reasoning Overview of

Forward chainingForward chaining

‘Production Systems’Production Systems– Vocabulary used differently on west and east coast of US for many years

• On east coast, ‘production systems’ means forward , p ychaining

• On west coast, ‘production systems’ just means rule based systems

– Usually, and in this course, ‘Production System’ means ‘forward chaining’

Page 15: Models for Inexact Reasoning Overview of Rule Based Systemsdia.fi.upm.es/~mgremesal/MIR/slides/02 - MIR - Rule-Based... · 2016-01-20 · Models for Inexact Reasoning Overview of

Forward ChainingForward ChainingFact_1

Fact 1 → Fact 2_ _

Fact 2 → Fact 3

Directiact_ → act_3

Fact 3 → Fact 4rules

ion of reas_ _

Fact 4 → Fact 5

soning

_ _

Action=Fact_5

Page 16: Models for Inexact Reasoning Overview of Rule Based Systemsdia.fi.upm.es/~mgremesal/MIR/slides/02 - MIR - Rule-Based... · 2016-01-20 · Models for Inexact Reasoning Overview of

Production system interpreterProduction system interpreter

• Objectives:– Fire rules as the facts come in to the knowledge base

– Never fire a rule unless its conditions are satisfied

– Fire every rule whose conditions are satisfied 

• Are these objectives consistent• Are these objectives consistent. – Forward chaining rules sometimes called ‘demons’

• From a system called “Pandemonium”• From a system called  Pandemonium– How can they be made consistent?

Page 17: Models for Inexact Reasoning Overview of Rule Based Systemsdia.fi.upm.es/~mgremesal/MIR/slides/02 - MIR - Rule-Based... · 2016-01-20 · Models for Inexact Reasoning Overview of

Production System StrategyProduction System Strategy

• All rules tested at each cycleAll rules tested at each cycle

• Only one rule fires at a time

Page 18: Models for Inexact Reasoning Overview of Rule Based Systemsdia.fi.upm.es/~mgremesal/MIR/slides/02 - MIR - Rule-Based... · 2016-01-20 · Models for Inexact Reasoning Overview of

Production System CycleProduction System Cycle

1 Test all rules

2 Put all rules satisfied into the ‘conflict set’

3 Choose one rule from the conflict set3 Choose one rule from the conflict set

4 Fire the rule

5 Update the dynamic database

6 Repeat until goal reached or no more rules6 Repeat until goal reached or no more rules satisfied

Page 19: Models for Inexact Reasoning Overview of Rule Based Systemsdia.fi.upm.es/~mgremesal/MIR/slides/02 - MIR - Rule-Based... · 2016-01-20 · Models for Inexact Reasoning Overview of

ConflictResolution

k l dR1: IF sky=cloudy THEN expect=rain

R2: IF expect=?X THEN weather=?X

R3: IF sky=cloudy AND temperature=freezingR3: IF sky=cloudy AND temperature=freezingTHEN expect=snow

R4: IF weather=rain THEN termperature=above_freezing

What happens if ‘sky=cloudy’?What happens if sky cloudy ?What happens if ‘sky=cloudy and

‘temperature=freezing’?

Page 20: Models for Inexact Reasoning Overview of Rule Based Systemsdia.fi.upm.es/~mgremesal/MIR/slides/02 - MIR - Rule-Based... · 2016-01-20 · Models for Inexact Reasoning Overview of

Possible Conflict Resolution StrategiesPossible Conflict Resolution Strategies

• Specificity

• PriorityPriority

• Lexical Ordering

• Source file ordering

• Explicit rules for conflict resolutionExplicit rules for conflict resolution– a rule based system within a rule based system

Page 21: Models for Inexact Reasoning Overview of Rule Based Systemsdia.fi.upm.es/~mgremesal/MIR/slides/02 - MIR - Rule-Based... · 2016-01-20 · Models for Inexact Reasoning Overview of

Basic Production System ArchitectureBasic Production System Architecture

Dynamic Memoryy ytickleexecute

Rule StoreRule Execution

Conflict Set

check satisfactionSelect(resolve conflicts)