Subject :problem solving method
Unit- 4
Resolution refutation
systems:production system for
resolution refutations
Name:[Link]
Roll No:20001D5309
MTECH-Artificial Intelligence
CONTENT
What is Resolution ?
What is Refutation
Resolution refutation systems
Production system for resolution refutations
Resolution
Resolution is a valid inference rule producing a new
clause implied by two clauses containing
complementary literals
Literal: atomic symbol or its negation, i.e., P, ~P
Amazingly, this is the only interference rule needed
to build a sound & complete theorem prover
_Based on proof by contradiction, usually called
resolution refutation
The resolution rule was discovered by
Alan Robinson (CS, U. of Syracuse) in the mid
1960s
Resolution
A KB is a set of sentences all of which are true, i.e., a
conjunction of sentences
To use resolution, put KB into
conjunctive normal form (CNF)
Each sentence is a disjunction of one or more literals
(positive or negative atoms)
Every KB can be put into CNF, by rewriting its
sentences using standard tautologies, e.g.:
P Q ≡ ~P Q
P (Q R) ≡ (P Q) (P R) ≡ (P Q) , (P R)
Tautologies
Resolution (AB) ↔ (~A
Example B)
(A (B C)) ↔
•KB: [PQ , QRS] (AB)(AC)
•KB: [PQ , QR, QS ]
•KB in CNF: [~PQ , ~QR , ~QS]
•Resolve KB[0] and KB[1] producing:
~PR (i.e., PR)
•Resolve KB[0] and KB[2] producing:
~PS (i.e., PS)
•New KB: [~PQ , ~QR, ~QS, ~PR, ~PS]
Proving it’s raining with rules
A proof is a sequence of sentences, where each is a
premise (i.e., a given) or is derived from earlier sentences
in the proof by an inference rule
Last sentence is the theorem (also called goal or query)
that we want to prove
The weather problem using traditional reasoning
1 Hu premise “It's humid”
2 HuHo premise “If it's humid, it's hot”
3 Ho modus ponens(1,2) “It's hot”
4 (HoHu)R premise “If it's hot & humid, it's raining”
5 HoHu and introduction(1,3) “It's hot and humid”
6R modus ponens(4,5) “It's raining”
Proving it’s raining with resolution
Hu ∧ Ho => R
Hu => Ho ~(Hu ∧ Ho) ∨ R
Hu
~Hu ∨ Ho ~Hu ∨ ~Ho ∨ R
Hu
Hu ~Hu∨Ho
~Hu∨Ho ~Hu∨~Ho∨R
~Hu∨~Ho∨R
Ho
Ho
Hu => R
~Hu∨R
~Hu∨R
RR Resolution proof of R
A simple proof procedure
This procedure generates new sentences in a KB
1. Convert all sentences in the KB to CNF1
2. Find all pairs of sentences with complementary literals2 that have
not yet been resolved
3. If there are no pairs stop else resolve each pair, adding the result
to the KB and go to 2
Is it sound?, complete? always terminate?
1: a KB in conjunctive 2: a literal is a variable or its negation
normal form is a set of
disjunctive sentences
Propositional Resolution
It is sound!
It’s not generatively complete in that it can’t derive all
clauses that follow from the KB
The issues are not serious limitations, though
Example: if the KB includes P and includes Q we won’t
derive P ^ Q
It will always terminate
But generating all clauses that follow can take a long time
and many may be useless
Refutation
When resolution is used to prove inconsistency, it is called
refutation. (refute=disprove)
The above binary tree, showing resolution and resulting in
the empty clause, is called a refutation tree.
Refutation proofs
Common use case: we have a question/goal (e.g, P) and
want to know if it’s true
A refutation proof is a common approach:
We start with a KB with all true facts
Add negation of what we want to prove to KB (e.g.,
~P)
Try to find a contradiction
If proof ever produces one, it must be due to adding
~P, so goal is proven
Procedure easy to focus & control, so is tends to be more
efficient
Resolution refutation
Procedure tries to prove a goal P
1. Add negation of goal to the KB, ~P
2. Convert all sentences in KB to CNF
3. Find pairs of sentences with complementary literals that
have not yet been resolved
4. If there are no pairs stop else resolve each pair, adding the
result to the KB and go to 2
If we get an empty clause (i.e., a contradiction) then P
follows from the KB
e.g., resolving X with ~X results in an empty clause
If not, conclusion can’t be proved from the KB
Proving it’s raining with refutation
resolution
Hu ∧ Ho => R
negation Hu => Ho ~(Hu ∧ Ho) ∨ R
Hu ~Hu ∨ Ho
of goal ~Hu ∨ ~Ho ∨ R
~R
~R Hu
Hu ~Hu∨Ho
~Hu∨Ho ~Hu∨~Ho∨R
~Hu∨~Ho∨R
Ho
Ho
Hu => R
~Hu∨R
~Hu∨R
RR
Resolution refutation proof of R
Linear Refutation
We can resolve with different clauses and keep adding new clauses
forever!
To prevent this, Linear Refutation always starts with a goal (as the
example showed previously).
Prolog s’ computation rule:
Always selects the leftmost subgoal, although logically there is no order
for the subgoals.
Example: When resolving G1: :‐ parent(Z ,Y1) , newborn(Y1)., parent(..)
was selected to resolve upon.
Prolog also starts from the top of knowledge base and goes down the list of
facts and rules.
Search Space
Based on linear refutation and Prolog’s computation rule, we know the search tree
of Prolog.
Search tree: The root in the search tree is the main goal G0. A child node is a new
goal Gi obtained through resolution. A link is labelled with the clause resolved with
and the substitution.
Example:
C0: grandfather(X,Z) :‐ father(X,Y), parent(Y,Z).
C1: parent(X,Y) :‐father(X,Y).
C2: parent(X,Y) :‐ mother(X,Y).
C3: father(a,b):‐.
C4: mother(b,c):‐.
C5: mother(b,d):‐.
G0: ‐ grandfather(a,X).
Search Space (example)
Search Space
Reference Books
1. GorgeBoole (1847) introduced the first comprehensive
and workable system of for mal logic in his book The
Mathematical Analysis of logic.
[Link] Cook (1971) showed that deciding satisfiability of
a sentence in propositional logic is NP-complete.
3. The wumpus world was invented by Gregory Yob (1975).
The WALKSAT algorithm described in the chapter is due to
Selman et al. (1996).
Thank You