Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry...
Transcript of Oaxaca, Mexico Theory and Practice of SAT solving Jo ... · test if swap r ↔ σ(r) is a symmetry...
![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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/1.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/2.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/3.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/4.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/5.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/6.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/7.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/8.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/9.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/10.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/11.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/12.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/13.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/14.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/15.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/16.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/17.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/18.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/19.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/20.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/21.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/22.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/23.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/24.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/25.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/26.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/27.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/28.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/29.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/30.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/31.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/32.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/33.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/34.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/35.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/36.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/37.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/38.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/39.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/40.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/41.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/42.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/43.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/44.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/45.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/46.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/47.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/48.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/49.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/50.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/51.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/52.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/53.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/54.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/55.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/56.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/57.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/58.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/59.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/60.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/61.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/62.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/63.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/64.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/65.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/66.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/67.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/68.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/69.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/70.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/71.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/72.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/73.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/74.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/75.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/76.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/77.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/78.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/79.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/80.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/81.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/82.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/83.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081600/6020c271d15eed0dea45ac5d/html5/thumbnails/84.jpg)
Bonus: symmetry, local search &Bonus: symmetry, local search &maxSATmaxSAT
Symmetry-based local search in weighted maxSAT? 46