1 / 27

Generating Hard Satisfiability Problems

Generating Hard Satisfiability Problems. Bart Selman, David Mitchell, Hector J. Levesque Presented by Xiaoxin Yin. Can SAT be solved in polynomial time in average case?. In Goldberg’s paper [Goldberg ‘79] it is claimed that SAT can be solved “on average” in polynomial time.

ulema
Download Presentation

Generating Hard Satisfiability Problems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Generating Hard Satisfiability Problems Bart Selman, David Mitchell, Hector J. Levesque Presented by Xiaoxin Yin Generating Hard Satisfiability Problems

  2. Can SAT be solved in polynomial time in average case? • In Goldberg’s paper [Goldberg ‘79] it is claimed that SAT can be solved “on average” in polynomial time. • Goldberg’s model of generating formulas • m clauses, n variables, each literal has probability p to be in each clause • Is SAT really easy? Generating Hard Satisfiability Problems

  3. Can SAT be solved in polynomial time in average case? • Goldberg’s SAT formulas are easy to solve [Franco & Paull ‘83] • Theorem 1: Number of truth assignments for a formula is greater than 2n(1-ε) with probability 1 • Theorem 2: By randomly guessing truth assignments w times, Pr(success)=1 – m/(2αnw) assume each clause has at least αr literals Generating Hard Satisfiability Problems

  4. K-SAT is a harder problem • K-SAT: each clause has K literals Generating Hard Satisfiability Problems

  5. Problem Definition of K-SAT • Generate formulas of • N variables • K literals per clause (K = 3 in this paper) • M clauses • To generate a clause • Randomly choose K distinct variables • Negate each with probability 0.5 • Generate formulas with certain ratio of clauses-to-variables Generating Hard Satisfiability Problems

  6. DP Procedure • DP: a backtracking depth-first search in the space of all truth assignments • Procedure DP • Given a set of clauses Σ defined over a set of variables V • Set the value of a variable v and call DP on the simplified formula • If this call returns “satisfiable”, then return “satisfiable” • Set v to the opposite value, return the result of calling DP on the re-simplified formula Generating Hard Satisfiability Problems

  7. Three Common Rules for DP • The unit clause rule • If a clause contains only one literal, set it to true • The pure literal rule • If a formula contains a literal but not its complement, set it to true • The smallest clause rule • If none of the above rules applies, set a variable in a smallest clause • The last two rules are not used in this paper Generating Hard Satisfiability Problems

  8. DP’s Performances on K-SAT • Ratio of clauses-to-variables significantly affects the hardness of formulas Generating Hard Satisfiability Problems

  9. Ratio of Clauses-to-variables vs. Computational Cost • Another example in [Mitchell & Levesque ‘96] Generating Hard Satisfiability Problems

  10. 50% Point • 50% point: given a certain N (# variables), the point that 50% of generated formulas are satisfiable • 50% point is stable w.r.t. ratio of clauses-to-variables Generating Hard Satisfiability Problems

  11. 50% Point – The Hardest Point (cont.) • 50% point is close to the location of peak hardness Generating Hard Satisfiability Problems

  12. Satisfiable vs. Unsatisfiable Formulas • Short formulas – under-constrained, have many satisfying assignments • Long formulas – over-constrained, contradictions can often be easily found Generating Hard Satisfiability Problems

  13. Finding All Satisfying Assignments or Contradiction • Let DP search the full space, until finding a contradiction • Given a set of variables • Ratio of clauses to variables increases → Search space decreases Generating Hard Satisfiability Problems

  14. Finding All Satisfying Assignments or Contradiction (cont.) • Computational cost of DP – monotonically decreases for increasing ratios of clauses to variables Generating Hard Satisfiability Problems

  15. Satisfiablity when ratio of clause-to-variable is small • Pure literal rule: if a formula contains a literal but not its complement • Set this literal to 1 • Remove all clauses containing this literal • For 3-CNF with up to 1.63n clauses, pure literal rule by itself finds satisfying assignments with high probability [Broder, Frieze & Upfal ‘93] Generating Hard Satisfiability Problems

  16. Satisfiablity when ratio of clause-to-variable is small • Smallest clause rule: • Choose a (random) literal in a (random) smallest clause • For 3-CNF with less than 3.003n clauses, by smallest clause rule one can find satisfying assignments with high probability [Frieze & Suen ‘92] • By “high probability” we mean Pr→ 1 as n → ∞ Generating Hard Satisfiability Problems

  17. Satisfiablity when ratio of clause-to-variable is large • When c>4.762, a random 3-SAT formula is unsatisfiable with high probability [Kamath et al ‘94]. • Some intuitions of proof: • Consider a certain assignment Z1, each clause is true with probability 7/8. • Let #F denote number of satisfying assignments on F. E[#F] = 2n(7/8)cn. • By Markov inequality, P[#F>0]≤E[#F]=(2∙(7/8)c)n • This probability is exponentially small when c > 5.191 Generating Hard Satisfiability Problems

  18. DP vs. Resolution • DP searches for satisfying assignments as well as contradictions • Resolution searches for contradictions • Some result about resolution • In k-SAT problems of cn clauses, when k≥ 3 and c2–k ≥ 0.7, with probability tending to 1 as n goes to infinity, a randomly chosen formula of cn clauses is unsatisfiable, but there exists ε>0 such that every resolution proof must generate at least (1+ε)n clauses [Chvatal & Reed ‘92] • c=5.6 when k=3 Generating Hard Satisfiability Problems

  19. Satisfiability for Different K • For a random formula Fk(n, cn) • ck = sup{ c : Fk(n, cn) is satisfiable with high prob} • ck*= inf{ c : Fk(n, cn) is unsatisfiable with high prob} • [Kirousis et al ‘98] ck* ≤ 2k ln2 – (1+ln2)/2 • [Achlioptas and Peres ‘03] ck = ck* (1 – o(1)) ck≥ 2k ln2 – (k+1)ln2/2 – 1 – δk (for a certain sequence δk→0) satisfiable undetermined unsatisfiable ck ck* Generating Hard Satisfiability Problems

  20. Satisfiability for Different K (cont.) • Lower and upper bounds for different K Generating Hard Satisfiability Problems

  21. K-SAT with different K’s • When K is larger → Higher satisfiability, larger search space when n is large Generating Hard Satisfiability Problems

  22. P-SAT with different K’s • Each variable has certain probability to appear in each clause • Each clause has K variables on average Generating Hard Satisfiability Problems

  23. Solving SAT by Local Search • [B. Selman et al ‘92] “A new method for solving hard satisfiability problems” • GSAT – greedily search in the space of assignments • GSAT algorithm Repeat for MAX-TRIES times randomly generate an assignment repeat for MAX-FLIPS times flip a variable to get largest increase in number of satisfied clauses Generating Hard Satisfiability Problems

  24. Solving SAT by Local Search (cont.) • Performance of GSAT • Drawback – cannot prove unsatisfiability Generating Hard Satisfiability Problems

  25. Thank you! Generating Hard Satisfiability Problems

  26. Additional Contents • Performances of other approaches for solving K-SAT are presented in [Larrabee & Tsuji ‘93], which shows similar results (easy-hard-easy pattern) Generating Hard Satisfiability Problems

  27. Solving 2-SAT in Linear Time • Choose a variable x and assign a value (e.g. x=1) • Remove all clauses that are true • Set values to all variables whose values are decided • Propagate in this way until nothing can be done • If contradiction happens, return false • A set of clauses are left that are independent with the removed ones • If these clauses are satisfiable, return true • Else return false Generating Hard Satisfiability Problems

More Related