
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.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages29 Page
-
File Size-