Searching for Autarkies to Trim Unsatisfiable Clause Sets Mark H. Liffiton and Karem A. Sakallah...
-
date post
20-Dec-2015 -
Category
Documents
-
view
215 -
download
1
Transcript of Searching for Autarkies to Trim Unsatisfiable Clause Sets Mark H. Liffiton and Karem A. Sakallah...
Searching for Autarkiesto
Trim Unsatisfiable Clause Sets
Mark H. Liffiton and Karem A. Sakallah
University of Michigan
{liffiton, karem}@eecs.umich.edu
May 12, 2008
2
(a)(¬a b)(¬a ¬b)(¬b c)(d e)(¬d ¬e)(a)(¬a b)(¬a ¬b)(¬b c)(d e)(¬d ¬e)(a)(¬a b)(¬a ¬b)(¬b c)(d e)(¬d ¬e)(a)(¬a b)(¬a ¬b)(¬b c)(d e)(¬d ¬e)
c: TRUEd: TRUEe: 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
(a)(¬a b)(¬a ¬b)(¬b c)(d e)(¬d ¬e)(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)(a)(¬a b)(¬a ¬b)(¬b c)(d e)(¬d ¬e)
AutarkyMinimal Unsatisfiable Subset (MUS);
Leaves of any resolution refutation.
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
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 MaxAutarkyGiven 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 c)(d e)(¬d ¬e)
(a)
(¬a b)
(¬a ¬b)
(¬b)
(b) Т
{a,b}
(c)(d e)(¬d ¬e)(c)(d e)(¬d ¬e)
c=TRUE d=TRUE e=FALSE
2. 3. 1. SAT
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
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)(¬a b)(¬a ¬b)(¬b c)(d e)(¬d ¬e)
(a1)(a0 b1)(a0 b0)(b0 c1)(d1 e1)(d0 e0)(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) . . .
(¬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+) . . .
(¬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)
(¬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)
(¬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: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)(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
0.0001
0.001
0.01
0.1
1
10
100
1000
0.0001 0.001 0.01 0.1 1 10 100 1000
Scraper (seconds)
Sift
er (
seco
nds)
Benz
Miter
Dimacs
nPipe
BMC:Barrel
BMC:Longmult
BMC:Queueinvar
600 sec.timeout
600 sec.timeout
13
Autarkies in Industrial InstancesFamily Variables Clauses |autarky|
min max min max min max
Benz 1,513 1,891 4,013 9,957 2,097 7,025
Miter 1,266 17,303 1,027 34,238 1 1,831
Dimacs 389 7,767 1,115 20,812 0 0
nPipe 861 15,469 6,695 394,739 0 0
BMC:Barrel 50 8,903 159 36,606 0 0
BMC:Longmult 437 7,807 1,206 24,351 2 2
BMC:Queueinvar 116 2,435 399 20,671 0 0
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
0.01
0.1
1
10
100
1000
0.01 0.1 1 10 100 1000
Without trimming autarkies (seconds)
Au
tark
ies
trim
me
d (
seco
nd
s)
600 sec.timeout
17
Trimming Autarkies for CAMUS (phase 1)
0.01
0.1
1
10
100
1000
0.01 0.1 1 10 100 1000
Without trimming autarkies (seconds)
Au
tark
ies
trim
me
d (
seco
nd
s)
600 sec.timeout
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
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 MCSes MCSesCompute Minimal
Hitting Sets
All MUSes
CAMUS