Efficient SAT Solving: Beyond Supercubes - PowerPoint PPT Presentation

1 / 33
About This Presentation
Title:

Efficient SAT Solving: Beyond Supercubes

Description:

SAT is NP-complete, so unlikely that one approach will always work well. Therefore, we should explore a variety of different, but efficient approaches. ... – PowerPoint PPT presentation

Number of Views:19
Avg rating:3.0/5.0
Slides: 34
Provided by: carl290
Category:

less

Transcript and Presenter's Notes

Title: Efficient SAT Solving: Beyond Supercubes


1
Efficient SAT SolvingBeyond Supercubes
  • Domagoj Babic, Jesse Bingham, Alan J. Hu
  • Department of Computer Science
  • University of British Columbia

2
Outline
  • Motivation and Background
  • Moving Beyond Supercubing
  • Naïve Algorithm
  • Standard Approach
  • Supercubing
  • B-Cubing
  • Approximating B-Cubing
  • Experimental Results

3
Motivation
  • SAT has become dominant Boolean reasoning engine
    for EDA applications. Therefore, we need
    efficient SAT solvers.
  • SAT is NP-complete, so unlikely that one approach
    will always work well. Therefore, we should
    explore a variety of different, but efficient
    approaches.
  • Supercubing Goldberg, Prasad, Brayton 2002 is a
    fresh theoretical insight. We have been working
    on making supercubing-style SAT solvers
    performance-competitive with state-of-the-art
    standard solvers.

4
Background
  • SAT Boolean Satisfiability
  • Given a formula in CNF (product of sums), find a
    satisfying assignment, or determine that none
    exists.

Negative Literal
Positive Literal
Clause
5
Naïve Algorithm
  • Try assigning values to variables one-by-one.
  • (Propagate unit clauses.)
  • Backtrack when a conflict is found.
  • Visualize as a search tree.

6
Naïve Algorithm
a
7
Naïve Algorithm
a
b
8
Naïve Algorithm
a
b
c
9
Naïve Algorithm
d
10
Naïve Algorithm
d
e
f
11
Naïve Algorithm
d
e
f
x implied. Conflict!
12
Naïve Algorithm
d
e
f
x implied. Conflict!
x implied. Conflict!
13
Standard Algorithm
  • Breakthrough for SAT solving, pioneered by
    leading SAT solvers (e.g., GRASP Marques-Silva
    and Sakallah, 99, CHAFF Moskewicz et al.,
    00, etc.)
  • Analyze conflict which decisions really
    mattered?
  • Backtrack non-chronologically.
  • Learn a new clause to prevent same conflict from
    reoccurring.

14
Standard Algorithm
d
e
f
15
Standard Algorithm
d
e
f
16
Supercubing
  • Fresh theoretical insight to SAT-solvingGoldberg
    , Prasad, Brayton, 02
  • Demonstrated reduction in number of
    decisions,but did not achieve speedup over
    standard solvers.
  • When exploring one subtree under literal x, if
    all conflicts involving x also contain literal y,
    then we can immediately assign literal y after
    flipping x.

17
Supercubing
a
b
c
18
Supercubing
a
b
c
d
Pruned
19
Why Supercubing Works
  • Complement of conflict clause is a cube.
  • Cubes for part of search tree collectively
    certify that that part is unsatisfiable.
  • Supercube is a coarse overapproximation of
    remaining search space not covered by conflict
    cubes.

20
B-Cubing
  • Generalization of Supercubing
  • Ideally, remember all information derived from
    conflicts, not just an over-approximated cube.
  • In practice, we must prune the informationkeep
    more than just a cube, but not too much.
  • Must be implemented efficiently. The savings
    from exploiting the information must outweigh the
    overhead of maintaining it.

21
B-Cubing (Beyond Cubes)
a
b
c
d
e
f
f
Pruned
Pruned
22
B-Cubing Theory
x
Conflict cubes that involve x. Conflict cubes
that dont involve x.
Any over-approximation is safe!
(Doing this recursively is tricky!)
23
Approximating B-Cubing
  • Any over-approximation of ideal B-cubing
    information is correct.
  • Supercube is smallest over-approximate cube.
  • We introduce Boolean Constraint Trees to
    summarize a set of conflict cubes
  • Basically a decision tree
  • Heuristics to maximize search-space pruning
  • Different variable order allowed on different
    paths

f
d
e
!f
24
Experimental Results
  • B-Cubing obviously will reduce number of
    decisions, but is the overhead excessive?
  • We have implemented B-cubing in an experimental
    solver.
  • Integration with learning is tricky. See Babic,
    Hu, ASPDAC05 for combining supercubing with
    learning.
  • Run on an extensive array of benchmarks.
  • Compared against ZChaff II, one of the leading
    solvers using the standard approach.

25
PicoJava BMC
26
IBM BMC
27
CMU BMC
28
FPGA Routing SAT
29
FPGA Routing UnSAT
30
Integer Factorization
31
Constraint Satisfaction
32
IBM FV Benchmark Library
33
Conclusion and Future Work
  • Generalized supercubing-style solvers beyond
    cubes.
  • Preliminary implementation competitive with
    top-notch standard solver.
  • Sometimes much better/worse.
  • Important to have alternative solvers.
  • Enormous range of possibilities
  • Supercubing coarse approx., easier, little
    memory
  • JeruSAT Nadel, 02 all cubes within window
  • B-Cubing general framework, BCTs provide good
    balance between accuracy and speed?
  • Good engineering and implementation
Write a Comment
User Comments (0)
About PowerShow.com