Forward Chaining DFS can supply compatible bindings for forward chaining Forward Chaining Until no rule produces an assertion or the animal is identified For each rule Try to support each of the rules antecedents by matching it to known
"Forward Chaining DFS can supply compatible" is the property of its rightful owner. Permission is granted to
download and print the materials on this website for personal, non-commercial use only, and to display it
on your personal computer provided you do not modify the materials and that you retain all copyright
notices contained in the materials. By downloading content from our website, you accept the terms of this
agreement.
Share
Embed code
Presentation Transcript
01
Forward Chaining DFS can supply compatible bindings for forward chaining<br>
02
Forward Chaining Until no rule produces an assertion or the animal is identified
For each rule
Try to support each of the rule’s antecedents by matching it to known assertions
If all the rule’s antecedents are supported, assert the consequent unless there is an identical assertion already
Repeat for all matching and instantiation alternatives<br>
03
Forward Chaining Until no rule produces a new assertion
For each rule
For each set of possible variable bindings determined by matching the antecedents to working memory
Instantiate the consequent
Determine whether the instantiated consequent is already asserted. If it is not, assert it<br>
04
Working Memory<br>
05
Rule If
?x is-a horse
?x is-a-parent-of ?y
?y is fast
Then
?x is valuable<br>
06
Find Bindings If ?x is-a horse
?x can be bound to
Comet, Prancer, Thunder, Dasher
?x is-a-parent-of ?y
…
?y is fast
…<br>
07
Backward Chaining Start matching hypothesis against
Existing assertions
Rule consequents
Comet is valuable?<br>
08
Backward chaining code Until all hypothesis have been tried and none have been supported or until the animal has been identified
For each hypothesis
For each rule whose consequent matches the current hypothesis
Try to support each of the rule’s antecedents by matching it to assertions in WM or by backward chaining through another rule, creating new hypotheses. Be sure to check all matching and instantiating alternatives
If all the rule’s antecedents are supported, announce success and conclude that the hypothesis is true<br>
09
Rules and Cognition Simplicity of rule based systems enables you to build extremely useful applications
RBS can explain their reasoning
How did you establish swifty was a cheetah? By using rule six and by knowing that swifty is a mammal, has pointed teeth, has claws, and has forward pointing eyes.
How…? : Report the assertions connected to the rule’s antecedents. The rule that established the assertion.<br>
10
Rules and Cognition RBS can explain their reasoning
Why did you show that swifty is a mammal? Because I wanted to use rule 6 to show that the animal is a carnivore
Why..? Report the assertions to the then sides of all rules that used the assertion referenced in the question.<br>
11
Knowledge Acquisition Two key heuristics
Work with specific situations
Ask about situation pairs that look identical but are handled differently<br>
12
RBS behave like idiot savants They do certain tasks well
But
They do not reason at multiple levels
They do not understand the reasoning behind their rules
They do not know how or when to break their own rules
They do not look at problems from different perspectives<br>
13
SOAR models human problem solving - MAYBE Uses an automatic preference analyzer instead of a fixed conflict resolution strategy<br>
14
RBS vs C/Java/Lisp In principle there is nothing to prevent building a more human like system using rules, because rules can be used as a sort of programming language
However, compared to other programming languages rules have little to offer<br>