84
Symmetry in SAT: Symmetry in SAT: an overview an overview August 27th, 2018 Theory and Practice of SAT solving Oaxaca, Mexico Jo Devriendt, KU Leuven 1

Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry in SAT:Symmetry in SAT: an overviewan overview

August 27th, 2018 Theory and Practice of SAT solving

Oaxaca, Mexico  

Jo Devriendt, KU Leuven

1

Page 2: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

IntroIntro

Everyone knows symmetry:

SYMMETRIC ASYMMETRIC

"something does not change under a set of transformations" - Wikipedia

2

Page 3: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry :=Permutation of variable assignments that preserves satisfaction

+ ­+

+++­

­­

­­

­

­

+

In combinatorial solvingIn combinatorial solving

3

Page 4: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry :=Permutation of variable assignments that preserves satisfaction

+ ­+

+++­

­­

­­

­

­

++ ­+

+++­

­­

­­

­

­

+

In combinatorial solvingIn combinatorial solving

3

Page 5: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry induces symmetry classes:

+ ­+

+++­

­­

­­

­

­

+

In combinatorial solvingIn combinatorial solving

4

Page 6: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry induces symmetry classes:

+ ­+

+++­

­­

­­

­

­

+

Symmetry classes tend to get huge -> search problem

"......calculating......"

In combinatorial solvingIn combinatorial solving

4

Page 7: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

In combinatorial solvingIn combinatorial solving

Goal: investigate only asymmetrical cases

                    !!+

­­

+

5

Page 8: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

ContentsContents

1. Intro2. SAT Prelims3. "Classic" symmetry breaking4. The pigeonhole problem5. "Recent" symmetry breaking6. Non-breaking approaches7. Bonus: symmetry, local search & maxSAT

6

Page 9: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

ContentsContents

1. Intro2. SAT Prelims3. "Classic" symmetry breaking4. The pigeonhole problem5. "Recent" symmetry breaking6. Non-breaking approaches7. Bonus: symmetry, local search & maxSAT

"Interesting research question" 6

Page 10: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

In SAT:In SAT:

Syntactic symmetry := literal permutation that preserves the CNF

a ∨ ¬b

b ∨ ¬c

c ∨ ¬a

a ↦ b

¬a ↦ ¬b

b ↦ c

¬b ↦ ¬c

c ↦ a

¬c ↦ ¬a

7

Page 11: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

In SAT:In SAT:

Syntactic symmetry := literal permutation that preserves the CNF

a ∨ ¬b

b ∨ ¬c

c ∨ ¬a

a ↦ b

¬a ↦ ¬b

b ↦ c

¬b ↦ ¬c

c ↦ a

¬c ↦ ¬a

(a b c)

7

Page 12: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

static ↔ dynamic

othe

r ↔

bre

akin

g Shatter BreakID CDCLSym

SymChaff Symmetric learning

?

In SAT literature:In SAT literature:

Adaptive prefix-assignment

8

Page 13: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

TerminologyTerminologyvariable x

set of all variables Xliteral lclause c(propositional) formula φ(variable) assignment α

α(l) is the truth value of l in αsymmetry σ

σ(...) is the symmetrical image of ...symmetry group Σ

Σ(...) is the orbit of ... under Σgenerator set gen(Σ)

9

Page 14: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

3. "Classic" symmetry breaking3. "Classic" symmetry breaking

10

Page 15: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry breaking formulas:Symmetry breaking formulas: Crawford [1]Crawford [1]

Given: φ, ΣFind: symmetry breaking formula sbf

that invalidates symmetrical assignments

+ ­+

+++­

­­

­­

­

­

+ +

­­

+

φ φ ∪ sbf 11

Page 16: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry breaking formulas:Symmetry breaking formulas: Crawford [1]Crawford [1]

Core idea: sbf encodes "α is lexicographically smaller than σ(α)"

for σ ϵ Σ

12

Page 17: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry breaking formulas:Symmetry breaking formulas: Crawford [1]Crawford [1]

