1 / 20

Searching for Autarkies to Trim Unsatisfiable Clause Sets

Searching for Autarkies to Trim Unsatisfiable Clause Sets. Mark H. Liffiton and Karem A. Sakallah University of Michigan {liffiton, karem}@eecs.umich.edu May 12, 2008. Autarkies. Autarky: Self-sufficiency, Independence.

Download Presentation

Searching for Autarkies to Trim Unsatisfiable Clause Sets

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. Searching for AutarkiestoTrim Unsatisfiable Clause Sets Mark H. Liffiton and Karem A. Sakallah University of Michigan {liffiton, karem}@eecs.umich.edu May 12, 2008

  2. Autarkies Autarky: Self-sufficiency, Independence. A partial assignment satisfying all clauses containing one of the assigned variables. (a)(¬a  b)(¬a  ¬b)(¬b  c)(d  e)(¬d  ¬e) (a)(¬a  b)(¬a  ¬b)(¬b c)(de)(¬d ¬e) c: TRUE d: TRUE e: FALSE In this talk: “Autarky” = the satisfied clauses.

  3. Autarkies and Infeasibility • Autarkies are disjoint from any clauses involved with the infeasibility of an instance. • (Resolution proofs, minimal unsatisfiable subsets, etc.) (a)(¬a  b)(¬a  ¬b)(¬b  c)(d  e)(¬d  ¬e) (a)(¬a  b)(¬a  ¬b)(¬b c)(de)(¬d ¬e) Minimal Unsatisfiable Subset (MUS); Leaves of any resolution refutation. Autarky [O. Kullmann. Investigations on autark assignments. Discrete Applied Mathematics, 107(1-3):99–137, 2000.]

  4. Outline • Introduction • Previous work • Encoding MaxAutarky to SAT Optimization • Comparison to previous work • Autarkies in industrial instances • Trimming autarkies • Conclusion

  5. Previous Work • Early work used autarkies within SAT algorithms (Monien and Speckenmeyer, Van Gelder) • Dealt mainly with "conditional autarkies“ • Not developed for finding maximal autarkies • This work is motivated mainly by Kullmann's work on autarkies • Showed that clauses in a formula are partitioned into 1) the maximal autarky and2) clauses in any resolution proof • Developed an algorithm for MaxAutarky based on this concept

  6. (¬a  b) (b) (a) Т (¬b) (¬a  ¬b) Previous Work: Finding Autarkies • Kullmann’s method for MaxAutarky Given a formula F: • If F is SAT, return the satisfying assignment. • Form a resolution refutation, T, of F. • Remove variables in T from F. • Goto 1. 1. : UNSAT (a)(¬a  b)(¬a  ¬b)(¬b  c)(d  e)(¬d  ¬e) {a,b} c=TRUE d=TRUE e=FALSE 2. 3. 1. SAT (c)(d  e)(¬d  ¬e) [O. Kullmann. On the use of autarkies for satisfiability decision. (SAT-2001), pages 231–253.]

  7. An Encoding to SAT • Deciding whether a formula has an autarky is NP-complete, thus it can be reduced to SAT. • A SAT encoding turns MaxAutarky into a SAT optimization problem. • Our MaxAutarky algorithm “Sifter”: • Instrument CNF with extra variables that enable/disable variables and clauses. • Variables and clauses enabled in a satisfying assignment indicate an autark assignment. • Maximize enabled clauses to find maximal autarky.

  8. An Encoding to SAT • Replace literals with literal substitutes: • Add clause-selector variables: • Link literal substitutes to variable-selectors: • Link clause-selectors with variable-selectors: (a)(¬a  b)(¬a  ¬b)(¬b  c)(d  e)(¬d  ¬e) (a1)(a0b1)(a0b0)(b0c1)(d1e1)(d0e0) (¬y1a1)(¬y2a0 b1)(¬y3a0 b0) . . . (¬y1 a1)(¬y2 a0 b1)(¬y3 a0 b0) . . . (a1 = a  a+) (a0 = ¬a  a+) (b1 = b  b+) (b0 = ¬b  b+) . . . (¬y1 a1)(¬y2 a0 b1)(¬y3 a0 b0) . . . (a1 = a  a+) (a0 = ¬a  a+) (b1 = b  b+) (b0 = ¬b  b+) . . . (a+ y1)(a+ y2)(a+ y3) . . . (e+ y5)(e+ y6)

  9. An Encoding to SAT, Optimization • Objective: Maximize ∑yi • Solved incrementally using a sliding objective • Implemented with AtMost constraints AtMost({l1,l2,…,ln},k) = ∑ assign(li) ≤ k • Employs a single incremental search,exploiting common SAT techniques. (¬y1 a1)(¬y2 a0 b1)(¬y3 a0 b0) . . . (a1 = a  a+) (a0 = ¬a  a+) (b1 = b  b+) (b0 = ¬b  b+) . . . (a+ y1)(a+ y2)(a+ y3) . . . (e+ y5)(e+ y6)

  10. Removing Pure Literals • Pure literals: Variables appearing in one polarity (pos./neg.) throughout a formula. • Pure literal = [partial] autark assignment • First steps for MaxAutarky: • Scan for and remove clauses w/ pure literals • Repeat until no pure literals remain (a)(¬a  b)(¬a  ¬b)(¬b c)(d  e)(¬d  ¬e)

  11. Comparison: Experimental • “Scraper” (Kullmann’s MaxAutarky) vs “Sifter” • Both use same pure literal code (C++) • Scraper • Perl script • Calls zchaff and zverify_df(zchaff.64bit.2007.3.12) • Measured CPU time (excludes I/O time) • Sifter • C++ • Built on MiniSAT v.1.12b

  12. Comparison: Experimental 1000 600 sec. timeout Benz 100 Miter Dimacs nPipe 10 BMC:Barrel BMC:Longmult 1 BMC:Queueinvar Sifter (seconds) 0.1 0.01 0.001 0.0001 0.0001 0.001 0.01 0.1 1 10 100 1000 Scraper (seconds) 600 sec. timeout

  13. Autarkies in Industrial Instances

  14. Comparison: Qualitative • Both are built around standard SAT solvers, picking up advances as they are made • The encoding used in Sifter is a simple base for future work (e.g., local search) • Sifter is an anytime algorithm • Sifter can be easily modified to find approximations (modify the optimization technique)

  15. Trimming Autarkies as Preprocessing • Remove independent portions independent before analyzing infeasibility • Only possibly useful in cases where complexity of MaxAutarky is less than that of the analysis. • No: Single US, Single MUS • Yes: Smallest MUS, All MUSes • Tested on “Benz” instances (manageable size, substantial autarkies)

  16. Trimming Autarkies for SMUS 1000 600 sec. timeout 100 10 Autarkies trimmed (seconds) 1 0.1 0.01 0.01 0.1 1 10 100 1000 Without trimming autarkies (seconds)

  17. Trimming Autarkies for CAMUS (phase 1) 1000 600 sec. timeout 100 10 Autarkies trimmed (seconds) 1 0.1 0.01 0.01 0.1 1 10 100 1000 Without trimming autarkies (seconds)

  18. Conclusion • Novel encoding of MaxAut to SAT • Experimental evaluation of Autarky algorithms • Investigating autarkies for several industrial benchmarks • Investigation of trimming autarkies for infeasibility analysis

  19. Thank you Mark Liffiton liffiton@eecs.umich.edu www.eecs.umich.edu/~liffiton/

  20. CAMUS • Compute All Minimal Unsatisfiable Subsets • Finds all MCSes of a constraint system • Computes minimal hitting sets of the MCSes Constraints CAMUS Compute MinimalHitting Sets Find MCSes MCSes All MUSes

More Related