Using SAT Solvers in Combinatorics and Geometry Manfred Scheucher - - PowerPoint PPT Presentation

using sat solvers
SMART_READER_LITE
LIVE PREVIEW

Using SAT Solvers in Combinatorics and Geometry Manfred Scheucher - - PowerPoint PPT Presentation

Using SAT Solvers in Combinatorics and Geometry Manfred Scheucher 1 Boolean satisfiability problem Given Boolean formula, is there an assignment such that the formula is true? 2 Boolean satisfiability problem Given Boolean formula, is


slide-1
SLIDE 1

Using SAT Solvers

in Combinatorics and Geometry

Manfred Scheucher

1

slide-2
SLIDE 2

Boolean satisfiability problem

  • Given Boolean formula, is there an assignment such

that the formula is true?

2

slide-3
SLIDE 3

Boolean satisfiability problem

  • Given Boolean formula, is there an assignment such

that the formula is true?

  • NP-complete, but quite good heuristics

2

slide-4
SLIDE 4

Why to use SAT Solvers?

  • Prove/disprove existence of structure

usually faster

3

slide-5
SLIDE 5

Why to use SAT Solvers?

  • Prove/disprove existence of structure
  • Induction base
  • Induction step
  • Find (counter)examples
  • Counting occurences

3

slide-6
SLIDE 6

Today’s Topics

  • Orthogonal Symmetric Chain Decompositions

(with Karl D¨ aubel, Sven J¨ ager, and Torsten M¨ utze)

  • (Disjoint) Holes in Point Sets
  • L-shaped Point Set Embeddings of Trees

(with Torsten M¨ utze)

  • Universal Point Sets for Planar Graphs

(with Hendrik Schrezenmaier and Raphael Steiner)

4

slide-7
SLIDE 7

L-Shaped Point Set Embeddings

joint work with Torsten M¨ utze arXiv:1807.11043

5

slide-8
SLIDE 8

L-Shaped Point Set Embeddings

  • vertices of T drawn as points of P
  • edges drawn as unions of two axis parallel line segments

T . . . tree on n vertices P . . . set of m points

6

slide-9
SLIDE 9

L-Shaped Point Set Embeddings

f(T) . . . minimum number m s.t. tree T admits a planar L-shaped embedding in any set of m points fd(n) := max

T : tree on n vertices

  • max. deg. ∆(T ) ≤ d

f(T)

7

slide-10
SLIDE 10

L-Shaped Point Set Embeddings

f(T) . . . minimum number m s.t. tree T admits a planar L-shaped embedding in any set of m points fd(n) := max

T : tree on n vertices

  • max. deg. ∆(T ) ≤ d

f(T)

  • f4(n) ≤ O(n1.58)

[S.’15, Aichholzer-Hackl-S.’16]

  • f3(n) ≤ O(n1.22), f4(n) ≤ O(n1.55)

[Biedl et al.’17]

  • no non-trivial lower bound (≥ n is trivial)
  • f4(n) ≤ n2

[Di Giacomo, Frati, Fulek, Grilli, Krug ’13]

7

slide-11
SLIDE 11

SAT Model

  • T . . . tree on vertices {v1, . . . , vn}
  • formulate Boolean satisfiability instance:

∃ solution iff. T admits an L-shaped embedding in P

  • P . . . point set {P1, . . . , Pn}

8

slide-12
SLIDE 12

SAT Model: Variables

  • Mi,j . . . vertex vi is mapped to point Pj
  • Ha,b . . . edge ab is connected horizontally to a

9

slide-13
SLIDE 13

SAT Model: Clauses

  • Injective mapping V to P

every vertex vi has to be mapped:

  • j

Mi,j no two vertices vi1, vi2 are mapped to the same point: ¬Mi1,j ∨ ¬Mi2,j

10

slide-14
SLIDE 14

SAT Model: Clauses

  • Injective mapping V to P
  • L-shaped edges:

ab connects either vertically or horizontally to a (and b) a b Ha,b ∨ Hb,a, ¬Ha,b ∨ ¬Hb,a

10

slide-15
SLIDE 15

SAT Model: Clauses

  • Injective mapping V to P
  • L-shaped edges:

ab connects either vertically or horizontally to a (and b)

  • No overlapping edges

10

slide-16
SLIDE 16

SAT Model: Clauses

  • Injective mapping V to P
  • L-shaped edges:

ab connects either vertically or horizontally to a (and b)

  • No overlapping edges
  • rder of points is important

p q r

10

slide-17
SLIDE 17

SAT Model: Clauses

  • Injective mapping V to P
  • L-shaped edges:

