Shatter : Efficient Symmetry-Breaking for Boolean Satisfiability

27
Shatter: Efficient Symmetry-Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan

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

Page 1: 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

Page 2: Shatter : Efficient Symmetry-Breaking for Boolean Satisfiability

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

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

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

Symmetries in Search Space

SAT Solver

SAT assignments

Page 6: Shatter : Efficient Symmetry-Breaking for Boolean Satisfiability

Symmetries in Search Space

SAT Solver

Classes of symmetric truth assignments

Page 7: Shatter : Efficient Symmetry-Breaking for Boolean Satisfiability

Symmetries in Search Space

SAT Solver

Classes of symmetric truth assignments

Page 8: Shatter : Efficient Symmetry-Breaking for Boolean Satisfiability

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Thank You!