Core idea: sbf encodes "α is lexicographically smaller than σ(α)"

for σ ϵ Σ

x ≤1 σ(x )1

x =1 σ(x ) ⇒1 x ≤2 σ(x )2

(x =1 σ(x ) ∧1 x =2 σ(x )) ⇒2 x ≤3 σ(x )3

12

Page 18: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry breaking formulas:Symmetry breaking formulas: Crawford [1]Crawford [1]

Core idea: sbf encodes "α is lexicographically smaller than σ(α)"

for σ ϵ Σ

x ≤1 σ(x )1

x =1 σ(x ) ⇒1 x ≤2 σ(x )2

(x =1 σ(x ) ∧1 x =2 σ(x )) ⇒2 x ≤3 σ(x )3

parameter: total order on X12

Page 19: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry breaking formulas:Symmetry breaking formulas: Crawford [1]Crawford [1]

Core idea: sbf encodes "α is lexicographically smaller than σ(α)"

for all σ ϵ Σ

+

­­

+

φ ∪ sbf13

Page 20: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry breaking formulas:Symmetry breaking formulas: Crawford [1]Crawford [1]

SoundCompleteHuge: O(|X|²|Σ|)

Core idea: sbf encodes "α is lexicographically smaller than σ(α)"

for all σ ϵ Σ

+

­­

+

φ ∪ sbf13

Page 21: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry breaking:Symmetry breaking: Shatter [2]Shatter [2]

construct sbf for -much smaller- gen(Σ)"chain encoding"improved clausal encoding

+ ­+

+++­

­­

­­

­

­

+

φ ∪ sbf14

Page 22: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry breaking:Symmetry breaking: Shatter [2]Shatter [2]

construct sbf for -much smaller- gen(Σ)"chain encoding"improved clausal encoding

SoundIncompleteFeasible: O(|X||gen(Σ)|)

+ ­+

+++­

­­

­­

­

­

+

φ ∪ sbf14

Page 23: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Detecting symmetry:Detecting symmetry: Saucy [3]Saucy [3]

Sparse graph automorphism detection

15

Page 24: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Detecting symmetry:Detecting symmetry: Saucy [3]Saucy [3]

Sparse graph automorphism detection

Graph construction from CNF:node for each literal and clauseedge between literals occurring in clauseedge between literal and negation

No polynomial algorithm knownOutput: generators to automorphism group

15

Page 25: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Static symmetry breaking:Static symmetry breaking: Shatter+SaucyShatter+Saucy

Propositionaldescription

off-the-shelfSAT solver

SAT/UNSAT

Graphautomorphism

detection¬a ∨ b

Add symmetrybreaking formulas

a ∨ ¬b

b ∨ ¬c

c ∨ ¬a

(a b c)

16

Page 26: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

4. The pigeonhole problem4. The pigeonhole problem

17

Page 27: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Pigeonhole!Pigeonhole!Do n pigeons fit in n-1 holes?

∀p : x ⋁h ph

∀h : ∀p = p : ¬x ∨′ph ¬x p h′

x 11x 21x 31x 41

x 12x 22x 32x 42

x 13x 23x 33x 43 18

Page 28: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Pigeonhole!Pigeonhole!Do n pigeons fit in n-1 holes?

Proof-theoretic problemSimple but large symmetry group

composition of "pigeon interchangeability" and "hole interchangeability"1 symmetry class

∀p : x ⋁h ph

∀h : ∀p = p : ¬x ∨′ph ¬x p h′

x 11x 21x 31x 41

x 12x 22x 32x 42

x 13x 23x 33x 43 18

Page 29: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Pigeonhole!Pigeonhole!

Original Shatter experiment:

19

Page 30: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Pigeonhole!Pigeonhole!

Seems ok?

Original Shatter experiment:

19

Page 31: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Pigeonhole!Pigeonhole!

Own Shatter experiment:

20

Page 32: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Pigeonhole!Pigeonhole!

Modest gains... Better results in original paper?

Own Shatter experiment:

20

Page 33: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Pigeonhole!Pigeonhole!