ab connects either vertically or horizontally to a (and b)

  • No overlapping edges

If p left of q and r, and va → p, vb → q, vc → r, then not both edges ab and ac horizonally connected

  • nly depends on point set
  • nly depends on variables

p q r

10

slide-18
SLIDE 18

SAT Model: Clauses

  • Injective mapping V to P
  • L-shaped edges:

ab connects either vertically or horizontally to a (and b)

  • No overlapping edges

If p left of q and r, and va → p, vb → q, vc → r, then not both edges ab and ac horizonally connected For each three points p, q, r with p left of q and r: ¬Ma,p ∨ ¬Mb,q ∨ ¬Mc,r ∨ ¬Ha,b ∨ ¬Ha,c

  • nly depends on point set
  • nly depends on variables

10

slide-19
SLIDE 19

SAT Model: Clauses

  • Injective mapping V to P
  • L-shaped edges:

ab connects either vertically or horizontally to a (and b)

  • No overlapping edges
  • No crossing edges

10

slide-20
SLIDE 20

Results

T13 P13 Theorem: Every tree on n ≤ 12 vertices admits an L-shaped embedding in every set of n points. Theorem: T13 has no L-shaped embedding in P13.

11

slide-21
SLIDE 21

Results

  • Further examples for n ∈ {13, 14, 16, 17, 18, 19, 20}
  • If cyclic order fixed, infinite family

Theorem: Every tree on n ≤ 12 vertices admits an L-shaped embedding in every set of n points. Theorem: T13 has no L-shaped embedding in P13. . . .

11

slide-22
SLIDE 22

And now for something completely different

12

slide-23
SLIDE 23

Orthogonal Chain Decompositions

joint work with Karl D¨ aubel, Sven J¨ ager, and Torsten M¨ utze arXiv:1810.09847

13

slide-24
SLIDE 24

Orthogonal Chain Decompositions

  • Boolean lattice Qn

can be partitioned into

  • n

⌊n/2⌋

  • chains [Dilworth ’50]

14

slide-25
SLIDE 25

Orthogonal Chain Decompositions

∅ {4} {3} {3,4} {2} {2,4} {2,3} {2,3,4} {1} {1,4} {1,3} {1,3,4} {1,2} {1,2,4} {1,2,3} {1,2,3,4}

14

slide-26
SLIDE 26

Orthogonal Chain Decompositions

  • Boolean lattice Qn

can be partitioned into

  • n

⌊n/2⌋

  • chains [Dilworth ’50]
  • orthogonal chain-decompositions:

any two chains from two decompositions have at most one element in common

14

slide-27
SLIDE 27

Orthogonal Chain Decompositions

  • ∃ two orthogonal CDs in Qn≥2 [Shearer-Kleitman ’79]
  • moreover, they conjectured ⌊n/2⌋ + 1

15

slide-28
SLIDE 28

Orthogonal Chain Decompositions

  • ∃ two orthogonal CDs in Qn≥2 [Shearer-Kleitman ’79]
  • ∃ three orthogonal CDs in Qn≥24 [Spink ’17]
  • moreover, they conjectured ⌊n/2⌋ + 1

15

slide-29
SLIDE 29

Orthogonal Chain Decompositions

  • ∃ two orthogonal CDs in Qn≥2 [Shearer-Kleitman ’79]
  • ∃ three orthogonal CDs in Qn≥24 [Spink ’17]
  • moreover, they conjectured ⌊n/2⌋ + 1

Proof Idea:

  • 1. (specific) orthogonal CDs for Q5 and Q7
  • 2. Lemma ”Qa, Qb ⇒ Qa+b”

15

slide-30
SLIDE 30

Orthogonal Chain Decompositions

  • ∃ two orthogonal CDs in Qn≥2 [Shearer-Kleitman ’79]
  • ∃ three orthogonal CDs in Qn≥24 [Spink ’17]
  • moreover, they conjectured ⌊n/2⌋ + 1

n 1 2 3 4 5 6 7 8 9 10 11 almost-orth. 1 2 2 2 3 3* 4* 3* 3* 3 4* ⌊n/2⌋ + 1 1 2 2 3 3 4 4 5 5 6 6 found via SAT solvers!

15

slide-31
SLIDE 31

Orthogonal Chain Decompositions

  • ∃ two orthogonal CDs in Qn≥2 [Shearer-Kleitman ’79]
  • ∃ three orthogonal CDs in Qn≥24 [Spink ’17]
  • moreover, they conjectured ⌊n/2⌋ + 1

