Title: Rules: Knowledge Representation
1RulesKnowledge Representation Manipulation
- Artificial Intelligence
- CMSC 25000
- January 8, 2002
2Agenda
- Knowledge Representation
- Assertions Rules
- Knowledge Manipulation
- Forward Backward Chaining
- Deduction Reaction Systems
- Costs, Choices, and Mechanisms
3Representing Knowledge
- Assertion
- Statement that something is true
- Stretch is a giraffe,The sky is blue
- Collection of assertions Working Memory
4Representing Knowledge Rules
If A1, A2
Antecedent
Then B1, B2
Consequent
5Representing Knowledge Rules
- May include variables, e.g.
- Variables ?x,?y,?z
- Same name gt same value
If (parent-of ?x ?y), (parent-of ?y
?z), then (grandparent-of ?x ?z)
6Knowledge Manipulation
- Forward chaining
- Reason from if antecedents to then
consequents - Backward chaining
- Confirm hypothesis matching then patterns by
verifying if patterns
7Rule-based Systems
- Separate knowledge from control
- Contrast from typical programming Integrated
Add consequent
Assertions
Rules
Rule Interpreter
Select rule
Match antecedent
8Forward Chaining
- Identify triggered rules
- Antecedents match assertions
- Match variables -gt rule instances
- Select a triggered rule to fire
- Conflict resolution strategy first, random, LRU,
combination - Fire a rule
- Add consequents to list of assertions (deduction)
- Perform action(s) in consequent (reaction)
9Forward Chaining Example
R1 if (signs (nasal congestion)) (signs
(viremia)) then (diagnosis influenza) R2
if (runny nose) then (signs (nasal
congestion)) R3 if (body-aches) then
(signs (achiness))
R4 if (temp gt100) then (signs
(fever)) R5 if (headache) then (signs
(achiness)) R6 if (signs (fever))
(signs (achiness)) (cough) then
(signs (viremia))
Assertions F1 runny nose F2 temp 101.5 F3
headache
Execution
R2 Fires Asserts (signs (nasal congestion)) R4
Fires Asserts (signs (fever)) R5 Fires Asserts
(signs (achiness)) R6 Fires Asserts (signs
(viremia)) R1 Fires Asserts (diagnosis
influenza)
10Forward Chaining with variables
IF (parent ?x ?y) (parent A B)
(parent ?y ?z) (parent A C) THEN
(grand-parent ?x ?z) (parent B D)
(parent C E)
- (parent ?x ?y) (parent ?y ?z) (grand-parent ?x
?z) - (xA yB) (yA zB) conflict in y
- (yA zC) conflict in y
- (yB zD) (xA yB zD)
- (yC zE) conflict in y
- (xA yC) (yA zB) conflict in y
- (yA zC) conflict in y
- (yB zD) conflict in y
- (yC zE) (xA yC zE)
- (xB yD) (yA zB) conflict in y
- (yA zC) conflict in y
- (yB zD) conflict in y
- (yC zE) conflict in y
- (xC yE) (yA zB) conflict in y
11Forward Chaining Analysis
- Reason from antecedents to consequents
- Trigger rules if all antecedents match assertions
- Add assertions or do actions in consequents
- May be computationally expensive
- Many possible deductions to make
- Brute force approach k antecedents, N assertions
- Nk!!
- Rete method
12Backward Chaining
- Test hypothesis
- Reason from consequents to antecedents
- Use assertions and rules
- If no assertions or rules give evidence, ask
questions
13Backchain(G) - Rule interpreter
- If G matched assertion in database, then return
True - Else
- If there are rules whose consequent matches G
- For each matching rule R
- For each antecedent C of R
- If Backchain(C) is true, proceed
- Else go to next rule.
- Return True / when all antecedents are true /
- Return False / when no matching rule succeeds /
- Else, ask user if G is true.
- If answer is yes return True,
- Else return False.
14Backward Chaining Example
R1 if (signs (nasal congestion)) (signs
(viremia)) then (diagnosis influenza) R2
if (runny nose) then (signs (nasal
congestion)) R3 if (body-aches) then
(signs (achiness))
R4 if (temp gt100) then (signs
(fever)) R5 if (headache) then (signs
(achiness)) R6 if (signs (fever))
(signs (achiness)) (cough) then
(signs (viremia))
15Backward Chaining Example
Hypothesis (diagnosis influenza)
Diagnosis Influenza
AND
(Signs (nasal congestion))
(Signs (viremia)
AND
(Runny nose)
(Signs (fever))
(Signs (achiness))
(cough)
Ask
Ask
OR
Yes
Yes
(Temp gt 100)
Ask
Yes
(Body-ache)
(Headache)
Ask
Ask
No
Yes
16Reaction Systems
- Deduction systems
- Produce new assertions
- Keep firing all triggered rules
- Order less important
- Reaction systems
- Produce arbitrary actions assertions, printing,
moving, bagging - Side effects -gt Order important
17Reaction System Example
- For example,
- IF (at ?x ?y)
- (move ?x to ?z)
- ADD (at ?x ?z)
- DELETE (move ?x to ?z)
- (at ?x ?y)
- Assume an initial database
- (at A room1) (move A room2)
- Then the rule would add (at A room2)
- And, delete
- (at A room1) (move A room2)
18Conflict Resolution
- When gt1 rule is triggered, which fires??
- First Rules are ordered. Fire first triggered.
- Random Randomly select a rule to fire
- Most specific Fire rule with most antecedents
- Least recently fired Avoids rule starvation.
- Combination
- Design rule set wrt conflict resolution strategy
19Conflict Resolution Deduction
- Generally, less important,but
- Possible to create infinitely recursive rule
- if ?x, (not (not ?x)).
- Need conflict resolution
- Allow other rules to fire
- E.g. stop rule