Propositional encoding reduces "pigeon interchangeability" to "row interchangeability"Shatter's sbf's are complete [4] with correct choice of

gen(Σ)variable order  

|full sbf| = O(n²)

x 11x 21x 31x 41

x 12x 22x 32x 42

x 13x 23x 33x 43

21

Page 34: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Propositional encoding reduces "pigeon interchangeability" to "row interchangeability"Shatter's sbf's are complete [4] with correct choice of

gen(Σ)variable order  

|full sbf| = O(n²)

Pigeonhole!Pigeonhole!

x 11x 21x 31x 41

x 12x 22x 32x 42

x 13x 23x 33x 43

22

Page 35: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

5. "Recent" symmetry breaking5. "Recent" symmetry breaking

23

Page 36: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry breaking:Symmetry breaking: BreakID [5]BreakID [5]

Core idea: detect "row swap" symmetries

*Approximative algorithm

24

Page 37: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry breaking:Symmetry breaking: BreakID [5]BreakID [5]

Core idea: detect "row swap" symmetries

1. Search σ , σ ϵgen(Σ) that form 2 subsequent row swapsforms initial 3-rowed variable matrix M

1 2

*Approximative algorithm

24

Page 38: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry breaking:Symmetry breaking: BreakID [5]BreakID [5]

Core idea: detect "row swap" symmetries

1. Search σ , σ ϵgen(Σ) that form 2 subsequent row swapsforms initial 3-rowed variable matrix M

2. Apply every σ ϵ gen(Σ) to all detected rows r ϵ M so farimages σ(r) disjoint of M are candidates to extend Mtest if swap r ↔ σ(r) is a symmetry by syntactical check on φif success, extend M with σ(r)

1 2

*Approximative algorithm

24

Page 39: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry breaking:Symmetry breaking: BreakID [5]BreakID [5]

Core idea: detect "row swap" symmetries

1. Search σ , σ ϵgen(Σ) that form 2 subsequent row swapsforms initial 3-rowed variable matrix M

2. Apply every σ ϵ gen(Σ) to all detected rows r ϵ M so farimages σ(r) disjoint of M are candidates to extend Mtest if swap r ↔ σ(r) is a symmetry by syntactical check on φif success, extend M with σ(r)

3. Use Saucy to extend gen(Σ) with new symmetry generators byfixing all variable nodes with variable in M, first row excepted

1 2

*Approximative algorithm

24

Page 40: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry breaking:Symmetry breaking: BreakID [5]BreakID [5]

Core idea: detect "row swap" symmetries

Caveat!

25

Page 41: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Detect row interchangeability subgroups?

Symmetry breaking:Symmetry breaking: BreakID [5]BreakID [5]

Core idea: detect "row swap" symmetries

Caveat!

25

Page 42: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry breaking:Symmetry breaking: BreakID [5]BreakID [5]

Core idea: maximize number of binary sbf clauses

26

Page 43: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

First clause in sbf for σ is binary:  x is stabilized by Σ iff Σ(x)={x}Given Σ with smallest non-stabilized x, for each x' ϵ Σ(x):   is clause of sbf under some σ ϵ Σ

¬x ∨1 σ(x )1

¬x ∨ x′

Symmetry breaking:Symmetry breaking: BreakID [5]BreakID [5]

Core idea: maximize number of binary sbf clauses

26

Page 44: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry breaking:Symmetry breaking: BreakID [5]BreakID [5]

Core idea: exploit binary sbf clauses

27

Page 45: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Create stabilizer chain of Σ:  Σ is the stabilizer subgroup of Σ stabilizing the next non-stabilized variable in ordering

Σ have different smallest non-stabilized variables xFor each x' ϵ Σ (x ):  is a clause of some sbf

i i-1

i i

i i

Σ ⊃ Σ ⊃1 Σ ⊃2 … ⊃ 1

¬x ∨i x′

Symmetry breaking:Symmetry breaking: BreakID [5]BreakID [5]

Core idea: exploit binary sbf clauses

