Top Banner
1 Rule Based Systems Introduction to Production System Architecture
30

1 Rule Based Systems Introduction to Production System Architecture.

Dec 14, 2015

Download

Documents

Aisha Isaacs
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Rule Based Systems Introduction to Production System Architecture.

1

Rule Based Systems

Introduction to Production System Architecture

Page 2: 1 Rule Based Systems Introduction to Production System Architecture.

2

Rules and ‘Productions’

• ‘Production’ - a rule for changing grammar

• Englishs regular verbs– regular_verb + (past) --> verb + ‘ed’

• Pig-latin productions– consontant string string + consonant + ‘ay’

– vowel + string string + ay

• Is this enough? What do we have to add?

• Can you reverse it?

Page 3: 1 Rule Based Systems Introduction to Production System Architecture.

3

Work through this production system to decode the result

• z lu pp hlw lloq rv wr e

• uqzv ??

Page 4: 1 Rule Based Systems Introduction to Production System Architecture.

4

Rules

• Form– IF antecedent THEN conclusion

– IF condition THEN action

– IF antecedent THEN goal

• Interpreters– Backward chaining

» Trigger on conclusion/goal

– Forward chaining» Trigger on antecedent/condition

Page 5: 1 Rule Based Systems Introduction to Production System Architecture.

5

Rules and Logic

• Rules are really statement in logic– About what we believe to be true

– About what should occur

• Translation 1 - situations– IF may_rain THEN should_take_umbrella

s. Situation s May_rain s Take_umbrella s

“For all s, if s is a situation & s is a may_rain situation, then s is a take_umbrella situation.

Page 6: 1 Rule Based Systems Introduction to Production System Architecture.

6

Rules and Logic

• Translation 2 - implied objects– IF may_rain THEN should_take_umbrella

wp. Weather w Person p May_rain w Out_in p w Take_umbrella p

“For all w and p, if w is a weather and w is may_rain weather and p is a person and p is out in w, then p (should) take an umbrella.”

• Translations: be careful of the words– The words are just symbols

» They have no meaning except help human know what the symbols are for

» Just like variable names - could all be x,y,z... wp. W w P p M w O p w T p

Page 7: 1 Rule Based Systems Introduction to Production System Architecture.

7

Forward 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?”

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

Page 8: 1 Rule Based Systems Introduction to Production System Architecture.

8

Backward 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

» 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?• R2: goal: may_rain

» How can I prove that goal2• What has to be true for r2 to hold

– cloudy is the antecedent of r2

» How can I prove ‘cloudy’?

Page 9: 1 Rule Based Systems Introduction to Production System Architecture.

9

Backward Chaining

Goal_1 Goal_2

Goal_2 Goal_3

Goal_3 Goal_4

Goal_4 Goal_5

Question

rules

Dir

ecti

on

of

reas

on

ing

Page 10: 1 Rule Based Systems Introduction to Production System Architecture.

10

Backward 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

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

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

» What is antecedent for r1?• R1:antecedent may_rain

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

» How can I prove may_rain• R2:antecedent: cloudy

» BUT NOT CLOUDY!

Page 11: 1 Rule Based Systems Introduction to Production System Architecture.

11

Backward Chaining: Backtracking

• 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

• “Should I take an umbrella?”» Are there any other rules about umbrellas?

• R3: goal: should_take_umbrella

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

Page 12: 1 Rule Based Systems Introduction to Production System Architecture.

12

Backwards Chaining with Backtracking

Goal_1 Goal_2

Goal_2 Goal_3

Goal_3 Goal_4

Goal_4 Goal_5

Question

rulesfail

Goal_6 Goal_4

Goal_7 Goal_6

Goal_8 Goal 7

Dir

ecti

on

of

reas

on

ing

Page 13: 1 Rule Based Systems Introduction to Production System Architecture.

13

Backwards Chaining Systems

• MYCIN– ‘The original expert system’

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

» Also used • uncertain reasoning

• Explanation

– ‘How’ did you prove 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 backtracking

Page 14: 1 Rule Based Systems Introduction to Production System Architecture.

14

Backwards Chaining Engines usually written ‘backwards’

• Goal 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

• In KnowledgeWorks – (defrule r1 :backward <body>)

» Or special functions ‘any’, ‘test’, and ‘not’• Awkward - don’t try it first time.

Page 15: 1 Rule Based Systems Introduction to Production System Architecture.

15

