Presentation is loading. Please wait.

Presentation is loading. Please wait.

Searching for Autarkies to Trim Unsatisfiable Clause Sets Mark H. Liffiton and Karem A. Sakallah University of Michigan {liffiton,

Similar presentations


Presentation on theme: "Searching for Autarkies to Trim Unsatisfiable Clause Sets Mark H. Liffiton and Karem A. Sakallah University of Michigan {liffiton,"— Presentation transcript:

1 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

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

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

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

5 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 and 2) clauses in any resolution proof Developed an algorithm for MaxAutarky based on this concept

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

7 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 8 An Encoding to SAT 1. Replace literals with literal substitutes: 2. Add clause-selector variables: 3. Link literal substitutes to variable-selectors: 4. Link clause-selectors with variable-selectors: (a)(¬a  b)(¬a  ¬b)(¬b  c)(d  e)(¬d  ¬e) (a 1 )(a 0  b 1 )(a 0  b 0 )(b 0  c 1 )(d 1  e 1 )(d 0  e 0 ) (¬y 1  a 1 )(¬y 2  a 0  b 1 )(¬y 3  a 0  b 0 )... (a 1 = a  a + ) (a 0 = ¬a  a + ) (b 1 = b  b + ) (b 0 = ¬b  b + )... (¬y 1  a 1 )(¬y 2  a 0  b 1 )(¬y 3  a 0  b 0 )... (a 1 = a  a + ) (a 0 = ¬a  a + ) (b 1 = b  b + ) (b 0 = ¬b  b + )... (a +  y 1 )(a +  y 2 )(a +  y 3 )... (e +  y 5 )(e +  y 6 )

9 9 An Encoding to SAT, Optimization Objective: Maximize ∑ y i Solved incrementally using a sliding objective Implemented with AtMost constraints AtMost({l 1,l 2,…,l n },k) = ∑ assign(l i ) ≤ k Employs a single incremental search, exploiting common SAT techniques. (¬y 1  a 1 )(¬y 2  a 0  b 1 )(¬y 3  a 0  b 0 )... (a 1 = a  a + ) (a 0 = ¬a  a + ) (b 1 = b  b + ) (b 0 = ¬b  b + )... (a +  y 1 )(a +  y 2 )(a +  y 3 )... (e +  y 5 )(e +  y 6 )

10 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: 1. Scan for and remove clauses w/ pure literals 2. Repeat until no pure literals remain (a)(¬a  b)(¬a  ¬b)(¬b  c)(d  e)(¬d  ¬e)

11 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 12 Comparison: Experimental 0.0001 0.001 0.01 0.1 1 10 100 1000 0.00010.0010.010.11101001000 Scraper (seconds) Sifter (seconds) Benz Miter Dimacs nPipe BMC:Barrel BMC:Longmult BMC:Queueinvar 600 sec. timeout 600 sec. timeout

13 13 Autarkies in Industrial Instances Family Variables Clauses |autarky| minmaxminmaxminmax Benz1,5131,8914,0139,9572,0977,025 Miter1,26617,3031,02734,23811,831 Dimacs3897,7671,11520,81200 nPipe86115,4696,695394,73900 BMC:Barrel508,90315936,60600 BMC:Longmult4377,8071,20624,35122 BMC:Queueinvar1162,43539920,67100

14 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 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 16 Trimming Autarkies for SMUS 0.01 0.1 1 10 100 1000 0.010.11101001000 Without trimming autarkies (seconds) Autarkies trimmed (seconds) 600 sec. timeout

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

18 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 20 CAMUS Compute All Minimal Unsatisfiable Subsets 1. Finds all MCSes of a constraint system 2. Computes minimal hitting sets of the MCSes Constraints Find MCSesMCSes Compute Minimal Hitting Sets All MUSes CAMUS


Download ppt "Searching for Autarkies to Trim Unsatisfiable Clause Sets Mark H. Liffiton and Karem A. Sakallah University of Michigan {liffiton,"

Similar presentations


Ads by Google