27

Page 46: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry breaking:Symmetry breaking: BreakID [5]BreakID [5]

Core idea: exploit binary sbf clauses

28

Page 47: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Approximative implementationwhich adapts the variable order!  

Symmetry breaking:Symmetry breaking: BreakID [5]BreakID [5]

Core idea: exploit binary sbf clauses

28

Page 48: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Approximative implementationwhich adapts the variable order!  

Works well for polarity symmetry σ where for all x: as sbf is equivalent to unit clause and their number is maximized through adopted variable order.

σ(x) = ¬x

Symmetry breaking:Symmetry breaking: BreakID [5]BreakID [5]

Core idea: exploit binary sbf clauses

¬x 1

28

Page 49: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Approximative implementationwhich adapts the variable order!  

Works well for polarity symmetry σ where for all x: as sbf is equivalent to unit clause and their number is maximized through adopted variable order.

σ(x) = ¬x

Symmetry breaking:Symmetry breaking: BreakID [5]BreakID [5]

Core idea: exploit binary sbf clauses

¬x 1

Complete algorithm? 28

Page 50: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry breaking:Symmetry breaking: CDCLSym [6]CDCLSym [6]

Core idea: generate sbf dynamically

29

Page 51: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Keep track of reducer symmetries where σ(α)<αby watching smallest variable s.t. σ(v)≠v

Generate clause from sbf forcing α≤σ(α) Additionally: try Bliss instead of Saucy

Symmetry breaking:Symmetry breaking: CDCLSym [6]CDCLSym [6]

Core idea: generate sbf dynamically

29

Page 52: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Keep track of reducer symmetries where σ(α)<αby watching smallest variable s.t. σ(v)≠v

Generate clause from sbf forcing α≤σ(α) Additionally: try Bliss instead of Saucy

Symmetry breaking:Symmetry breaking: CDCLSym [6]CDCLSym [6]

Core idea: generate sbf dynamically

Use clauses for propagation?Not only generator symmetries? 29

Page 53: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Pigeon interchangeability can be completely broken withpolynomial sbf

Symmetry breaking:Symmetry breaking: On completenessOn completeness

30

Page 54: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Pigeon interchangeability can be completely broken withpolynomial sbfHow about edge interchangeability?

E.g., find coloring of complete graph (Ramsey numbers)Recent intrest [11] [14]

Symmetry breaking:Symmetry breaking: On completenessOn completeness

30

Page 55: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Pigeon interchangeability can be completely broken withpolynomial sbfHow about edge interchangeability?

E.g., find coloring of complete graph (Ramsey numbers)Recent intrest [11] [14]

How about general interchangeability over arbitrary highdimensional relations?

Symmetry breaking:Symmetry breaking: On completenessOn completeness

30

Page 56: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Pigeon interchangeability can be completely broken withpolynomial sbfHow about edge interchangeability?

E.g., find coloring of complete graph (Ramsey numbers)Recent intrest [11] [14]

How about general interchangeability over arbitrary highdimensional relations?

Symmetry breaking:Symmetry breaking: On completenessOn completeness

Tractable sbf for edge interchangeability? 30

Page 57: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry breaking:Symmetry breaking: Prefix breaking [7]Prefix breaking [7]

Core idea: enumerate asymmetrical assignments to variable prefix

High-levelconstraints

Graph representation

∀x : ∃y :φ(x, y)

+

­­

+

Symmetry classrepresentativeenumeration

Variableprefix

31

Page 58: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry breaking:Symmetry breaking: Prefix breaking [7]Prefix breaking [7]

Core idea: enumerate asymmetrical assignments to variable prefix

High-levelconstraints

Incremental /parallel SAT solver

Graph representation

∀x : ∃y :φ(x, y)

+

­­

+

Symmetry classrepresentativeenumeration

Variableprefix

Clausal encoding31

Page 59: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

6. Non-breaking approaches6. Non-breaking approaches

32

Page 60: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry handling:Symmetry handling: SymChaff [8]SymChaff [8]

