Post on 11-Feb-2016
description
Shatter: Efficient Symmetry-Breaking for Boolean Satisfiability
Fadi A. AloulIgor L. Markov, Karem A. Sakallah
The University of Michigan
Motivation … Many powerful SAT solvers are currently
available Yet, many EDA instances remain hard to
solve Recent work pointed out that breaking
symmetries can speed up search E.g.Instance
Chaff – Search runtime (sec)Original With symmetry-
breakingHole12.cnf >1000 0.02
Previous Work In 1996, Crawford et al.:
Laid theoretical foundation for detecting and breaking symmetries in CNF formulas
In 2002, Aloul et al.: Extended the framework to handle
phase shift symmetries and their composition with permutational symmetries
Symmetries in SAT Permutations of variables that preserve
clauses e.g., symmetries of
= (a + b + c)(d + e + f)
include:Permutation Formula
(ab) (b + a + c)(d + e + f)
(ad)(be)(cf) (d + e + f)(a + b + c)
Symmetries in Search Space
SAT Solver
SAT assignments
Symmetries in Search Space
SAT Solver
Classes of symmetric truth assignments
Symmetries in Search Space
SAT Solver
Classes of symmetric truth assignments
Symmetry Detection and Breaking Flow
CNF instance
Colored Graph
Graph Automorphism Toole.g. GAP/Nauty
Graph Symmetries
Preprocessed CNF instance
SAT Solver
CNF Symmetries
= (a+b)(b+c)(c+a)
a b c
c’ b’
a’
1 = (ab)(a’b’)2 = (bc)(b’c’)
= (a+b)(b+c)(c+a) (a’+b)(b’+c)
Det
ect
Sym
met
ries
Brea
kSy
mm
etri
es
Symmetry Detection and Breaking Flow
CNF instance
Colored Graph
Graph Automorphism Toole.g. GAP/Nauty
Graph Symmetries
Preprocessed CNF instance
SAT Solver
CNF Symmetries
Det
ect
Sym
met
ries
Brea
kSy
mm
etri
es
= (a+b)(b+c)(c+a)
a b c
c’ b’
a’
1 = (ab)(a’b’)2 = (bc)(b’c’)
= (a+b)(b+c)(c+a) (a’+b)(b’+c)
Outline Basic definitions Symmetry-Breaking Predicate
(SBP) construction by Crawford et al.
Efficient SBP constructions Experimental results Conclusions
Permutations and Generators Number of symmetries can be exponentially large Represent the group of symmetries implicitly Elementary group theory proves:
If redundant generators are avoided A group with N elements can be represented
by at most log2(N) generators Generators provide exponential compression of
solution space
GeneratorsAll Permutations
Full Symmetry Breaking Lex-leader formula [Crawford et al. 96]:
Given a group of symmetries defined over totally-ordered variables :
For each symmetry , construct a permutation predicate :
)()()(1 11
iini ij
jj xxxxPP
nxxx 21
},,{ 1 m
)(PP
Image of variable
xi under
Introduce auxiliary variables )(
jjj xxe
PP() size:5n clauses
0.5n2 + 13.5n literals
Linear-Sized PPs)()()(
1 11
iini ij
jj xxxxPP
Let , )( iii xxl )(
iii xxg
Introduce bit predicates :npp ,,1 11 iiii plgp
1p2p
np1np
0g1g1ngnl
3p
2l 1l
PP() size:4n clauses14n literals
PP() size:5n clauses
0.5n2 + 13.5n literals
)())(()( 1121011 nnnn plgpplgppPP 11 np10 g
Linear-Sized Tautology-Free PPs Variables that map to themselves (i.e. )
lead to:
Assume maps to itself:1)(
iii xxl 1)( iii xxg
ii xx
1p2p
np1np
0g1g1ngnl
3p
2l 1l
1x
Linear-Sized Tautology-Free PPs Variables that map to themselves (i.e. )
lead to:
Assume maps to itself:1)(
iii xxl 1)( iii xxg
ii xx
1p2p
np1np
0g1
1ngnl3p
2l 1
1x
Linear-Sized Tautology-Free PPs Variables that map to themselves (i.e. )
lead to:
Assume maps to itself:1)(
iii xxl 1)( iii xxg
ii xx
np1np
1ngnl3p
2l
1x
1p0g
Linear-Sized Tautology-Free PPs Variables that map to themselves (i.e. )
lead to:
Assume maps to itself:1)(
iii xxl 1)( iii xxg
ii xx
np1np
1ngnl
1x
3p1p
0g2l
Partial Symmetry-Breaking (1) Full symmetry breaking may not speed up
search because: Exponential number of symmetries Their SBPs may be redundant
Partial symmetry breaking provides a better trade-off
Consider first k-variables from each permutation e.g. if k=1
1p2p
np1np
0g1g1ngnl
3p
2l 1l
Partial Symmetry-Breaking (1) Full symmetry breaking may not speed up
search because: Exponential number of symmetries Their SBPs may be redundant
Partial symmetry breaking provides a better trade-off
Consider first k-variables from each permutation e.g. if k=1
1p2p
0g1l
np1np
1g1ngnl
3p
2l
Group of symmetries
Partial Symmetry-Breaking (2) Instead of breaking all symmetries, break only:
Generators Generators and their powers Generators and their pair-wise compositions
Generators
Generators & their powers
Generators & their
compositions
Experimental ResultsFind (sec) #Sym #Gen %RB
hole11 0.09 1.91E+16 21 83hole12 0.12 2.98E+18 23 84Urq3_4 0.1 5.24E+05 19 97Urq3_9 0.04 1.05E+06 20 97s3-3-3-3 8.92 6.97E+10 29 95s3-3-3-8 6.95 3.48E+10 28 95fpga13_10 0.25 1.90E+17 28 88fpga13_12 0.81 9.01E+20 32 89chnl11_13 0.96 1.24E+35 45 90chnl11_20 4.48 1.89E+52 59 92xor1_32 0.17 4.29E+09 32 99xor1_36 0.34 6.87E+10 36 99Total 23 1.89E+52 372 --
Symmetry StatisticsInstance% of
bits thatmap to
themselves
Generators consisted of cycles of size 2
only
Experimental Results*
All-bits Taut-free All-bits Taut-freehole11 218.63 5.43 0.03 3.52 0.02hole12 1000 11 0.04 8.65 0.02Urq3_4 0.85 0.16 0.01 0.08 0.01Urq3_9 12.8 0.05 0.01 0.02 0.01s3-3-3-3 44.4 200 2.85 65.3 0.5s3-3-3-8 21.3 141 2.61 138 0.93fpga13_10 1000 517 0.09 7.7 0.03fpga13_12 1000 1000 0.08 25.8 0.05chnl11_13 788 882 0.16 108.1 0.05chnl11_20 1000 1000 0.3 92.6 0.09xor1_32 830 12.6 1.7 1.73 1.7xor1_36 938 0.61 0.01 0.1 0.01Total 6854 3770 7.9 452 3.4
Chaff Runtime (sec)Quadratic construction Linear constructionInstance
Original
Crawford et al.
‘96
Aloul et al. ‘02
* Break generators only
Experimental Results
Quadratic construction
Linear construction
All-bits
Tautology-Free
All-bits
Tautology-Free
Var 120K 8.6K 120K 8.6KCl 599K 44K 478K 34KLit 36M 404K 1.7M 119K
Total size of generator-only SBPs using various SBP constructions
Experimental ResultsTotal search runtimes for all instances when only
k bits are considered from each generator(using linear tautology-free construction)
1
10
100
1000
10000
1 10 100
# of bits considered in each permutation
Tota
l sea
rch
time
(sec
)
Experimental Results
SBPCandidates
# Perm.
SBP Size Solve time#Var #Cl #Lit
Generators 372 8.6K 34K 119K 3.4Generators
& their Powers
372 8.6K 34K 119K 3.4
Generators &
their Comp.5402 326K 1.3M 4.5M 29
SBP statistics for various symmetry-breaking candidatesusing linear tautology-free construction
Conclusions Introduced more efficient CNF
constructions of symmetry-breaking predicates
Constructions lead to: Empirical speedups Smaller memory requirements
Described options for partial symmetry-breakinghttp://vlsicad.eecs.umich.edu/BK/Slots/
shatter/
Thank You!