shatter : efficient symmetry-breaking for boolean satisfiability
DESCRIPTION
Shatter : Efficient Symmetry-Breaking for Boolean Satisfiability. Fadi A. Aloul Igor 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 - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Shatter : Efficient Symmetry-Breaking for Boolean Satisfiability](https://reader036.vdocuments.mx/reader036/viewer/2022062501/56815d8e550346895dcb9f84/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](https://reader036.vdocuments.mx/reader036/viewer/2022062501/56815d8e550346895dcb9f84/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.Instance
Chaff – Search runtime (sec)Original With symmetry-
breakingHole12.cnf >1000 0.02
![Page 3: Shatter : Efficient Symmetry-Breaking for Boolean Satisfiability](https://reader036.vdocuments.mx/reader036/viewer/2022062501/56815d8e550346895dcb9f84/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](https://reader036.vdocuments.mx/reader036/viewer/2022062501/56815d8e550346895dcb9f84/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](https://reader036.vdocuments.mx/reader036/viewer/2022062501/56815d8e550346895dcb9f84/html5/thumbnails/5.jpg)
Symmetries in Search Space
SAT Solver
SAT assignments
![Page 6: Shatter : Efficient Symmetry-Breaking for Boolean Satisfiability](https://reader036.vdocuments.mx/reader036/viewer/2022062501/56815d8e550346895dcb9f84/html5/thumbnails/6.jpg)
Symmetries in Search Space
SAT Solver
Classes of symmetric truth assignments
![Page 7: Shatter : Efficient Symmetry-Breaking for Boolean Satisfiability](https://reader036.vdocuments.mx/reader036/viewer/2022062501/56815d8e550346895dcb9f84/html5/thumbnails/7.jpg)
Symmetries in Search Space
SAT Solver
Classes of symmetric truth assignments
![Page 8: Shatter : Efficient Symmetry-Breaking for Boolean Satisfiability](https://reader036.vdocuments.mx/reader036/viewer/2022062501/56815d8e550346895dcb9f84/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)
Det
ect
Sym
met
ries
Brea
kSy
mm
etri
es
![Page 9: Shatter : Efficient Symmetry-Breaking for Boolean Satisfiability](https://reader036.vdocuments.mx/reader036/viewer/2022062501/56815d8e550346895dcb9f84/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
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)
![Page 10: Shatter : Efficient Symmetry-Breaking for Boolean Satisfiability](https://reader036.vdocuments.mx/reader036/viewer/2022062501/56815d8e550346895dcb9f84/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](https://reader036.vdocuments.mx/reader036/viewer/2022062501/56815d8e550346895dcb9f84/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](https://reader036.vdocuments.mx/reader036/viewer/2022062501/56815d8e550346895dcb9f84/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](https://reader036.vdocuments.mx/reader036/viewer/2022062501/56815d8e550346895dcb9f84/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
0g1g1ngnl
3p
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](https://reader036.vdocuments.mx/reader036/viewer/2022062501/56815d8e550346895dcb9f84/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
0g1g1ngnl
3p
2l 1l
1x
![Page 15: Shatter : Efficient Symmetry-Breaking for Boolean Satisfiability](https://reader036.vdocuments.mx/reader036/viewer/2022062501/56815d8e550346895dcb9f84/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](https://reader036.vdocuments.mx/reader036/viewer/2022062501/56815d8e550346895dcb9f84/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
1p0g
![Page 17: Shatter : Efficient Symmetry-Breaking for Boolean Satisfiability](https://reader036.vdocuments.mx/reader036/viewer/2022062501/56815d8e550346895dcb9f84/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](https://reader036.vdocuments.mx/reader036/viewer/2022062501/56815d8e550346895dcb9f84/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
0g1g1ngnl
3p
2l 1l
![Page 19: Shatter : Efficient Symmetry-Breaking for Boolean Satisfiability](https://reader036.vdocuments.mx/reader036/viewer/2022062501/56815d8e550346895dcb9f84/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](https://reader036.vdocuments.mx/reader036/viewer/2022062501/56815d8e550346895dcb9f84/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](https://reader036.vdocuments.mx/reader036/viewer/2022062501/56815d8e550346895dcb9f84/html5/thumbnails/21.jpg)
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
![Page 22: Shatter : Efficient Symmetry-Breaking for Boolean Satisfiability](https://reader036.vdocuments.mx/reader036/viewer/2022062501/56815d8e550346895dcb9f84/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](https://reader036.vdocuments.mx/reader036/viewer/2022062501/56815d8e550346895dcb9f84/html5/thumbnails/23.jpg)
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
![Page 24: Shatter : Efficient Symmetry-Breaking for Boolean Satisfiability](https://reader036.vdocuments.mx/reader036/viewer/2022062501/56815d8e550346895dcb9f84/html5/thumbnails/24.jpg)
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
)
![Page 25: Shatter : Efficient Symmetry-Breaking for Boolean Satisfiability](https://reader036.vdocuments.mx/reader036/viewer/2022062501/56815d8e550346895dcb9f84/html5/thumbnails/25.jpg)
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
![Page 26: Shatter : Efficient Symmetry-Breaking for Boolean Satisfiability](https://reader036.vdocuments.mx/reader036/viewer/2022062501/56815d8e550346895dcb9f84/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](https://reader036.vdocuments.mx/reader036/viewer/2022062501/56815d8e550346895dcb9f84/html5/thumbnails/27.jpg)
Thank You!