Shatter : Efficient Symmetry-Breaking for Boolean Satisfiability

Post on 11-Feb-2016

37 views 0 download

Tags:

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 Presentation

Transcript of Shatter : Efficient Symmetry-Breaking for Boolean Satisfiability

Shatter: Efficient Symmetry-Breaking for Boolean Satisfiability

Fadi A. AloulIgor 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 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

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

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)

Symmetries in Search Space

SAT Solver

SAT assignments

Symmetries in Search Space

SAT Solver

Classes of symmetric truth assignments

Symmetries in Search Space

SAT Solver

Classes of symmetric truth assignments

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

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)

Outline Basic definitions Symmetry-Breaking Predicate

(SBP) construction by Crawford et al.

Efficient SBP constructions Experimental results Conclusions

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

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

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

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

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

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

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

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

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

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

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

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

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

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

)

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

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/

Thank You!