n 1 2 3 4 5 6 7 8 9 10 11 almost-orth. 1 2 2 2 3 3* 4* 3* 3* 3 4* ⌊n/2⌋ + 1 1 2 2 3 3 4 4 5 5 6 6

Theorem: ∃ four orthogonal CDs in Qn≥60. [D¨ aubel-J¨ ager-M¨ utze-S. ’18]

15

slide-32
SLIDE 32

SAT Instance

  • Problem: naive CNF formulation much too big

16

slide-33
SLIDE 33

SAT Instance

  • use symmetries
  • Problem: naive CNF formulation much too big

16

slide-34
SLIDE 34

SAT Instance

∅ { 5 } { 4 } { 4,5 } { 3 } { 3,5 } { 3,4 } { 3,4,5 } { 2 } { 2,5 } { 2,4 } { 2,4,5 } { 2,3 } { 2,3,5 } { 2,3,4 } { 2,3,4,5 } { 1 } { 1,5 } { 1,4 } { 1,4,5 } { 1,3 } { 1,3,5 } { 1,3,4 } { 1,3,4,5 } { 1,2 } { 1,2,5 } { 1,2,4 } { 1,2,4,5 } { 1,2,3 } { 1,2,3,5 } { 1,2,3,4 } { 1,2,3,4,5 }

16

slide-35
SLIDE 35

SAT Instance

{1,2,3,4,5} {1,2,3,4} {1} ∅ {1,2,3} {1,2} {1,3} {1,3,4} ∅ { 5 } { 4 } { 4,5 } { 3 } { 3,5 } { 3,4 } { 3,4,5 } { 2 } { 2,5 } { 2,4 } { 2,4,5 } { 2,3 } { 2,3,5 } { 2,3,4 } { 2,3,4,5 } { 1 } { 1,5 } { 1,4 } { 1,4,5 } { 1,3 } { 1,3,5 } { 1,3,4 } { 1,3,4,5 } { 1,2 } { 1,2,5 } { 1,2,4 } { 1,2,4,5 } { 1,2,3 } { 1,2,3,5 } { 1,2,3,4 } { 1,2,3,4,5 }

16

slide-36
SLIDE 36

SAT Instance

  • iteratively add clauses to “correct errors”
  • use symmetries

(incremental solving supported by minisat/glucose)

  • Problem: naive CNF formulation much too big

16

slide-37
SLIDE 37

And now for something more completely different

17

slide-38
SLIDE 38

Classical Erd˝

  • s–Szekeres
  • Given n points in the plane in general position,

is there subset size k in convex position (”k-gon”)?

18

slide-39
SLIDE 39

Classical Erd˝

  • s–Szekeres
  • Given n points in the plane in general position,

is there subset size k in convex position (”k-gon”)? 7-gon

18

slide-40
SLIDE 40

Classical Erd˝

  • s–Szekeres
  • Given n points in the plane in general position,

is there subset size k in convex position (”k-gon”)?

  • Theorem. 2k−2 + 1 ≤ g(k) ≤

2k−4

k−2

  • . [Erd˝
  • s–Szekeres ’35]

equality conjectured by Szekeres, Erd˝

  • s offered 500$ for a proof

18

slide-41
SLIDE 41

Classical Erd˝

  • s–Szekeres
  • Given n points in the plane in general position,

is there subset size k in convex position (”k-gon”)?

  • Theorem. 2k−2 + 1 ≤ g(k) ≤

2k−4

k−2

  • . [Erd˝
  • s–Szekeres ’35]
  • Theorem. g(k) ≤ 2k+o(k). [Suk ’17]

. . .

18

slide-42
SLIDE 42

Classical Erd˝

  • s–Szekeres
  • Given n points in the plane in general position,

is there subset size k in convex position (”k-gon”)?

  • Theorem. 2k−2 + 1 ≤ g(k) ≤

2k−4

k−2

  • . [Erd˝
  • s–Szekeres ’35]
  • Theorem. g(k) ≤ 2k+o(k). [Suk ’17]

Known: g(4) = 5, g(5) = 9, g(6) = 17 computer assisted proof, 1500 CPU hours [Szekeres–Peters ’06] . . .

18

slide-43
SLIDE 43

Classical Erd˝

  • s–Szekeres
  • Given n points in the plane in general position,

is there subset size k in convex position (”k-gon”)?

  • Theorem. 2k−2 + 1 ≤ g(k) ≤

2k−4

k−2

  • . [Erd˝
  • s–Szekeres ’35]
  • Theorem. g(k) ≤ 2k+o(k). [Suk ’17]

