AI-10-Resolution Strategies

Download as pdf or txt
Download as pdf or txt
You are on page 1of 18

Introduction to Artificial Intelligence

Resolution Strategies

By: 1

Boreshban [email protected]
Outline
• Restriction strategies for resolution
• Horn clauses
Resolution can be very inefficient…
1. {p,q} KB 17. { } 4, 9
2. {~p,r} KB 18. {r} 3, 10
3. {~q,r} KB 19. { } 8, 10
4. {~r} prove 20. { } 4, 11
5. {q,r} 1, 2 21. {r} 2, 12
6. {p, r} 1, 3 22. { } 7, 12
7. {¬ p} 2, 4 23. {r} 3, 13
8. {¬ q} 3, 4 24. { } 8, 13
9. {r} 3, 5 25. { } 4, 14
10. {q} 4, 5 26. {r} 2, 15
11. {r} 3, 6 27. { } 7, 15
12. {p} 4, 6 28. { } 4, 16
13. {q} 1, 7 29. { } 4, 18
14. {r} 6, 7 30. { } 4, 21
15. {p} 1, 8 31. { } 4, 23
short proof:
16. {r} 5, 8 32. { } 4, 26 {1,2,3,4,5,9,17}
Resolution Strategies: key issues
• How to choose the next two clauses to resolve? In
the worst case we need to generate a very large
number of redundant, often irrelevant conclusions.
Note: the size of KB grows, so more resolutions!
• How to avoid useless work by not performing certain
unnecessary deductions. The goal is to decrease the
size of the resolution graph that leads to a
conclusion.
• Can we restrict FOL to obtain an efficient resolution
strategy: trade-off expressivity/efficiency?
Horn Clauses
• Def: A Horn clause is a clause with at most one
positive (negative) literal (either form for all KB)
{p1,p2,….,pn ,~q} {~p1,~p2,….,~pn ,q}
• usually comes from sentences that describe rules
q => (p1 \/ p2 \/ … \/ pn)
(p’1 /\ p’2 /\ … /\ p’n) => q’ the
general form is the implicative normal form
(p1 /\ p2 /\ … /\ pn) => (q1 \/ q2 \/ … \/ qm)
• Advantages: efficient and complete resolution
strategies! Trade off expressiveness for efficiency
Deletion strategies
• Eliminate unecessary clauses from KB so as to avoid
wasted resolutions:
1. pure literal elimination
2. tautology elimination
3. subsumption elimination
• The deletions are always sound and complete by
definition!
1. Pure literal elimination
Remove any clause containing a “pure literal”—a
literal that has no complementary instance in the
data base:

1. {~p, ~q, r}
2. {~p, s} “s” is a pure literal, so
these 2 clauses can be
3. {~q, s} “thrown away.”
4. {p}
5. {q}
6. {~r}
This preserves soundness and completeness since
we cannot derive the empty clause with pure literals
2. Tautology elimination
Eliminate clauses that contain identical
complementary literals -- these are tautologies
which do not change the satisfiability of KB

Ex1: {p(g(a)),~p(g(a))}
{p(X), q(Y),~q(Y),r(Z)} can all be eliminated!
Ex2: {p(a),~p(X)} cannot be eliminated!
{p(a)}
{~p(b)}
3. Subsumption elimination
Delete all subsumed clauses. A clause F is said to
subsume clause Y iff there is a substitution U
such that F[U] =>Y
Ex: 1. {p(X), q(Y)} subsumes
2. {p(a), q(V)}
since the substitution U = {X/a, Y/V} makes the
first a subset of the second. So we can “throw
away” the second. The same set of clauses that
resolve 2. will resolve 1.
Resolution strategies
• How to choose the next two clauses to resolve:
▫ unit resolution
▫ input resolution
▫ linear resolution
▫ set-of-support resolution
• What is the complexity of each strategy?
• Are these strategies sound and complete?
• If not, for what subset of FOL they are?
Unit Resolution (1)
When choosing two clauses to resolve, at least
one of the clauses being resolved at every step
contains a single literal (unit clause).
The idea: produce shorter and shorter sentences
Ex: 1. {p, q} KB 7. {q} 1, 5
2. {~p, r} KB
8. {p} 1, 6
3. {~q, r} KB
4. {~r} KB 9. {r}3, 7
5. {~p} 2, 4 10. { } 6, 7
6. {~q} 3, 4 11. {r} 2, 8
12. { } 5, 8
Unit Resolution (2)
• Unit resolution refutation is not complete in
general:
Ex: 1. {p, q}
2. {~p, q}
3. {p, ~q}
4. {~p, ~q}
Cannot perform a single unit resolution since
all clauses are of size 2!
Input Resolution
• At least one of the clauses being resolved at every
step is a member of the initial (i.e., input)
knowledge base.
• Input resutation is not complete in general:

Ex: 1. {p, q} KB
2. {~p, q} KB
3. {p, ~q} KB
Cannot perform
4. {~p, ~q} KB input resolution!
Linear Resolution
• At least one of the clauses being resolved at every step is
either in the initial data knowledge base or is an
ancestor of the other clause (generalization of input
resolution)
• Linear resolution is complete for all clauses

Ex: {p, q} {~p, q} {p, ~q} {~p, ~q}


{q}
{p}
{~q} {q}

{}
Set of Support Resolution
• A subset G of a set KB is called a “set of support” for
KB iff KB - G is satisfiable.
• Set of support resolution: at least one of the clauses
being resolved at every step is selected from a set of
support G.
• The idea: use only a subset of the KB for new clauses
▫ set of support is complete for all clauses
▫ often, G is chosen to be the clauses derived
from the negated goal
▫ can be seen as working backwards from the
goal
Set of Support resolution example
1. {p, q} KB
2. {~p, r} KB
3. {~q, r} KB
4. {~r} G
5. {~p} 2, 4 add to G
6. {~q} 3, 4 add to G
7. {q} 1, 5 add to G
8. {p} 1, 6 add to G
9. {r} 3, 7
10. { } 6, 7
11. {r} 2, 8
12. { } 5, 8
Ordered Resolution

• Each clause is treated as a linearly ordered set.


• Resolution is permitted only on the first literal of
each clause.
• Literals in the conclusion preserve parent clauses'
order:“positive parent” clauses followed by “negative
parent” clauses.
• Refutation by ordered resolution is incomplete in
general
Example of Ordered Resolution
1. {p, q} KB
2. {~p, r} KB
3. {~q, r} KB
4. {~r} KB
5. {q,r} 1, 2
6. {r} 3, 5
7. { } 4, 6

The conclusion was quickly reached!

You might also like