1 / 30

Rule Based Systems Introduction to Production System Architecture

Rule Based Systems Introduction to Production System Architecture. 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’

zofia
Download Presentation

Rule Based Systems Introduction to Production System Architecture

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Rule Based SystemsIntroduction 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?

  3. Work through this production system to decode the result • z  lu  pp  hlw  lloq  rv  wr  e • uqzv  ??

  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

  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.

  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

  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’)

  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’?

  9. Backward Chaining Goal_1  Goal_2 Goal_2  Goal_3 rules Direction of reasoning Goal_3  Goal_4 Goal_4  Goal_5 Question

  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!

  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

  12. Backwards Chaining with Backtracking Goal_1  Goal_2 Goal_8  Goal 7 Goal_2  Goal_3 Goal_7  Goal_6 rules fail Direction of reasoning Goal_3  Goal_4 Goal_6  Goal_4 Goal_4  Goal_5 Question

  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

  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.

  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

  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

  17. Forward Chaining Fact_1 Fact_1 Fact_2 Fact_2 Fact_3 rules Direction of reasoning Fact_3 Fact_4 Fact_4 Fact_5 Action=Fact_5

  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’? ConflictResolution

  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?

  20. Production System Strategy • All rules tested at each cycle • Only one rule fires at a time

  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

  22. ConflictResolution 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’?

  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

  24. Basic Production System Architecture Dynamic Memory execute tickle Rule Execution Rule Store Select (resolve conflicts) check satisfaction Conflict Set

  25. Modules (Contexts) & Agendas • How to modularise RBSs • Agenda = Sequence of modules (Stack) • Module = Named Set of rules • (Rule MODULE::rule_nameIF ...THEN...) • Contexts popped off stack when finished.

  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 ?Place not ?Place = goalTHEN ask-user “What do I do now?”

  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.

  28. The Structure of Heuristics • Trigger • Constraints • Antecedents • Actions • Conclusions • Control

  29. Formalising Heuristics • Triggers • quick & sensitive • Constraints • quick & specific • Antecedents • complete and sufficient • Actions • Conclusions • Control

  30. Formalising Heuristics • Triggers • Constraints • Antecedents • Actions • Things effecting the outside world • Conclusions • New facts for the dynamic data base • Control • changes to agenda

More Related