faster sat and smaller bdds via common function structure fadi a. aloul, igor l. markov, karem a....

19
Faster SAT and Smaller BDDs via Common Function Structure Fadi A. Aloul, Igor L. Markov, Karem A. Sakallah University of Michigan

Post on 19-Dec-2015

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Faster SAT and Smaller BDDs via Common Function Structure Fadi A. Aloul, Igor L. Markov, Karem A. Sakallah University of Michigan

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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