1 / 33

Methods for SAT- a Survey

Methods for SAT- a Survey. Robert Glaubius CSCE 976 May 6, 2002. SAT: Outline. Definitions Solving SAT Testing SAT Attempted Contribution Conclusions. SAT: The Propositional Satisfiability Problem. Given:  , a predicate in CNF, e.g.,

mikkel
Download Presentation

Methods for SAT- a Survey

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. Methods for SAT- a Survey Robert Glaubius CSCE 976 May 6, 2002

  2. SAT: Outline • Definitions • Solving SAT • Testing SAT • Attempted Contribution • Conclusions

  3. SAT: The Propositional Satisfiability Problem • Given: , a predicate in CNF, e.g.,  = (a1a2)  (a2  ¬a3)  (a1 ¬a2a3) • Question: does a model of  exist?

  4. SAT: Definitions • Variable: ai • Literal:  = aior¬ai • Clause: (ij... n) = (a1a2)  (a2  ¬a3)  (a1 ¬a2a3)

  5. SAT: Outline • Definitions • Solving SAT • Testing SAT • Attempted Contribution • Conclusions

  6. SAT: Solution methods • Systematic search: • SATO [Zhang, 1993] • Satz [Li and Ambulagan, 1997] • Chaff [Moskewicz, et al., 2001] • Stochastic search: • GSAT [Selman et al., 1992] • walkSAT [Selman et al., 1996]

  7. SAT: Systematic Search I • Davis-Putnam procedure  Satz, Sato, Chaff • Splitting and unit propagation  = aiand  = ¬ai

  8. SAT: Systematic Search II • Splitting and unit propagation:  = a2  (a1a2)  (a2  ¬a3)  (a1 ¬a2a3)  unit_propagate() (a1a3) • (a1a2), (a2  ¬a3) subsumed by a2 • (a1 ¬a2a3)  (a1a3)

  9. SAT: Systematic Search III Heuristics and Hacks • SATO: Splitting heuristics • Satz: More Splitting heuristics • Chaff: Squeaky clean implementation

  10. SAT: Stochastic Search • Selection Heuristics: mechanisms for variable selection • Random restart: • Restart • Move • Walk

  11. SAT: Stochastic Search - GSAT procedure GSAT begin fori = 1 to MAX-TRIES T = a randomly generated truth assignment forj = 1 to MAX-FLIPS ifT satisfies then return T p = variable s.t. flip(p) maximizes satisfied clauses T = T after flip(p) end for end for return “fail” end

  12. SAT: Stochastic Search - WalkSAT procedure WalkSAT begin T = a randomly generated truth assignment for i = 1 to MAX-TRIES ifT satisfies then return T k = random unsatisfied clause p = variable in k s.t. flip(p) maximizes satisfied clauses ifflip(p) does not unsatisfy any clause thenT = T after flip(p) elsej = a random number in [0,1] ifj > 0.5 then flip(p) elseT = T after flip(q), where q is a random variable in k end for end

  13. SAT: Outline • Definitions • Solving SAT • Testing SAT • Attempted Contribution • Conclusions

  14. SAT: Algorithm Verification • Benchmark problems – planning, verification • International Competition and Symposium on Satisfiability Testing • SAT2002 Competetion • Random problems • naïve random generation • ‘structured’ random problems, QCP [Selman and Gomes, 1997] • QWH, [Achlioptas et al., 2000]

  15. SAT: Random Generation - Naïve • Generate n clauses with 1..l variables per clause drawn from a pool of k variables. • Does not guarantee satisfiability • Requires filtering of instances by slower, systematic means

  16. Digression I: Latin Square Latin Square: a configuration of n symbols in ncolumns and n rows s.t. each symbol occurs exactly once in each row and each column. Rhetorical Question: “If we had a table that was only partially filled, can we make it a Latin Square?” This turns out to be an NP-complete problem

  17. SAT: Random Generation – QCP • Quasigroup completion problem • Fill some percentage of squares in an nn matrix and try to complete the quasigroup (latin square). • Does offer a structured random problem • Doesn’t guarantee a solution

  18. SAT: Random Generation – QWH I • Quasigroup with Holes • Start with a randomly generated completed latin square, then poke random holes in it. • Does offer a structured problem • Does have at least one solution

  19. SAT: Random Generation – QWH II • Improvement: balanced QWH • Instead of random holes, specify a set number for each row and column But how do we make a random latin square?

  20. Digression II: Random Latin Squares Jacobsen and Matthews (1996) identify a set of moves that translate an ordern Latin Square into a new Latin square, and prove that these moves connect the space of all order n Latin Squares. Iterated random application of these moves allows us to randomly select new squares.

  21. Digression III: Encoding the Square I • Exactly one symbol per cell (aijbij...nij)(¬aij¬bij)(¬aij¬cij)...(¬mij¬nij) • Exactly one occurrence of sin row r (sr1sr2...srn)(¬sr1¬sr2)(¬sr1¬sr3)...(¬srn-1¬srn) • Exactly one occurrence of sin column c (s1cs2c...snc)(¬s1c¬s2c)(¬s1c¬s3c)...(¬sn-1c¬snc)

  22. Digression III: Encoding the Square II • Conjoin the appropriate positive literal for each preassigned cell • How much space does this cost us? n3variables 1.5n4- 1 .5n3 + 3n2 clauses

  23. SAT: Outline • Definitions • Solving SAT • Testing SAT • Attempted Contribution • Conclusions

  24. SAT: Return to Stochastic Search • Premise: WalkSAT uses a random start • What if we can derive us a heuristic that can give us a better start frequently? • Systematic MoM’s heuristic: Most occurrences in clauses of minimum length. • Another rhetorical question: “Can we adapt this to stochastic search?”

  25. SAT: ANP heuristic I Given:  = (a1a2)  (a2 ¬a3)  (a1¬a2a3) • What is the P(ai=  | )? • The only way to evaluate this is by finding all models. • Is P(ai=  | ) approximable?

  26. SAT: ANP heuristic II • Given k =(a2 ¬a3), we define P(ai=  | kj). • P(a2= True| k ) = 0.67, since a2is true in 2 models of k • P(a2= True| k ) = 0.33, since a2is true in 1 models of k • Approximate P(ai=  | )  jP(ai=  | kj ) • Normalize P(ai=  | ) + P(ai= ¬ | ) = 1

  27. SAT: ANP heuristic III • = (a1a2)  (a2 ¬a3)  (a1¬a2a3) P(a1= True | )  0.73, P(a1= False | )  0.27 P(a2= True | )  0.75, P(a2= False | )  0.25 P(a3= True | )  0.40, P(a3= False | )  0.60

  28. SAT: ANP heuristic IV • ANP heuristic: choose the initial assignment with maximum approximate normalized probability   a1 = True, a2 = True, and a3 = False • This assignment is in fact a model of 

  29. SAT: Experiment design • Four benchmark problems from the 1996 International Competition and Symposium on Satisfiability Testing - hardware verification • Three order 15 balanced QWH problems • 3, 4, 5 holes per row, column • WalkSat solver

  30. SAT: Results • 100 trial runs per problem • 3 Initial Assignment types • - ANP • - Random • - Default (all False) We didn’t do so well

  31. SAT: Conclusions • Based on our initial experiments, stochastic solvers are harmed by heuristics. • Quasigroup-based problems are likely to be the exception; most variables are false in a model. • More tests are needed; possible domain dependence

  32. SAT: Outline • Definitions • Solving SAT • Testing SAT • Attempted Contribution • Conclusions

  33. Questions, Comments, Insults? www.animatedengineering.com/ animal_pages/duck.htm

More Related