Overview Resolution Proofs Resolution (SAT)

Overview Resolution Proofs Resolution (SAT)

Overview SAT Solving Tremendous gains have been achieved over the ڗ and its last 5 years in SAT solving technology. Systematic backtracking based systems have ڗ Relationship to CSPs become the best method for solving structured SAT instances. New theoretical insights have been gained into ڗ Fahiem Bacchus the behaviour of backtracking SAT solvers via University of Toronto their close relationship with resolution proofs. These insights have direct relevance to finite ڗ domain CSP solvers. 9/15/2005 Fahiem Bacchus 1 9/15/2005 Fahiem Bacchus 2 Resolution (SAT) A complete proof procedure for ڗ Resolution Proofs propositional logic that works on formulas expressed in conjunctive normal form. (Robinson 1965) All (complete) backtracking algorithms (Conjunctive Normal Form (CNF ڗ for CSPs are implicitly generating resolution proofs. Ӎ Literal: a propositional variable p or its On problems with solution, still have negation ¬p to backtrack out of failed subtrees. Ӎ Clause: a disjunction of literals (a set). Baker (1995), Mitchell (2002) Ӎ CNF theory: a conjunction of clauses. 9/15/2005 Fahiem Bacchus 3 9/15/2005 Fahiem Bacchus 4 Resolution Resolution A resolution refutation of a CNF theory ѝ is ڗ From two clauses (A, x) (B, ¬x) the ڗ resolution rule generates the new clause a sequence of clauses C1, C2, …, Cm such that (A, B), where A and B are sets of literals. Ӎ each Ci is either a member of ѝ or Ӎ (A,B) is the resolvant. Ӎ Ci is a resolvant of two previous clauses in the proof: Ci = R(Cj,Ck)j,k< I Ӎ x is the variable resolved on Clauses arising from resolution are called the derived ڗ Ӎ duplicate literals are removed from the clauses of . resolvant Ӎ Cm = () the empty clause. .is also called a resolution proof ڗ Ӎ denote by C = R(C1,C2) .The SIZE of is the number of resolvants in it ڗ 9/15/2005 Fahiem Bacchus 5 9/15/2005 Fahiem Bacchus 6 Resolution DAG Resolution Dag ,(Any resolution proof can be represented () [(¬Y), (Z,¬X),(¬Z,Y),(Y,¬X ڗ (¬X),(Z),(Q,¬Z,X),(¬Q,X), as a DAG. X (¬Z,X),(X),(¬X),()] Ӎ nodes are clauses in the proof. ¬X X Ӎ Every clause Ci that arises from a resolution Y Z step has two incoming edges. One from each Z ¬Z,X of the clauses that were resolved together to ¬Y Y, ¬X obtain Ci. Z Y Q Ӎ The arcs are labeled by the variable that was Z,¬X ¬Z,Y Q,¬Z,X ¬Q,X resolved away to obtain Ci. Ӎ Clauses in ѝ have no incoming edges. 9/15/2005 Fahiem Bacchus 7 9/15/2005 Fahiem Bacchus 8 Restrictions of Resolution Tree Resolution Tree resolution ڗ A number of restricted forms of ڗ resolution can be defined, where, e.g., Ӎ The DAG is required to be a tree. we require the DAG to be a tree. Î Clauses derived during the proof can only be used once. The reason the restricted forms have ڗ been developed is that the restrictions Ӎ Work must be duplicated to rederive clauses that need to be used more than once. can make it easier to find a proof. 9/15/2005 Fahiem Bacchus 9 9/15/2005 Fahiem Bacchus 10 Tree Resolution Ordered Resolution C4 C5 The variables resolved on along any path ڗ C4 C5 in the DAG to the empty clause must C2 C2 C3 C1 C2 C3 C1 respect some fixed ordering of the variables. 9/15/2005 Fahiem Bacchus 11 9/15/2005 Fahiem Bacchus 12 Ordered Resolution Regular Resolution Along any path in the DAG to the empty ڗ Not ordered () X clause the sequence of variables resolved ¬X X away cannot contain any duplicates. Y Z ¬Y Y, ¬X Z ¬Z,X Z Y Q Z,¬X ¬Z,Y Q,¬Z,X ¬Q,X 9/15/2005 Fahiem Bacchus 13 9/15/2005 Fahiem Bacchus 14 Regular Resolution Negative Resolution Q,Z,Y,P Q,Z,Y,P One of the clauses in each resolution ڗ X H step must contain only negative literals. ¬X,Z X,Q,Y,P Z,Q,¬H, (a negative clause) H X Ӎ This is complete! Q,¬H,X H,P,Y H,P,Y ¬X,Z Q,¬H,X Ӎ Note ѝ must contain at least one negative X X clause else the “all true” truth assignment is P,H,X ¬X,Y P,H,X ¬X,Y a satisfying model. Not Regular Regular 9/15/2005 Fahiem Bacchus 15 9/15/2005 Fahiem Bacchus 16 Relative Power Relative Power R(F)—the minimal size R-refutation of ѝ among all# ڗ .A general formalism for comparing the possible R-refutations of ѝ ڗ power of different proof systems was (For a family of formulas ѝi we look at how #R(ѝi ڗ developed by Cook and Reckhow 1997. grows with i. For our purposes we simply look at the ڗ Let S and T be two restrictions of resolution. S ڗ minimal size refutation proof (the p-simulates T if there exists a polytime computable number of clauses in the proof). function f such that: Ӎ For any S-refutation of a formula ѝ, f() is a T-refutation of ѝ. Ӎ Note that this means that f() can’t be more than polynomially longer than Î #T(F) no more than polynomially larger than #S(F) for any formula F. 9/15/2005 Fahiem Bacchus 17 9/15/2005 Fahiem Bacchus 18 Relative Power Known Results Relative Power Known Results Regular Negative Ordered Tree Buresh-Oppenhiem, Pitassi (2003) many ڗ Regular No Yes Yes new results and a summary of previously Negative No No Yes proved results. Ordered No No No Tree No No No Regular always yields shorter proofs than ڗ either Ordered or Tree Negative and Regular are incomparable ڗ .Ordered and Tree are incomparable ڗ 9/15/2005 Fahiem Bacchus 19 9/15/2005 Fahiem Bacchus 20 Relative Power Known Results It is also known that none of these Solving Sat ڗ restrictions can p-simulate general resolution. 9/15/2005 Fahiem Bacchus 21 9/15/2005 Fahiem Bacchus 22 DP & DPLL (DLL) DP Pick a variable ordering (one that has a low ڗ Two earliest algorithms for solving SAT ڗ elimination width if possible): X1, X2, …, Xn actually predate resolution. Starting with the original set of clauses ѝ ڗ :At the i-th stage ڗ DP: Davis-Putnam (1960) a variable ڗ elimination technique. Ӎ Add to ѝ all possible resolvants that can be generated by resolving on Xi. (DPLL: Davis-Logemann-Loveland (1962 ڗ Ӎ Remove from ѝ all clauses containing Xi or ¬Xi. a backtracking search algorithm. Ӎ If the empty clause is generated stop The input set of clauses (the formula ѝ) is ڗ UNSAT iff this process generates the empty clause. 9/15/2005 Fahiem Bacchus 23 9/15/2005 Fahiem Bacchus 24 DP DP [a] [b] [c] [a] [b] [c] (a,b,c) (b,c) (c) () (a,b,c) (b,c) (c) () (¬a,b,c) (¬b, c) (¬c) (¬a,b,c) (¬b, c) (¬c) (¬b, c) (¬b,¬c) (¬b, c) (¬b,¬c) (a,¬b,¬c) (b,¬c) (a,¬b,¬c) (b,¬c) (¬a,¬b,¬c) (¬a,¬b,¬c) (b,¬c) (b,¬c) Potentially many redundant clauses are generated, but an ordered resolution is contained in these clauses. 9/15/2005 Fahiem Bacchus 25 9/15/2005 Fahiem Bacchus 26 DP DPÙOrdered Resolution Note also that every ordered resolution ڗ Every DP proof contains an ordered ڗ resolution, and thus it can never be shorter can be found inside of a DP refutation: than an ordered resolution refutation. Ӎ just follow the same order. Ӎ Note lower bounds are wrt any possible ordered Ӎ Since DP generates all possible ordered resolution (i.e., any ordering). refutations along that order, it might In practice, DP’s space requirements are terminate before completing the specified ڗ prohibitive ordered refutation (by finding a shorter Ӎ Although some attempts using ZBDDs to represent ordered refutation). the clauses compactly. Ӎ DP can also waste a lot of time generating Ӎ Still not competitive with current best techniques. clauses that are not needed for the refutation. 9/15/2005 Fahiem Bacchus 27 9/15/2005 Fahiem Bacchus 28 DPLL DPLL Simplification Given a clausal theory ѝ, we can simplify ڗ Developed shortly after DP, DPLL is based ڗ on backtracking search. The connection it by a literal р as follows: to resolution was realized later. Ӎѝ|р = Ӎ One picks a literal (a true or false variable) Remove from ѝ all clauses containing рڗ .Remove р from all of the remaining clausesڗ Ӎ simplify the formula based on that literal Ӎ recursively solve the simplified formula. Ӎ if the simplified formula is UNSAT, try using the negation of the literal chosen. 9/15/2005 Fahiem Bacchus 29 9/15/2005 Fahiem Bacchus 30 Unit Propagation DPLL (a,b,c) (In addition DPLL employs unit propagation: (¬a,b,c),(¬b, c ڗ (a,¬b,¬c) Ӎ if contains any unit clauses, e.g. (¬x) then ѝ|р (¬a,¬b,¬c) further simplify ѝ|р by the literal in the unit clause, (b,¬c) i.e., generate (ѝ ) |р |¬x C ¬C Unit propagation is the iterative application of this Ӎ (a,b,c) simplification until the resultant theory has no unit b ¬b (a,b,c) clauses (or contains the empty clause). (¬a,b,c),(¬b, c) a a (¬a,b,c),(¬b, c) (a,¬b,¬c) (More powerful forms of propagation examined (a,¬b,¬c ڗ in Bacchus (2002) (¬a,¬b,¬c) (¬a,¬b,¬c) (b,¬c) (b,¬c) 9/15/2005 Fahiem Bacchus 31 9/15/2005 Fahiem Bacchus 32 (a,b,c) DPLL DPLL (¬a,b,c),(¬b, c) () Every DPLL proof contains an tree ڗ (a,¬b,¬c) (¬a,¬b,¬c) C (¬C) ¬C (C) resolution, and thus it can never be (b,¬c) shorter than an tree resolution b: (b,¬c) (¬b,¬c) ¬b: (¬b, c) (b,c) refutation.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    29 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us