![Page 1: Faster SAT and Smaller BDDs via Common Function Structure Fadi A. Aloul, Igor L. Markov, Karem A. Sakallah University of Michigan](https://reader031.vdocument.in/reader031/viewer/2022012916/56649d3f5503460f94a18f9a/html5/thumbnails/1.jpg)
Faster SAT and Smaller BDDs via Common Function Structure
Fadi A. Aloul, Igor L. Markov, Karem A. Sakallah
University of Michigan
![Page 2: Faster SAT and Smaller BDDs via Common Function Structure Fadi A. Aloul, Igor L. Markov, Karem A. Sakallah University of Michigan](https://reader031.vdocument.in/reader031/viewer/2022012916/56649d3f5503460f94a18f9a/html5/thumbnails/2.jpg)
MotivationHole-7 Instance (clauses in red)
Original Variable Order “New” Variable Order
![Page 3: Faster SAT and Smaller BDDs via Common Function Structure Fadi A. Aloul, Igor L. Markov, Karem A. Sakallah University of Michigan](https://reader031.vdocument.in/reader031/viewer/2022012916/56649d3f5503460f94a18f9a/html5/thumbnails/3.jpg)
Outline Hypergraph Terminology Motivating Example Multilevel Partitioning MINCE Algorithm Experimental Results Conclusions
![Page 4: Faster SAT and Smaller BDDs via Common Function Structure Fadi A. Aloul, Igor L. Markov, Karem A. Sakallah University of Michigan](https://reader031.vdocument.in/reader031/viewer/2022012916/56649d3f5503460f94a18f9a/html5/thumbnails/4.jpg)
Linearly-Ordered Hypergraphs
Given a hypergraph with V vertices and E hyperedges with a linear vertex order…
a b edc
Span of hyperedge: difference between the greatest and smallest vertices connected by the same hyperedge i-th cut: number of edges crossing vertex i+0.5 Cutwidth: maximum cut of all vertices i, i (0,..,n-1) An objective of vertex ordering: identify a linear vertex order that minimizes the span and cutwidth of the instance
![Page 5: Faster SAT and Smaller BDDs via Common Function Structure Fadi A. Aloul, Igor L. Markov, Karem A. Sakallah University of Michigan](https://reader031.vdocument.in/reader031/viewer/2022012916/56649d3f5503460f94a18f9a/html5/thumbnails/5.jpg)
Bad vs. Good Vertex Orderings
a b edc
Total Span = 8 Cutwidth = 3 Total Span = 4 Cutwidth = 1
b d cea
Converting CNF Formulas to Hypergraphs:• Variables Vertices• Clauses Hyperedges
f(a,b,c,d,e) = (a + d + e) (b + d) (c + e)
How does vertex reordering help?
![Page 6: Faster SAT and Smaller BDDs via Common Function Structure Fadi A. Aloul, Igor L. Markov, Karem A. Sakallah University of Michigan](https://reader031.vdocument.in/reader031/viewer/2022012916/56649d3f5503460f94a18f9a/html5/thumbnails/6.jpg)
Related Work Circuits with small cutwidth are theoretically
“easy” for SAT [Prasad et al. 99] Sizes of BDDs are correlated with circuit
cutwidth [Berman 91, McMillan 92] Extracted BDD variable orderings from linear
spectral hypergraph placement [Wood et al. 98]
This work considers average cutwidth instead of maximum cutwidth
![Page 7: Faster SAT and Smaller BDDs via Common Function Structure Fadi A. Aloul, Igor L. Markov, Karem A. Sakallah University of Michigan](https://reader031.vdocument.in/reader031/viewer/2022012916/56649d3f5503460f94a18f9a/html5/thumbnails/7.jpg)
ExampleHole-7 Instance (clauses in red)
Original Variable Order MINCE Variable Order
![Page 8: Faster SAT and Smaller BDDs via Common Function Structure Fadi A. Aloul, Igor L. Markov, Karem A. Sakallah University of Michigan](https://reader031.vdocument.in/reader031/viewer/2022012916/56649d3f5503460f94a18f9a/html5/thumbnails/8.jpg)
C
Observation: Crossing Minimization
Known from VLSI placement: Recursive Min-cut Bisection Min. Total Net Length in LinPlacement
1
E
espannAverageSpa Ee
)(
1
0
)(1#1)(V
iCc cxEe exEe
icutxingsespanTotalSpan
nAverageSpaV
CAverageCut nAverageSpaMinAverageCutMin ..
nAverageSpaV
V
V
E
E
espan
V
E
V
icutAverageCut Ee
v
i
1
)(
11
)(1
0
a b edc
x
x
x x
xx x
x
![Page 9: Faster SAT and Smaller BDDs via Common Function Structure Fadi A. Aloul, Igor L. Markov, Karem A. Sakallah University of Michigan](https://reader031.vdocument.in/reader031/viewer/2022012916/56649d3f5503460f94a18f9a/html5/thumbnails/9.jpg)
Linear Placement Net length objective (aka “bounding box”)
For CNF instances, translates into clause span 30+ years of placement research
Recursive bisection a leading method Applied to SAT in this work
CAPO: Effecient hypergraph placement software Caldwell, Kahng and Markov [DAC 00] Based on Recursive Min-cut Bisection Multilevel Fiduccia-Mattheyses (FM) Open-source, free:
http://vlsicad.cs.ucla.edu/software/PDtools Runs in: , N is size of input
)log( 2 NN
![Page 10: Faster SAT and Smaller BDDs via Common Function Structure Fadi A. Aloul, Igor L. Markov, Karem A. Sakallah University of Michigan](https://reader031.vdocument.in/reader031/viewer/2022012916/56649d3f5503460f94a18f9a/html5/thumbnails/10.jpg)
Min-Cut MLFM Partitioning MLPart: Efficient min-cut hypergraph partitioner
Caldwell, Kahng and Markov [ASPDAC 00] Outperforms hMetis (Karypis et al. [DAC 97]) Runs in: Called by CAPO
Basic Idea: Group original variables Induce clustered hypergraphs Partition clustered hypergraphs Refine partitioned hypegraphs Partition & refinement by
Fiduccia-Mattheyses
*By G. Karypis, R. Aggarwal, V. Kumar and S. Shekhar
Cluster Refine
)log( NN
![Page 11: Faster SAT and Smaller BDDs via Common Function Structure Fadi A. Aloul, Igor L. Markov, Karem A. Sakallah University of Michigan](https://reader031.vdocument.in/reader031/viewer/2022012916/56649d3f5503460f94a18f9a/html5/thumbnails/11.jpg)
MINCEFlow
MINCE - Flow DiagramCircuit
CNF instance
Hypergraph
Linear Min-cut Placement byRecursive MLFM Partitioning. e.g.CAPO
Preprocessed CNF instance
Variable ordering for CNF
BDD EngineSAT Solver
![Page 12: Faster SAT and Smaller BDDs via Common Function Structure Fadi A. Aloul, Igor L. Markov, Karem A. Sakallah University of Michigan](https://reader031.vdocument.in/reader031/viewer/2022012916/56649d3f5503460f94a18f9a/html5/thumbnails/12.jpg)
Experimental Setup SAT engine: GRASP SAT Solver BDD engine: CUDD Package Time-out limit: 10,000 seconds Memory limit: 500 Mb Platform: 333 MHz Pentium II with Linux Benchmarks: DIMACS, N-Queens,
ISCAS89
![Page 13: Faster SAT and Smaller BDDs via Common Function Structure Fadi A. Aloul, Igor L. Markov, Karem A. Sakallah University of Michigan](https://reader031.vdocument.in/reader031/viewer/2022012916/56649d3f5503460f94a18f9a/html5/thumbnails/13.jpg)
SAT Results
0
10,000
20,000
30,000
40,000
50,000
60,000
70,000
80,000
90,000
Tota
l Run
time
(sec
)
DLCS MSOS Fixed MSTS DLIS MINCE
DIMACS Benchmarks*
219218
219
216
222
218
*Except f, g, par32
![Page 14: Faster SAT and Smaller BDDs via Common Function Structure Fadi A. Aloul, Igor L. Markov, Karem A. Sakallah University of Michigan](https://reader031.vdocument.in/reader031/viewer/2022012916/56649d3f5503460f94a18f9a/html5/thumbnails/14.jpg)
SAT Results
1
10
100
1,000
10,000
100,000
Avg
Var
Cu
t
Aim Bf dub hanoi hole ii16 ii32 ii8 jnh par16 par8 pret ssa
Originalw /MINCE
Selected DIMACS Instances
![Page 15: Faster SAT and Smaller BDDs via Common Function Structure Fadi A. Aloul, Igor L. Markov, Karem A. Sakallah University of Michigan](https://reader031.vdocument.in/reader031/viewer/2022012916/56649d3f5503460f94a18f9a/html5/thumbnails/15.jpg)
SAT Results
0
5,000
10,000
15,000
20,000
25,000
30,000
35,000
Tota
l Run
Tim
e (s
ec)
MSOS MSTS Fixed DLIS DLCS MINCE
Selected NQueens Instances
![Page 16: Faster SAT and Smaller BDDs via Common Function Structure Fadi A. Aloul, Igor L. Markov, Karem A. Sakallah University of Michigan](https://reader031.vdocument.in/reader031/viewer/2022012916/56649d3f5503460f94a18f9a/html5/thumbnails/16.jpg)
BDD Results
0
2
4
6
8
10
12
14
16
# C
om
ple
ted
Ins
tan
ce
s
Fixed Random Fixed-Sift Random-Sift MINCE
ISCAS 89 Benchmarks
![Page 17: Faster SAT and Smaller BDDs via Common Function Structure Fadi A. Aloul, Igor L. Markov, Karem A. Sakallah University of Michigan](https://reader031.vdocument.in/reader031/viewer/2022012916/56649d3f5503460f94a18f9a/html5/thumbnails/17.jpg)
Best- vs. Worst-case Performance SAT/BDD
Worst-case: exp. Best-case: Recursive min-cut bisection
placement Worst-case: Best-case:
Very easy problem instances DLL/BDD run in near-linear time Vertex ordering only slows DLL/BDD MINCE is not helpful for easy instances
)(N
)log( 2 NN )log( 2 NN
![Page 18: Faster SAT and Smaller BDDs via Common Function Structure Fadi A. Aloul, Igor L. Markov, Karem A. Sakallah University of Michigan](https://reader031.vdocument.in/reader031/viewer/2022012916/56649d3f5503460f94a18f9a/html5/thumbnails/18.jpg)
Conclusions MINCE is useful in capturing the
structural properties of CNF instances MINCE ordering is very effective in
reducing SAT runtime time and BDD runtime/memory requirements
The ordering is easily generated in a preprocessing step
No source code modification needed Tools are publicly available!
![Page 19: Faster SAT and Smaller BDDs via Common Function Structure Fadi A. Aloul, Igor L. Markov, Karem A. Sakallah University of Michigan](https://reader031.vdocument.in/reader031/viewer/2022012916/56649d3f5503460f94a18f9a/html5/thumbnails/19.jpg)
Future Work Dramatic speedup improvements possible Further improving the MINCE algorithm Accounting for polarities of literals in
hypergraphs Applying the ordering to symbolic simulation Tracking empirical correlation between
problem complexity and its cutwidth
Check out MINCE @: http://andante.eecs.umich.edu/mince