Known: g(4) = 5, g(5) = 9, g(6) = 17 computer assisted proof, 1500 CPU hours [Szekeres–Peters ’06] 1 hour using SAT solvers! . . .

18

slide-44
SLIDE 44

SAT Formulation

  • Variables for triple-orientations: χabc ∈ {+, −}

+ –

a b c d

19

slide-45
SLIDE 45

SAT Formulation

  • Variables for triple-orientations: χabc ∈ {+, −}
  • Axiomatize ”point set”: chirotope/signotope axioms
  • Alternating axioms:

χiπ(1),iπ(2),iπ(3) = sgn(π) · χi1,i2,i3

  • Exchange axioms:

For any x1, . . . , xr, y1, . . . , yr: If χyi,x2,...,xr · χy1,...,yi−1,x1,yi+1,...,yr ≥ 0 for every i, then χx1,...,xr · χy1,...,yr ≥ 0

Θ(n6) many

19

slide-46
SLIDE 46

SAT Formulation

  • Variables for triple-orientations: χabc ∈ {+, −}
  • Axiomatize ”point set”: chirotope/signotope axioms
  • Crossings via triple-orientations

χabc = χabd and χcda = χcdb a b c d

19

slide-47
SLIDE 47

SAT Formulation

  • Variables for triple-orientations: χabc ∈ {+, −}
  • Axiomatize ”point set”: chirotope/signotope axioms
  • Crossings via triple-orientations
  • k-gons via crossings

(every 4-tuple in k-gon is in convex positon)

19

slide-48
SLIDE 48

Variant: k-Holes

  • k-hole . . . k-gon with no interior points

20

slide-49
SLIDE 49

Variant: k-Holes

  • k-hole . . . k-gon with no interior points
  • h(4) = 5, h(5) = 10, 30 ≤ h(6) ≤ 463, h(7) = ∞

Harborth ’78 Overmars ’02 Gerken ’08, Nicolas ’07, Koshelev ’09 Horton’83

20

slide-50
SLIDE 50

Variant: k-Holes

  • k-hole . . . k-gon with no interior points
  • h(4) = 5, h(5) = 10, 30 ≤ h(6) ≤ 463, h(7) = ∞
  • h3(n) and h4(n) quadratic

number of 3- and 4-holes, resp.

20

slide-51
SLIDE 51

Variant: k-Holes

  • k-hole . . . k-gon with no interior points
  • h(4) = 5, h(5) = 10, 30 ≤ h(6) ≤ 463, h(7) = ∞
  • h3(n) and h4(n) quadratic
  • h5(n) = Ω(n log4/5 n) and h6(n) = Ω(n)

20

slide-52
SLIDE 52

Variant: k-Holes

  • k-hole . . . k-gon with no interior points
  • h(4) = 5, h(5) = 10, 30 ≤ h(6) ≤ 463, h(7) = ∞
  • h3(n) and h4(n) quadratic
  • h5(n) = Ω(n log4/5 n) and h6(n) = Ω(n)
  • hk(n) determined for small values of n

n 9 10 11 12 13 14 15 16 17 18 19 h5(n) 1 2 3 3 6 9 11 ≤ 16 ≤ 21 ≤ 26

via SAT S.’13 Harborth ’78 & Dehnhardt ’87

20

slide-53
SLIDE 53

Couting via SAT

  • k-holes via crossings and containments
  • containment p ∈ △(a, b, c) via ”no crossings”
  • count with variables Xa,b,c,...;ℓ :

a, b, c, . . . form the ℓ-th k-hole (in lexicographic order)

21

slide-54
SLIDE 54

And now for something more completely different

22

slide-55
SLIDE 55

Universal Point Sets for Planar Graphs

joint work with Hendrik Schrezenmaier and Raphael Steiner arXiv:1811.06482

23

slide-56
SLIDE 56

Universal Point Sets for Planar Graphs

Definition: n-universal point set S: ∀ planar n-vertex graph G can be drawn straight-line on S.

24

slide-57
SLIDE 57

Universal Point Sets for Planar Graphs

Definition: n-universal point set S: ∀ planar n-vertex graph G can be drawn straight-line on S.

  • n × n grid is n-universal [De Fraysseix–Pach–Pollack ’90]
  • . . .
  • |S| ≤ n2

4 − O(n) [Bannister–Cheng–Devanny–Eppstein ’14]

24

slide-58
SLIDE 58

Universal Point Sets for Planar Graphs

Definition: n-universal point set S: ∀ planar n-vertex graph G can be drawn straight-line on S.

  • n × n grid is n-universal [De Fraysseix–Pach–Pollack ’90]
  • . . .
  • |S| ≤ n2