Forward Chaining

• 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?”

» Is there a rule that applies when it is cloudy?• R2: 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 16: 1 Rule Based Systems Introduction to Production System Architecture.

16

Forward chaining

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

for many years» On east coast, ‘production systems’ means forward

chaining

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

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

• Classic system is OPS5

• Basic strategy of KnowledgeWorks

Page 17: 1 Rule Based Systems Introduction to Production System Architecture.

17

Forward Chaining

Fact_1 Fact_2

Fact_2 Fact_3

Fact_3 Fact_4

Fact_4 Fact_5

Action=Fact_5

rules

Directio

n o

f reaso

nin

g

Fact_1

Page 18: 1 Rule Based Systems Introduction to Production System Architecture.

18

Consider

R1: IF sky=cloudy THEN expect=rain

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

R3: IF sky=cloudy AND temperature=freezing THEN expect=snow

R4: IF weather=rain THEN termperature=above_freezing

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

Conflict Resolution

Page 19: 1 Rule Based Systems Introduction to Production System Architecture.

19

Production 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. – Forward chaining rules sometimes called ‘demons’

» From a system called “Pandemonium”

– How can they be made consistent?

Page 20: 1 Rule Based Systems Introduction to Production System Architecture.

20

Production System Strategy

• All rules tested at each cycle

• Only one rule fires at a time

Page 21: 1 Rule Based Systems Introduction to Production System Architecture.

21

Production System Cycle

1 Test all rules

2 Put all rules satisfied into the ‘conflict set’

3 Choose one rule from the conflict set

4 Fire the rule

5 Update the dynamic database

6 Repeat until goal reached or no more rules satisfied

Page 22: 1 Rule Based Systems Introduction to Production System Architecture.

22

Conflict Resolution

R1: IF sky=cloudy THEN expect=rain

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

R3: IF sky=cloudy AND temperature=freezing THEN expect=snow

R4: IF weather=rain THEN termperature=above_freezing

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

Page 23: 1 Rule Based Systems Introduction to Production System Architecture.

23

Possible Conflict Resolution Strategies

• Specificity

• Priority

• Lexical Ordering

• Source file ordering

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

Page 24: 1 Rule Based Systems Introduction to Production System Architecture.

24

Basic Production System Architecture

Dynamic Memory

Rule Store

Conflict Set

Rule Execution

tickle

check satisfactionSelect(resolve conflicts)

execute

Page 25: 1 Rule Based Systems Introduction to Production System Architecture.

25

Modules (Contexts) & Agendas

• How to modularise RBSs

• Agenda = Sequence of modules (Stack)

• Module = Named Set of rules– (Rule MODULE::rule_name

IF ...THEN...)

• Contexts popped off stack when finished.

Page 26: 1 Rule Based Systems Introduction to Production System Architecture.

26

Agenda/Modules Example

• focus search stuck

• defrule search::r1IF hero is at ?Place-1 &

?Place-1 gives_access_to ?Place-2THEN move hero to ?Place-2

• defrule stuck::r1IF context stuck &

hero is at ?Placenot ?Place = goal

THEN ask-user “What do I do now?”

Page 27: 1 Rule Based Systems Introduction to Production System Architecture.

27

Expert SystemsConfiguring systems

• defrule BACKPLANE_STRUCTURE::R1IF the_processor IS in placeAND the_devices_to_mount INCLUDE

?DeviceTHEN mount ?Device

• defrule BACKPLANE_STRUCTURE::R1IF mount ?DeviceAND ?Slot_1 IS_A backplane_slotAND NOT lower_number_available_than

?Slot_1 ?Slot_2THEN ?Slot_1 is_occupied_by ?DeviceAND ?Device is_mounted.

Page 28: 1 Rule Based Systems Introduction to Production System Architecture.

28

The Structure of Heuristics

• Trigger

• Constraints

• Antecedents

• Actions

• Conclusions

• Control

Page 29: 1 Rule Based Systems Introduction to Production System Architecture.

29

Formalising Heuristics

• Triggers– quick & sensitive

• Constraints– quick & specific

• Antecedents– complete and sufficient

• Actions

• Conclusions

• Control

Page 30: 1 Rule Based Systems Introduction to Production System Architecture.

30

Formalising Heuristics

• Triggers

• Constraints

• Antecedents

• Actions– Things effecting the outside world

• Conclusions– New facts for the dynamic data base

• Control– changes to agenda