shatter: efficient symmetry- breaking for boolean satisfiability fadi a. aloul igor l. markov, karem...
Post on 21-Dec-2015
225 views
TRANSCRIPT
![Page 1: Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan](https://reader037.vdocuments.mx/reader037/viewer/2022110207/56649d625503460f94a454b5/html5/thumbnails/1.jpg)
Shatter: Efficient Symmetry-Breaking for Boolean Satisfiability
Fadi A. AloulIgor L. Markov, Karem A. Sakallah
The University of Michigan
![Page 2: Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan](https://reader037.vdocuments.mx/reader037/viewer/2022110207/56649d625503460f94a454b5/html5/thumbnails/2.jpg)
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.
InstanceChaff – Search runtime (sec)
OriginalWith symmetry-
breaking
Hole12.cnf >1000 0.02
![Page 3: Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan](https://reader037.vdocuments.mx/reader037/viewer/2022110207/56649d625503460f94a454b5/html5/thumbnails/3.jpg)
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
![Page 4: Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan](https://reader037.vdocuments.mx/reader037/viewer/2022110207/56649d625503460f94a454b5/html5/thumbnails/4.jpg)
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)
![Page 5: Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan](https://reader037.vdocuments.mx/reader037/viewer/2022110207/56649d625503460f94a454b5/html5/thumbnails/5.jpg)
Symmetries in Search Space
SAT Solver
SAT assignments
![Page 6: Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan](https://reader037.vdocuments.mx/reader037/viewer/2022110207/56649d625503460f94a454b5/html5/thumbnails/6.jpg)
Symmetries in Search Space
SAT Solver
Classes of symmetric truth assignments
![Page 7: Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan](https://reader037.vdocuments.mx/reader037/viewer/2022110207/56649d625503460f94a454b5/html5/thumbnails/7.jpg)
Symmetries in Search Space
SAT Solver
Classes of symmetric truth assignments
![Page 8: Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan](https://reader037.vdocuments.mx/reader037/viewer/2022110207/56649d625503460f94a454b5/html5/thumbnails/8.jpg)
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)
Dete
ct
Sym
metr
ies
Bre
ak
Sym
metr
ies
![Page 9: Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan](https://reader037.vdocuments.mx/reader037/viewer/2022110207/56649d625503460f94a454b5/html5/thumbnails/9.jpg)
Symmetry Detection and Breaking Flow
CNF instance
Colored Graph
Graph Automorphism Toole.g. GAP/Nauty
Graph Symmetries
Preprocessed CNF instance
SAT Solver
CNF Symmetries
Dete
ct
Sym
metr
ies
Bre
ak
Sym
metr
ies
= (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)
![Page 10: Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan](https://reader037.vdocuments.mx/reader037/viewer/2022110207/56649d625503460f94a454b5/html5/thumbnails/10.jpg)
Outline
Basic definitions Symmetry-Breaking Predicate
(SBP) construction by Crawford et al.
Efficient SBP constructions Experimental results Conclusions
![Page 11: Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan](https://reader037.vdocuments.mx/reader037/viewer/2022110207/56649d625503460f94a454b5/html5/thumbnails/11.jpg)
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
![Page 12: Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan](https://reader037.vdocuments.mx/reader037/viewer/2022110207/56649d625503460f94a454b5/html5/thumbnails/12.jpg)
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
![Page 13: Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan](https://reader037.vdocuments.mx/reader037/viewer/2022110207/56649d625503460f94a454b5/html5/thumbnails/13.jpg)
Linear-Sized PPs
)()()(1 11
iini ij
jj xxxxPP
Let , )( iii xxl )(
iii xxg
Introduce bit predicates :npp ,,1 11 iiii plgp
1p2p
np1np
0g1g
1ngnl3p
2l 1l
PP() size:4n clauses14n literals
PP() size:5n clauses
0.5n2 + 13.5n literals
)())(()( 1121011 nnnn plgpplgppPP 11 np10 g
![Page 14: Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan](https://reader037.vdocuments.mx/reader037/viewer/2022110207/56649d625503460f94a454b5/html5/thumbnails/14.jpg)
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
0g1g
1ngnl3p
2l 1l
1x
![Page 15: Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan](https://reader037.vdocuments.mx/reader037/viewer/2022110207/56649d625503460f94a454b5/html5/thumbnails/15.jpg)
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
![Page 16: Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan](https://reader037.vdocuments.mx/reader037/viewer/2022110207/56649d625503460f94a454b5/html5/thumbnails/16.jpg)
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
1p
0g
![Page 17: Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan](https://reader037.vdocuments.mx/reader037/viewer/2022110207/56649d625503460f94a454b5/html5/thumbnails/17.jpg)
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
![Page 18: Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan](https://reader037.vdocuments.mx/reader037/viewer/2022110207/56649d625503460f94a454b5/html5/thumbnails/18.jpg)
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
0g1g
1ngnl3p
2l 1l
![Page 19: Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan](https://reader037.vdocuments.mx/reader037/viewer/2022110207/56649d625503460f94a454b5/html5/thumbnails/19.jpg)
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
![Page 20: Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan](https://reader037.vdocuments.mx/reader037/viewer/2022110207/56649d625503460f94a454b5/html5/thumbnails/20.jpg)
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
![Page 21: Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan](https://reader037.vdocuments.mx/reader037/viewer/2022110207/56649d625503460f94a454b5/html5/thumbnails/21.jpg)
Experimental Results
Find (sec) #Sym #Gen %RBhole11 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
% ofbits thatmap to
themselves
Generators consisted of cycles of size 2
only
![Page 22: Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan](https://reader037.vdocuments.mx/reader037/viewer/2022110207/56649d625503460f94a454b5/html5/thumbnails/22.jpg)
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
![Page 23: Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan](https://reader037.vdocuments.mx/reader037/viewer/2022110207/56649d625503460f94a454b5/html5/thumbnails/23.jpg)
Experimental Results
Quadratic construction
Linear construction
All-bits
Tautology-Free
All-bits
Tautology-Free
Var 120K 8.6K 120K 8.6K
Cl 599K 44K 478K 34K
Lit 36M 404K 1.7M 119K
Total size of generator-only SBPs using various SBP constructions
![Page 24: Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan](https://reader037.vdocuments.mx/reader037/viewer/2022110207/56649d625503460f94a454b5/html5/thumbnails/24.jpg)
Experimental Results
Total 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
To
tal s
ea
rch
tim
e (
se
c)
![Page 25: Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan](https://reader037.vdocuments.mx/reader037/viewer/2022110207/56649d625503460f94a454b5/html5/thumbnails/25.jpg)
Experimental Results
SBPCandidates
# Perm.
SBP SizeSolve time#Var #Cl #Lit
Generators 372 8.6K 34K 119K 3.4
Generators & 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
![Page 26: Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan](https://reader037.vdocuments.mx/reader037/viewer/2022110207/56649d625503460f94a454b5/html5/thumbnails/26.jpg)
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/
![Page 27: Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan](https://reader037.vdocuments.mx/reader037/viewer/2022110207/56649d625503460f94a454b5/html5/thumbnails/27.jpg)
Thank You!