Core idea: search decisions consider row interchangeability

x 11x 21x 31x 41

x 12x 22x 32x 42

x 13x 23x 33x 43 33

Page 61: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry handling:Symmetry handling: SymChaff [8]SymChaff [8]

Core idea: search decisions consider row interchangeability

x 11x 21x 31x 41

x 12x 22x 32x 42

x 13x 23x 33x 43 33

Only for row interchangeability symmetryKeep track of row-interchangeable variables

interchangeability reduces under previous choicesUse cardinality decision points over row-interchangeablevariables

Page 62: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry handling:Symmetry handling: SymChaff [8]SymChaff [8]

Core idea: search decisions consider row interchangeability

x 11x 21x 31x 41

x 12x 22x 32x 42

x 13x 23x 33x 43 33

Only for row interchangeability symmetryKeep track of row-interchangeable variables

interchangeability reduces under previous choicesUse cardinality decision points over row-interchangeablevariables

Cardinality decision of 1over first column:

Page 63: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Only for row interchangeability symmetryKeep track of row-interchangeable variables

interchangeability reduces under previous choicesUse cardinality decision points over row-interchangeablevariables

Symmetry handling:Symmetry handling: SymChaff [8]SymChaff [8]

Core idea: search decisions consider row interchangeability

0001

x 12x 22x 32x 42

x 13x 23x 33x 43 34

Cardinality decision of 1over first column:

Page 64: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry handling:Symmetry handling: SymChaff [8]SymChaff [8]

Strong performance on pigeonhole

35

Page 65: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry handling:Symmetry handling: Symmetric learning [9]Symmetric learning [9]

Core idea: consider symmetrical learned clauses

36

Page 66: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Learnt clauses are logical consequences of φWhenever c is a consequence of φ, so is σ(c)Problem: Σ(c) is huge

Learn only σ(c) for σ ϵ gen(Σ)

Symmetry handling:Symmetry handling: Symmetric learning [9]Symmetric learning [9]

Core idea: consider symmetrical learned clauses

36

Page 67: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Learnt clauses are logical consequences of φWhenever c is a consequence of φ, so is σ(c)Problem: Σ(c) is huge

Learn only σ(c) for σ ϵ gen(Σ)

Symmetry handling:Symmetry handling: Symmetric learning [9]Symmetric learning [9]

Core idea: consider symmetrical learned clauses

36

Page 68: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry handling:Symmetry handling: Symmetric explanation learning [10]Symmetric explanation learning [10]

Core idea: consider useful symmetrical explanation clauses

37

Page 69: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Learn σ(c) that propagate at least oncesymmetries typically permute only a fraction of the literalsif c is unit, σ(c) has a good chance of being unit as wellexplanation clauses are unit ;-)

Symmetry handling:Symmetry handling: Symmetric explanation learning [10]Symmetric explanation learning [10]

Core idea: consider useful symmetrical explanation clauses

37

Page 70: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry handling:Symmetry handling: Symmetric explanation learning [10]Symmetric explanation learning [10]

Core idea: consider useful symmetrical explanation clauses

38

Page 71: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

For each σ ϵ gen(Σ), whenever c propagates, store σ(c) in aseparate clause store θ

Propagation on θ happens only if standard unit propagation isat a fixpointWhenever a σ(c) ϵ θ propagates, upgrade it to a "normal"learned clauseAfter backjump over c's propagation level, clear σ(c) from θ

Symmetry handling:Symmetry handling: Symmetric explanation learning [10]Symmetric explanation learning [10]

Core idea: consider useful symmetrical explanation clauses

38

Page 72: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

For each σ ϵ gen(Σ), whenever c propagates, store σ(c) in aseparate clause store θ

Propagation on θ happens only if standard unit propagation isat a fixpointWhenever a σ(c) ϵ θ propagates, upgrade it to a "normal"learned clauseAfter backjump over c's propagation level, clear σ(c) from θ

Every learned σ(c) is useful & originalTransitive effect: track σ'(σ(c)) when σ(c) propagates

