Download Resolution - ALCom Lab

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Resolution of singularities wikipedia , lookup

Fundamental theorem of algebra wikipedia , lookup

Transcript
Resolution proof
system
Presenter
Valeriy Balabanov
NTU, GIEE, AlCom lab
Outline
•
•
•
•
•
•
•
Basic definitions
Key-facts about resolution proofs
Intractability of resolution
Heuristics for proof minimization
Resolution in first-order logic
Conclusion and future work
References
Basic definitions
• Resolution is a deductive rule in a form:
(a  b)( a  c)
bc
– where a, b, c are some distinct logical facts
– “a” is called pivot
– (b or c) is called resolvent
• A Resolution refutation proof for F is a
sequence of clauses R = (C1, ..,Ct), where
– Ct = ∅;
– Ci ∈ F or Ci is derived from two previous clauses by
the resolution rule
• The length of the proof = # of clauses in the derivation
• Resolution proof can also be seen as DAG, where the
nodes represent clauses, and edges represent
resolution steps; the single sink node is an empty
clause
• Tree-like resolution is a resolution, with special
property – each parent node has exactly one child (in
other words each clause in a proof is resolved only
once)
– Note: Tree-like resolution can be derived from DAG
resolution by splitting multiply used nodes into separate
nodes
Key-facts about resolution proofs
• For 2SAT it is possible to find the shortest
resolution proof in polynomial time (2SAT∈ P)
• For HornSAT polynomial resolution proof
exists (HornSAT ∈ P-complete), but finding the
shortest proof is NP-hard
• Generally, finding the shortest resolution
proof is NP-hard (generally, as we will see the
shortest proof can be exponential in number
of clauses)
Intractability of resolution
• Resolution is complete and sound
• Proof:
– Soundness: every clause, resolved from the
formula is implied by that formula, thus, if resolved
clause is empty – formula is UNSAT
– Completeness:
• elimination of variable “a” from CNF, is a procedure,
when we make all possible resolutions using “a” as
a pivot, and then eliminating all the clauses
containing “a” from the original formula
• Completeness(continued):
– Let F be UNSAT CNF with m-variables a1,a2…am
– Let Si be the set of clauses, which are left after
elimination of i variables from F; S0 is the original
formula F; Sm has at most the empty clause.
– Let’s prove by induction on i, that every truth
assignment to variables in F will make some clause
in Si to be false
• For i=0 S0 is UNSAT, and thus has false clause for every
assignment
• Assume for Sk it is also true, and for some assignment V,
the false clause is θ, then if θ doesn’t contain variable
ak+1, then θ also will be present after elimination of ak+1;
• Completeness(continued):
– now, if θ has variable ak+1, let W be the truth
assignment, same as V, but with different
assignment to variable ak+1; let β be the clause
which is false for W; if β doesn’t contain variable
ak+1, then β will be in Sk+1; if it does – then the
resolvent of β and θ will be present in Sk+1 and
obviously will be false for V(also W);
– thus for every truth assignment, Si must contain a
clause which will be false under it
– Thus, Sm should contain the empty clause, and by
the construction of Sm it was derived by resolution
• Pigeonhole principle:
– Let A be a sequence of n=sr + 1 distinct numbers.
Then either A has:
• an increasing subsequence of s + 1 terms or
• a decreasing subsequence of r + 1 terms (or both).
• Consequence:
– Suppose we have n=s+1 pigeons (r=1)
– If we put them in at most s holes, then there
definitely will be at least 2 pigeons in the same hole
– In other words it is impossible to put every pigeon to
it’s own hole
• Proof:
– Every number in sequence ai has score (xi, yi).
– xi is the longest increasing subsequence ending at ai
– yi is the longest decreasing subsequence starting at ai
– (xi, yi) ≠ (xj, yj) whenever i ≠ j.
– Assume i < j, then:
• if ai < aj → xi < xj
• if ai > aj → yi > yj
– Thus we have rs+1 points on a plane, and there is ai with
coordinate (xi, yi) outside the rs-square.
– So, for that ai we will have xi ≥ s+1 or yi ≥ r+1
• Formalizing PHP to CNF formula
– xi,j - pigeon i sits in hole j
– (type 1): xi,1 ∨ xi,2 ∨ .. ∨ xi,n−1 for i = 1..n
(every pigeon sits in at least one hole)
– (type 2): (¬xi,k ∨ ¬xj,k) for 1 ≤ i ≠ j ≤ n ; 1 ≤ k ≤ n − 1
(no two pigeons sit in the same hole)
– From pigeonhole principle conjunction of above clauses is
UNSAT
• Example:
(a1  a2 )(b1  b2 )(c1  c2 )( a1  b1 )( a1  c1 )(c1  b1 )
(a 2  b 2 )( a 2  c 2 )(c 2  b 2 )  UNSAT
– Note: deleting any clause will lead to SAT
• Haken’s super-polynomial lower bound
– Original proof shows the bound for n>200
– We present modified proof: Ω(2√n/32)
– Definition:
• A critical assignment is a one-to-one mapping of n − 1
pigeons to n − 1 holes, with one pigeon unset. Having
i-th pigeon unset defines a i-critical assignment.
• Presenting the assignments of the xi,j as a matrix, the
critical assignments would look like this:
Example of 9-critical assignment
for PHP with n=9
• Let R be the proof of unsatisfiability of PHPn
• Replace xi,j’ in all clauses C by:
• Definition: The resulting sequence of positive clauses
R+ = (C1+ , ..,Ct+ ) is a positive pseudo-proof of PHPn
• Lemma: C+(α) = C(α) for any critical α
• Proof: Suppose ∃C+(α) ≠ C(α)
⇒ ∃xi,j’ ∈ C s.t. Ci,j(α) ≠ xi,j’(α)
⇔(x1,j ∨ .. ∨ xn,j)(α) ≠ xi,j’(α). This is impossible, since α
is critical, therefore has exactly one 1 in the column j.
• We will show now, that t ≥ 2n/32.
For a contradiction, assume t < 2n/32, t is the number
of clauses in R+.
• Definition: A long clause has at least n2/8 variables.
(more than 1/8 of all possible n(n − 1) variables). l is
the number of long clauses in R. l ≤ t < 2n/32
– By the pigeonhole principle, there exists a variable xi,j,
which occurs in at least l/8 of the long clauses.
– Set the special variable xi,j to 1.
– Set all xi,j’, xi’,j for j’≠j, i’≠i to 0.
– Clauses containing xi,j are set to 1 and therefore disappear
from the proof.
– The variables set to 0 disappear from all clauses.
• We are left with a pseudo-proof of PHPn−1 with at
most l(1 − 1/8) long clauses.
• Doing this d = 8log(l) times, we will eliminate all long
clauses, since
• We are left now with a pseudo-proof of PHPm with no
long clauses (of length more than n2/8).
• Since m = n – d, and from assumption l < 2n/32, we
can obtain
• Lemma: Any positive pseudo-proof of PHPm must have a
clause with at least 2m2/9 variables.
• Proof: let R’ be a positive pseudo-proof of PHPm
– Definition: ∀C∈R’, W is a witness of C if W is a set of clauses
from PHPm, whose conjunction implies C for critical
assignments. (∀ critical α: α satisfies all ω∈W → α satisfies C).
The weight of C = # clauses in minimal witness.
• Note: for any C there exist witness W
–
–
–
–
Clauses of (type 2) are not the part of a minimal witness
Clauses of (type 1) have weight 1
The weight of the final clause is m
The weight of a clause is at most the sum of the two clauses its
been derived from
– There exists a clause C∈R’ of weight s, m/3 ≤ s ≤ 2m/3.
• Let
–
–
–
–
S is a set of indices of witness clauses for C
W = {Ci|i ∈ S}, |S| = s,
Ci = xi,1 ∨ xi,2.. ∨ xi,m−1; Ci ∈ PHPm
∧Ci → C
• Also let
– i∈S
– α is i-critical assignment with C(α)=0
– j ∉ S; α’ is j-critical
– α’ is obtained from α, by swapping rowi and rowj: If α maps
pigeonj to holek, then α’ maps pigeoni to holek
•
•
•
•
Since j ∉ S α’ satisfies all Ci ∈ W, so C(α’)=1
From the construction α differs from α’ only in xi,k, xj,k
This implies xi,k ∈ C
We can run this argument for current i-critical assignment
under all (m − s) different choices for j ∉ S
• Thus C contains the variables xi,k1, xi,k2, .., xi,km−s
• And by repeating this for all i ∈ S, we conclude that C
contains at least (m-s)s different variables
• Since m/3 ≤ s ≤ 2m/3, we have (m-s)s ≥ 2m2/9, concluding
the proof for lemma
• We reached a contradiction to our assumption that t ≤ 2n/32
• Thus we conclude, that pigeonhole family of clauses
requires super-polynomial minimal proofs for large n
• People have also found many exponentially hard
examples for resolution using graph theory
• Definition: extended resolution, is a regular resolution,
but with additional property: any definition can be added
to original formula, if it doesn’t change its satisfiability
– Example: if x is not in original formula, we can add
x  (a  b)  ( x  a  b)( x  a)( x  b)
• Extended resolution can find polynomial proofs for
pigeonhole formulas
• Extended resolution is one of the strongest known proof
systems
Heuristics for proof minimization
• Resolution proofs are useful for
– Extracting unsatisfiable cores
– Extracting interpolants
– Detecting useful clauses for incremental SAT-solving
• Run-till-fix and Trim-till-fix
– Use SAT-solver repeatedly to minimize UNSAT-core
– Use incremental SAT-solver to analyze the structure of
the proof and restructure it
– Running time is usually large, since we need to rerun SATsolver again and again
• Recycling learned unit clauses
– If (x) is a unit clause that was learned by the SAT solver, it
can be used for simplifying resolution inferences that used
x as the pivot prior to learning this clause
– May lead to circular reasoning, so must be applied carefully
– Let
• P – is a resolution proof of the empty clause
• For a given node n in P:
– n.C - is the clause represented by n
– n.L and n.R are parents of n
– n.piv – is the variable used to resolve n.C from n.L.C and n.R.C
Example:
Example:
• It is easy to see, that recycling units will only
make proof stronger
• The size of the proof also will be reduced
• The time complexity is quadratic in size of the
proof, and no SAT-solving is used
• Recycling Pivots
– Observation: along each path from root to sink in a proof graph
there is no need for resolving on the same variable more than
once
– Proof:
• Key point here is: why do we want to use resolution?
• We use current resolution step to eliminate variable “x”
• If in few steps variable “x” will reappear again – then what was the
purpose of first resolution?
– The proof with above mentioned property is called Regular
– The shortest proof for a given problem must be regular
• The Reconstruct-Proof algorithm will be the same as that
for Recycling Units
• Runtime of Recycling Pivots is linear in proof size
Example:
• Experimental results
– Run-till-fix finds the smallest UNSAT core (# of roots),
but it increases the proof-size
– Recycle Units and Pivots significantly simplify the
proof, but cannot make UNSAT core small enough
Resolution in first-order logic
• Propositional logic vs. First-order logic
– Example
( y  x)( y  x)  SAT
xy ( y  x)( y  x)  0
• Universal reduction
– Example
but
xy ( y  x)( y  x)  xy ( x)  1
xz ( x  z )( x  z )  xz ( z )( z )
• Q-resolution
– combines resolution and universal reduction
• Example:
abcde
(a  c  d )( a  e  d )(e  b  d )(c  d  e)(b  d  e)
(a  c)
(c  e  d )
(b  c  d )
Red lines: universal reduction
Green lines: exist. resolution
(b  c)
(b  d  e)
(b  d )
(empty)
• Q-resolution is both complete and sound
– Soundness:
• if the empty clause was generated, as in SAT, QBF
obviously evaluates to 0
– Completeness:
• Induction on number of quantifiers:
– For single ∃-variable it is just a usual resolution
– For single ∀-variable, falsity of formula->there is at least one
non-tautological clause, which can be universally reduced
– Induction step for ∀-variable (a) will choose the value of a,
which leads to UNSAT, and use the same resolution steps;
– For ∃-variable (a) both assignments to a lead to a conflict; we
use Q-res steps for those assignments; if in one of them a (a’)
was not present – we are done; if both present – we resolve
resulting clauses on a, and thus get the conflict clause
• As QBF is a general case of SAT, Q-resolution is
also intractable
• More definitions:
– ∃-unit clause is clause with only one ∃-variable
– Q-unit resolution is a Q-resolution where one of
the clauses is a positive ∃-unit clause
– Horn clause is a clause with only one positive
literal
– Extended quantified Horn formula has every
clause’s existential part to be a Horn clause
• Theorem: Q-unit resolution is complete and sound
for extended quantified Horn formulas
• Proof: look into [7]
• Theorem: For every t>0 there exists a quantified
extended Horn formula of length 18t+1 which is
FALSE, and the refutation to the empty clause
requires at leas 2t Q-resolution steps
• Proof: look into [7]
• Q-resolution can’t simulate usual resolution
– Example
yx( y  x)( y  x)
can’t conclude x
Conclusion and future work
•
•
•
•
•
Resolution is simplest, but yet efficient proof system
Resolution is intractable
Existence of exponential lower bounds
Resolution proofs are used in model checking
Shorter proofs can be produced using some
heuristics
• Q-resolution is an extension of resolution in firstorder logic
•
•
•
•
•
Other proof systems
Exchange of the nodes in the resolution graph
Different heuristics for proof-length reduction
Interpolants in first-order logic
Q-resolution vs. QBF’s certificates
References
1. “The relative efficiency for propositional proofs”, Stephen A.
Cook and Robert A. Reckhov
2. “Hard examples for Resolution”, Alasdair Urquhart
3. “On the complexity of derivation in propositional calculus”,
G.S. Tseitin
4. “Optimal length tree-like resolution refutations for 2SAT
formulas”, K. Subramani
5. “The intractability of resolution”, Armin Haken
6. “Reducing the size of resolution proofs in linear time”,
O.B.Ilan, O. Fuhrmann, S. Hoory, O. Shacham, O.Strichman
7. “Resolution for Quantified Boolean Formulas”, H.Buning,
M. Karpinski, A. Flogel
Thank you very much!!!