4 − O(n) [Bannister–Cheng–Devanny–Eppstein ’14]

  • |S| ≥ n + Ω(√n) [De Fraysseix–Pach–Pollack ’90]
  • . . .
  • |S| ≥ 1.235n(1 + o(1)) [Kurowski ’04]

24

slide-59
SLIDE 59

Universal Point Sets for Planar Graphs

Definition: n-universal point set S: ∀ planar n-vertex graph G can be drawn straight-line on S.

  • ∃ n-universal sets for n ≤ 10 [Cardinal–Hoffmann–Kusters ’15]
  • ∄ n-universal sets for n ≥ 15 [Cardinal–Hoffmann–Kusters ’15]
  • n × n grid is n-universal [De Fraysseix–Pach–Pollack ’90]
  • . . .
  • |S| ≤ n2

4 − O(n) [Bannister–Cheng–Devanny–Eppstein ’14]

  • |S| ≥ n + Ω(√n) [De Fraysseix–Pach–Pollack ’90]
  • . . .
  • |S| ≥ 1.235n(1 + o(1)) [Kurowski ’04]

24

slide-60
SLIDE 60

Universal Point Sets for Planar Graphs

Definition: n-universal point set S: ∀ planar n-vertex graph G can be drawn straight-line on S.

  • ∃ n-universal sets for n ≤ 10 [Cardinal–Hoffmann–Kusters ’15]
  • ∄ n-universal sets for n ≥ 15 [Cardinal–Hoffmann–Kusters ’15]
  • n × n grid is n-universal [De Fraysseix–Pach–Pollack ’90]
  • . . .
  • |S| ≤ n2

4 − O(n) [Bannister–Cheng–Devanny–Eppstein ’14]

  • |S| ≥ n + Ω(√n) [De Fraysseix–Pach–Pollack ’90]
  • . . .
  • |S| ≥ 1.235n(1 + o(1)) [Kurowski ’04]

∄ 11-universal set on 11 points |S| ≥ 1.293n(1 + o(1))

24

slide-61
SLIDE 61

Universal Point Sets for Planar Graphs

SAT model for a fixed set S and fixed graph G ∈ G:

  • Injective mapping V (G) → S
  • No two edges cross (planarity)

(similar idea as in L-shaped model)

25

slide-62
SLIDE 62

Universal Point Sets for Planar Graphs

SAT model for a fixed set S and fixed graph G ∈ G:

  • Injective mapping V (G) → S
  • No two edges cross (planarity)

(similar idea as in L-shaped model)

  • all graphs can be handled simultaneously
  • all point sets simultaneously (chirotope/signotope axioms)

. . . but solvers do not terminate . . . All in one SAT instance:

25

slide-63
SLIDE 63

Universal Point Sets for Planar Graphs

  • Enumerate all triangulations on 11 vertices (plantri)

(1,249)

26

slide-64
SLIDE 64

Universal Point Sets for Planar Graphs

  • Enumerate all triangulations on 11 vertices (plantri)
  • Enumerate all chirotopes on 11 points

via chirotope axioms, 20 CPU hours, 100 GB storage (2,343,203,071) (1,249)

26

slide-65
SLIDE 65

Universal Point Sets for Planar Graphs

  • Enumerate all triangulations on 11 vertices (plantri)
  • Enumerate all chirotopes on 11 points
  • Test each pair S and G (SAT)

priority queue (”hard” triangulations first)

  • Start with G as 11-vertex triangulations with maximum degree 10

(2,343,203,071) (1,249)

26

slide-66
SLIDE 66

Universal Point Sets for Planar Graphs

  • Enumerate all triangulations on 11 vertices (plantri)
  • Enumerate all chirotopes on 11 points
  • Test each pair S and G (SAT)
  • Start with G as 11-vertex triangulations with maximum degree 10
  • For remaining G-universal sets, use IP to find minimal set of

triangulations which need to be added (2,343,203,071) (1,249)

26

slide-67
SLIDE 67

Universal Point Sets for Planar Graphs

  • Enumerate all triangulations on 11 vertices (plantri)
  • Enumerate all chirotopes on 11 points
  • Test each pair S and G (SAT)
  • 500 CPU days later:

conflict collection of 23 stacked triangulations !

  • Start with G as 11-vertex triangulations with maximum degree 10
  • For remaining G-universal sets, use IP to find minimal set of

triangulations which need to be added previously: 7393 (2,343,203,071) (1,249)

26

slide-68
SLIDE 68

Thank you for your attention!

27