Symmetry handling:Symmetry handling: Symmetric explanation learning [10]Symmetric explanation learning [10]

Core idea: consider useful symmetrical explanation clauses

38

Page 73: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry handling:Symmetry handling: Symmetric explanation learning [10]Symmetric explanation learning [10]

39

Page 74: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry handling:Symmetry handling: Symmetric explanation learning [10]Symmetric explanation learning [10]

Caveat: performance on larger instances

39

Page 75: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Symmetry handling:Symmetry handling: Symmetric explanation learning [10]Symmetric explanation learning [10]

What is "complete" symmetrical learning?Can it be done efficiently?

Caveat: performance on larger instances

39

Page 76: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Research trends:Research trends:

Symmetry detection on propositional level is hardnot a solved problem, cfr. pigeonholepapers often assume high-level symmetry input [7] [8]

Sbf construction based on canonical labeling [7] [11]Dynamical approaches often perform lazy clause generation [6][10] [12]Use computational group algebra to detect symmetry groupstructure [5] [13]

Proof checking and symmetrical learning?The influence of the variable order on an sbf? 40

Page 77: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Thanks for listening!Thanks for listening! Questions?Questions?

[1] Symmetry-Breaking Predicates for Search Problems (1996) Crawford et al.[2] Efficient Symmetry-Breaking for Boolean Satisfiability (2003) Aloul et al.[3] Symmetry and Satisfiability: An Update (2010) Katebi et al.[4] Breaking row and column symmetries in matrix models (2002) Flener et al.[5] Improved Static Symmetry Breaking for SAT (2016) Devriendt et al.[6] CDCLSym: Introducing Effective Symmetry Breaking in SAT Solving (2018) Metin et al.[7] An Adaptive Prefix-Assignment Technique for Symmetry Reduction (2017) Juntilla et al.[8] Symchaff: exploiting symmetry in a structure-aware satisfiability solver (2009) Sabharwal[9] Enhancing clause learning by symmetry in SAT solvers (2010) Benhamou[10] Symmetric explanation learning: Effective dynamic symmetry handling for SAT (2017)Devriendt et al.[11] Breaking Symmetries in Graphs: The Nauty Way (2016) Codish et al.[12] Symmetries, almost symmetries, and lazy clause generation (2014) Chu et al.[13] Breaking symmetries in all-different problems (2005) Puget[14] The quest for perfect and compact symmetry breaking for graph problems (2016) 41

Page 78: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

7. Bonus: symmetry, local search7. Bonus: symmetry, local search& maxSAT& maxSAT

42

Page 79: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Bonus: symmetry, local search &Bonus: symmetry, local search &maxSATmaxSAT

1 ­2

521­

­­

­­

­

­

3

(Satisfying) assignments now have an associated score

43

Page 80: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Bonus: symmetry, local search &Bonus: symmetry, local search &maxSATmaxSAT

1 ­2

521­

­­

­­

­

­

31 ­2

521­

­­

­­

­

­

3

(Satisfying) assignments now have an associated scoreLocal search "moves" from one to the other based on structure-preserving transformations

43

Page 81: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Bonus: symmetry, local search &Bonus: symmetry, local search &maxSATmaxSAT

(Satisfying) assignments now have an associated scoreLocal search "moves" from one to the other based on structure-preserving transformationsDesigning local moves is typically done by hand...

44

Page 82: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Bonus: symmetry, local search &Bonus: symmetry, local search &maxSATmaxSAT

(Satisfying) assignments now have an associated scoreLocal search "moves" from one to the other based on structure-preserving transformationsDesigning local moves is typically done by hand...

Symmetries form moves! Can be automatically detected!

45

Page 83: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Bonus: symmetry, local search &Bonus: symmetry, local search &maxSATmaxSAT

46

Page 84: Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry by syntactical check on φ if success, extend M with σ(r) 3. Use Saucy to extend

Bonus: symmetry, local search &Bonus: symmetry, local search &maxSATmaxSAT

Symmetry-based local search in weighted maxSAT? 46