Stick Graphs with Length Constraints Steven Chaplick, Philipp - - PowerPoint PPT Presentation

stick graphs with length constraints
SMART_READER_LITE
LIVE PREVIEW

Stick Graphs with Length Constraints Steven Chaplick, Philipp - - PowerPoint PPT Presentation

Stick Graphs with Length Constraints Steven Chaplick, Philipp Kindermann, Andre L offler, Florian Thiele, Alexander Wolff, Alexander Zaft, and Johannes Zink Introduction 2 Given a collection S of geometric objects Introduction 2


slide-1
SLIDE 1

Stick Graphs with Length Constraints

Steven Chaplick, Philipp Kindermann, Andre L¨

  • ffler,

Florian Thiele, Alexander Wolff, Alexander Zaft, and Johannes Zink

slide-2
SLIDE 2

Introduction

  • Given a collection S of geometric objects

2

slide-3
SLIDE 3

Introduction

  • Given a collection S of geometric objects
  • The intersection graph G of S has

– S as its vertex set – an edge for each two elements of S that intersect or touch each other.

2

slide-4
SLIDE 4

Introduction

  • S: line segments

⇒ G: segment graph

  • Given a collection S of geometric objects
  • The intersection graph G of S has

– S as its vertex set – an edge for each two elements of S that intersect or touch each other.

2

slide-5
SLIDE 5

Introduction

  • S: line segments

⇒ G: segment graph

  • Given a collection S of geometric objects
  • The intersection graph G of S has

– S as its vertex set – an edge for each two elements of S that intersect or touch each other.

segment graphs

2

slide-6
SLIDE 6

Introduction

  • S: line segments

⇒ G: segment graph

  • Given a collection S of geometric objects
  • The intersection graph G of S has

– S as its vertex set – an edge for each two elements of S that intersect or touch each other.

  • S: horizontal & vertical segments

⇒ G: grid intersection graph

segment graphs

2

slide-7
SLIDE 7

Introduction

  • S: line segments

⇒ G: segment graph

  • Given a collection S of geometric objects
  • The intersection graph G of S has

– S as its vertex set – an edge for each two elements of S that intersect or touch each other.

  • S: horizontal & vertical segments

⇒ G: grid intersection graph

segment graphs grid intersec. graphs

2

slide-8
SLIDE 8

Introduction

  • S: line segments

⇒ G: segment graph

  • Given a collection S of geometric objects
  • The intersection graph G of S has

– S as its vertex set – an edge for each two elements of S that intersect or touch each other.

  • S: horizontal & vertical segments

⇒ G: grid intersection graph

  • S: horizontal & vertical segments grounded
  • n a line of slope −1

⇒ G: stick graph

segment graphs grid intersec. graphs

2

slide-9
SLIDE 9

Introduction

  • S: line segments

⇒ G: segment graph

  • Given a collection S of geometric objects
  • The intersection graph G of S has

– S as its vertex set – an edge for each two elements of S that intersect or touch each other.

  • S: horizontal & vertical segments

⇒ G: grid intersection graph

  • S: horizontal & vertical segments grounded
  • n a line of slope −1

⇒ G: stick graph

segment graphs stick graphs grid intersec. graphs

2

slide-10
SLIDE 10

Introduction

  • S: line segments

⇒ G: segment graph

  • S: horizontal & vertical segments grounded on

two parallel lines ⇒ G: bipartite permutation graph

  • Given a collection S of geometric objects
  • The intersection graph G of S has

– S as its vertex set – an edge for each two elements of S that intersect or touch each other.

  • S: horizontal & vertical segments

⇒ G: grid intersection graph

  • S: horizontal & vertical segments grounded
  • n a line of slope −1

⇒ G: stick graph

segment graphs stick graphs grid intersec. graphs

2

slide-11
SLIDE 11

Introduction

  • S: line segments

⇒ G: segment graph

  • S: horizontal & vertical segments grounded on

two parallel lines ⇒ G: bipartite permutation graph

  • Given a collection S of geometric objects
  • The intersection graph G of S has

– S as its vertex set – an edge for each two elements of S that intersect or touch each other.

  • S: horizontal & vertical segments

⇒ G: grid intersection graph

  • S: horizontal & vertical segments grounded
  • n a line of slope −1

⇒ G: stick graph

segment graphs bip. permu. graphs stick graphs grid intersec. graphs

2

slide-12
SLIDE 12

Computational Complexity

Recognition problem: Decide whether a given graph is an intersection graph.

3

slide-13
SLIDE 13

Computational Complexity

segment graphs bip. permu. graphs stick graphs grid intersec. graphs Recognition problem: Decide whether a given graph is an intersection graph. How hard for each class?

3

slide-14
SLIDE 14

Computational Complexity

segment graphs bip. permu. graphs stick graphs grid intersec. graphs Recognition problem: Decide whether a given graph is an intersection graph. How hard for each class? segment graphs: ∃R-complete [Kratochv´ ıl, Matouˇ sek ’94; Matouˇ sek ’14]

3

slide-15
SLIDE 15

Computational Complexity

segment graphs bip. permu. graphs stick graphs grid intersec. graphs Recognition problem: Decide whether a given graph is an intersection graph. How hard for each class? segment graphs: ∃R-complete [Kratochv´ ıl, Matouˇ sek ’94; Matouˇ sek ’14] grid intersection graphs: NP-complete [Kratochv´ ıl ’94]

3

slide-16
SLIDE 16

Computational Complexity

segment graphs bip. permu. graphs stick graphs grid intersec. graphs Recognition problem: Decide whether a given graph is an intersection graph. How hard for each class? segment graphs: ∃R-complete [Kratochv´ ıl, Matouˇ sek ’94; Matouˇ sek ’14] grid intersection graphs: NP-complete [Kratochv´ ıl ’94] (bipart.) permutation graphs: linear time [Spinrad et al. ’87; Kratsch et al. ’06]

3

slide-17
SLIDE 17

Computational Complexity

segment graphs bip. permu. graphs stick graphs grid intersec. graphs Recognition problem: Decide whether a given graph is an intersection graph. How hard for each class? segment graphs: ∃R-complete [Kratochv´ ıl, Matouˇ sek ’94; Matouˇ sek ’14] grid intersection graphs: NP-complete [Kratochv´ ıl ’94] (bipart.) permutation graphs: linear time [Spinrad et al. ’87; Kratsch et al. ’06] stick graphs: ???

3

slide-18
SLIDE 18

Computational Complexity

segment graphs bip. permu. graphs stick graphs grid intersec. graphs Recognition problem: Decide whether a given graph is an intersection graph. How hard for each class? segment graphs: ∃R-complete [Kratochv´ ıl, Matouˇ sek ’94; Matouˇ sek ’14] grid intersection graphs: NP-complete [Kratochv´ ıl ’94] (bipart.) permutation graphs: linear time [Spinrad et al. ’87; Kratsch et al. ’06] stick graphs: ???

remains open. . .

3

slide-19
SLIDE 19

Versions of Stick Graph Recognition

4

slide-20
SLIDE 20

Versions of Stick Graph Recognition

Given a bipartite Graph G = (A ˙ ∪B, E), does G admit a stick representation . . .

4

slide-21
SLIDE 21

Versions of Stick Graph Recognition

Given a bipartite Graph G = (A ˙ ∪B, E), does G admit a stick representation . . .

  • STICK: . . . ?

4

slide-22
SLIDE 22

Versions of Stick Graph Recognition

Given a bipartite Graph G = (A ˙ ∪B, E), does G admit a stick representation . . .

  • STICK: . . . ?

4

slide-23
SLIDE 23

Versions of Stick Graph Recognition

Given a bipartite Graph G = (A ˙ ∪B, E), does G admit a stick representation . . .

  • STICK: . . . ?
  • STICKA:

. . . if a permutation of the vertices in A is given?

4

slide-24
SLIDE 24

Versions of Stick Graph Recognition

Given a bipartite Graph G = (A ˙ ∪B, E), does G admit a stick representation . . .

  • STICK: . . . ?
  • STICKA:

. . . if a permutation of the vertices in A is given?

4

slide-25
SLIDE 25

Versions of Stick Graph Recognition

Given a bipartite Graph G = (A ˙ ∪B, E), does G admit a stick representation . . .

  • STICK: . . . ?
  • STICKA:

. . . if a permutation of the vertices in A is given?

  • STICKAB:

. . . if a permutation of the vertices in A and a permutation of the vertices in B is given?

4

slide-26
SLIDE 26

Versions of Stick Graph Recognition

Given a bipartite Graph G = (A ˙ ∪B, E), does G admit a stick representation . . .

  • STICK: . . . ?
  • STICKA:

. . . if a permutation of the vertices in A is given?

  • STICKAB:

. . . if a permutation of the vertices in A and a permutation of the vertices in B is given?

4

slide-27
SLIDE 27

Versions of Stick Graph Recognition

Given a bipartite Graph G = (A ˙ ∪B, E), does G admit a stick representation . . .

  • STICK: . . . ?
  • STICKA:

. . . if a permutation of the vertices in A is given?

  • STICKAB:

. . . if a permutation of the vertices in A and a permutation of the vertices in B is given?

  • STICKfix

⋆ :

. . . if a stick length for each vertex (and possibly permutations of A, or A and B) is given?

4

slide-28
SLIDE 28

Versions of Stick Graph Recognition

Given a bipartite Graph G = (A ˙ ∪B, E), does G admit a stick representation . . .

  • STICK: . . . ?
  • STICKA:

. . . if a permutation of the vertices in A is given?

  • STICKAB:

. . . if a permutation of the vertices in A and a permutation of the vertices in B is given?

  • STICKfix

⋆ :

. . . if a stick length for each vertex (and possibly permutations of A, or A and B) is given?

4

slide-29
SLIDE 29

Versions of Stick Graph Recognition

Given a bipartite Graph G = (A ˙ ∪B, E), does G admit a stick representation . . .

  • STICK: . . . ?
  • STICKA:

. . . if a permutation of the vertices in A is given?

  • STICKAB:

. . . if a permutation of the vertices in A and a permutation of the vertices in B is given?

  • STICKfix

⋆ :

. . . if a stick length for each vertex (and possibly permutations of A, or A and B) is given? First investigated by De Luca et al. [GD’18]               

4

slide-30
SLIDE 30

Versions of Stick Graph Recognition

Given a bipartite Graph G = (A ˙ ∪B, E), does G admit a stick representation . . .

  • STICK: . . . ?
  • STICKA:

. . . if a permutation of the vertices in A is given?

  • STICKAB:

. . . if a permutation of the vertices in A and a permutation of the vertices in B is given?

  • STICKfix

⋆ :

. . . if a stick length for each vertex (and possibly permutations of A, or A and B) is given? First investigated by De Luca et al. [GD’18]               

new

  

4

slide-31
SLIDE 31

Complexity of Recognition STICKfix

STICK⋆ ⋆ A AB

for a bipartite graph G = (A ∪ B, E)

5

slide-32
SLIDE 32

Complexity of Recognition STICKfix

STICK⋆ ⋆ A AB ? ? ? ? ?1

1an O(|A|3|B|3) time algorithm proposed by De Luca et al. turned out to be wrong

O(|A||B|)

[De Luca et al. GD’18] for a bipartite graph G = (A ∪ B, E)

5

slide-33
SLIDE 33

Complexity of Recognition STICKfix

STICK⋆ ⋆ A AB ? ? ? ? ?1

1an O(|A|3|B|3) time algorithm proposed by De Luca et al. turned out to be wrong

O(|A||B|)

[De Luca et al. GD’18]

  • ur results

for a bipartite graph G = (A ∪ B, E)

5

slide-34
SLIDE 34

Complexity of Recognition STICKfix

STICK⋆ ⋆ A AB ? ? ? ? ?1

1an O(|A|3|B|3) time algorithm proposed by De Luca et al. turned out to be wrong

O(|A||B|)

[De Luca et al. GD’18]

  • ur results

O(|A||B|)

for a bipartite graph G = (A ∪ B, E)

5

slide-35
SLIDE 35

Complexity of Recognition STICKfix

STICK⋆ ⋆ A AB ? ? ? ? ?1

1an O(|A|3|B|3) time algorithm proposed by De Luca et al. turned out to be wrong

O(|A||B|)

[De Luca et al. GD’18]

  • ur results

O(|A||B|) O(|E|)

for a bipartite graph G = (A ∪ B, E)

5

slide-36
SLIDE 36

Complexity of Recognition STICKfix

STICK⋆ ⋆ A AB ? ? ? ? ?1

1an O(|A|3|B|3) time algorithm proposed by De Luca et al. turned out to be wrong

O(|A||B|)

[De Luca et al. GD’18]

  • ur results

O(|A||B|) O(|E|) NP-complete

for a bipartite graph G = (A ∪ B, E)

5

slide-37
SLIDE 37

Complexity of Recognition STICKfix

STICK⋆ ⋆ A AB ? ? ? ? ?1

1an O(|A|3|B|3) time algorithm proposed by De Luca et al. turned out to be wrong

O(|A||B|)

[De Luca et al. GD’18]

  • ur results

O(|A||B|) O(|E|) NP-complete NP-complete

for a bipartite graph G = (A ∪ B, E)

5

slide-38
SLIDE 38

Complexity of Recognition STICKfix

STICK⋆ ⋆ A AB ? ? ? ? ?1

1an O(|A|3|B|3) time algorithm proposed by De Luca et al. turned out to be wrong

O(|A||B|)

[De Luca et al. GD’18]

  • ur results

O(|A||B|) O(|E|) NP-complete NP-complete NP-complete

in general:

for a bipartite graph G = (A ∪ B, E)

5

slide-39
SLIDE 39

Complexity of Recognition STICKfix

STICK⋆ ⋆ A AB ? ? ? ? ?1

1an O(|A|3|B|3) time algorithm proposed by De Luca et al. turned out to be wrong

O(|A||B|)

[De Luca et al. GD’18]

  • ur results

O(|A||B|) O(|E|) NP-complete NP-complete NP-complete

O((|A| + |B|)2)

in general: w/o isolated vtc.:

for a bipartite graph G = (A ∪ B, E)

5

slide-40
SLIDE 40

Complexity of Recognition STICKfix

STICK⋆ ⋆ A AB ? ? ? ? ?1

1an O(|A|3|B|3) time algorithm proposed by De Luca et al. turned out to be wrong

O(|A||B|)

[De Luca et al. GD’18]

  • ur results

O(|A||B|) O(|E|) NP-complete NP-complete NP-complete

O((|A| + |B|)2)

in general: w/o isolated vtc.:

for a bipartite graph G = (A ∪ B, E)

next

5

slide-41
SLIDE 41

Complexity of Recognition STICKfix

STICK⋆ ⋆ A AB ? ? ? ? ?1

1an O(|A|3|B|3) time algorithm proposed by De Luca et al. turned out to be wrong

O(|A||B|)

[De Luca et al. GD’18]

  • ur results

O(|A||B|) O(|E|) NP-complete NP-complete NP-complete

O((|A| + |B|)2)

in general: w/o isolated vtc.:

for a bipartite graph G = (A ∪ B, E)

next afterwards

5

slide-42
SLIDE 42

Algorithm for STICKA O(|A||B|) O(|E|) NP-complete NP-complete NP-complete

O((|A| + |B|)2)

in general: w/o isolated vtc.:

STICKfix

STICK⋆ ⋆ A AB ?

6

slide-43
SLIDE 43

Algorithm for STICKA

  • Sweep-line along the ordered vertical sticks in A:

enter event (i) and exit event (i ) for each ai ∈ A

7

slide-44
SLIDE 44

Algorithm for STICKA

  • Sweep-line along the ordered vertical sticks in A:

enter event (i) and exit event (i ) for each ai ∈ A

  • Let p ∈ { i, i

}, G i := subgraph induced by a1, . . . , ai and their neighbors, Bp := vertices in B that intersect the sweep-line at event p

7

slide-45
SLIDE 45

Algorithm for STICKA

  • Sweep-line along the ordered vertical sticks in A:

enter event (i) and exit event (i ) for each ai ∈ A

  • Let p ∈ { i, i

}, G i := subgraph induced by a1, . . . , ai and their neighbors, Bp := vertices in B that intersect the sweep-line at event p

  • (Rooted) tree data structure T p:

7

slide-46
SLIDE 46

Algorithm for STICKA

  • Sweep-line along the ordered vertical sticks in A:

enter event (i) and exit event (i ) for each ai ∈ A

  • Let p ∈ { i, i

}, G i := subgraph induced by a1, . . . , ai and their neighbors, Bp := vertices in B that intersect the sweep-line at event p

  • (Rooted) tree data structure T p:

– contains two types of nodes: leaves and non-leaves

7

slide-47
SLIDE 47

Algorithm for STICKA

  • Sweep-line along the ordered vertical sticks in A:

enter event (i) and exit event (i ) for each ai ∈ A

  • Let p ∈ { i, i

}, G i := subgraph induced by a1, . . . , ai and their neighbors, Bp := vertices in B that intersect the sweep-line at event p

  • (Rooted) tree data structure T p:

– contains two types of nodes: leaves and non-leaves – each leaf corresponds to a vertex in Bp

7

slide-48
SLIDE 48

Algorithm for STICKA

  • Sweep-line along the ordered vertical sticks in A:

enter event (i) and exit event (i ) for each ai ∈ A

  • Let p ∈ { i, i

}, G i := subgraph induced by a1, . . . , ai and their neighbors, Bp := vertices in B that intersect the sweep-line at event p

  • (Rooted) tree data structure T p:

– contains two types of nodes: leaves and non-leaves – each leaf corresponds to a vertex in Bp – the order of leaves is free; the order of non-leaves is fixed

7

slide-49
SLIDE 49

Algorithm for STICKA

  • Sweep-line along the ordered vertical sticks in A:

enter event (i) and exit event (i ) for each ai ∈ A

  • Let p ∈ { i, i

}, G i := subgraph induced by a1, . . . , ai and their neighbors, Bp := vertices in B that intersect the sweep-line at event p

  • (Rooted) tree data structure T p:

– contains two types of nodes: leaves and non-leaves – each leaf corresponds to a vertex in Bp – the order of leaves is free; the order of non-leaves is fixed – encodes all realizable permutations of Bp

7

slide-50
SLIDE 50

Algorithm for STICKA

  • Sweep-line along the ordered vertical sticks in A:

enter event (i) and exit event (i ) for each ai ∈ A

  • Let p ∈ { i, i

}, G i := subgraph induced by a1, . . . , ai and their neighbors, Bp := vertices in B that intersect the sweep-line at event p

  • (Rooted) tree data structure T p:

– contains two types of nodes: leaves and non-leaves – each leaf corresponds to a vertex in Bp – the order of leaves is free; the order of non-leaves is fixed – encodes all realizable permutations of Bp

7

slide-51
SLIDE 51

Algorithm for STICKA

  • Sweep-line along the ordered vertical sticks in A:

enter event (i) and exit event (i ) for each ai ∈ A

  • Let p ∈ { i, i

}, G i := subgraph induced by a1, . . . , ai and their neighbors, Bp := vertices in B that intersect the sweep-line at event p

  • (Rooted) tree data structure T p:

– contains two types of nodes: leaves and non-leaves – each leaf corresponds to a vertex in Bp – the order of leaves is free; the order of non-leaves is fixed – encodes all realizable permutations of Bp

7

slide-52
SLIDE 52

Example for STICKA

G:

a1 a2 a3

G 0 : i = 0 B0 = ∅ Event: Start T 0 :

b1 b3 b5 b2 b4 b6 fixed order free order

8

slide-53
SLIDE 53

Example for STICKA

G:

a1 a2 a3

G 1 : i = 1 B1 = {b1, b2, b4} Event: 1 T 1 :

b1 b3 b5 b2 b4 b6 a1 b1 b2 b4 b1 b2 b4 b1 b2 b4 fixed order free order a1

8

slide-54
SLIDE 54

Example for STICKA

G:

a1 a2 a3 b1 b3 b5 b2 b4 b6

G 1 : i = 1 B1 = {b1, b2, b4} Event: 1 T 1 :

a1 b1 b2 b4 b1 b2 b4 a1 b1 b2 b4 fixed order free order

8

slide-55
SLIDE 55

Example for STICKA

a2 b5 b3

G:

a1 a2 a3 b1 b3 b5 b2 b4 b6

G 2 : i = 2 B2 = {b1, b2, b3,b4, b5} Event: 2 T 2 :

a1 b1 b2 b4 b1 b2 b3 b5 b4 b4 b1 b2 b3 b5 a1 fixed order free order a2

8

slide-56
SLIDE 56

Example for STICKA

G:

a1 a2 a3 b1 b3 b5 b2 b4 b6

G 2 :

a1 b1 b2 b4 a2 b5 b3 b4 b2 b5 a1 a2

i = 2 B2 = {b1,b2, b3,b4, b5} Event: 2 T 2 :

b1 b2 b3 b5 b4 fixed order free order b1 b3

8

slide-57
SLIDE 57

Example for STICKA

a3 b6

G:

a1 a2 a3 b1 b3 b5 b2 b4 b6

G 3 :

b4 b2 b5 a1 a2 b1 b3

i = 3 B3 = {b2, b4, b5, b6} Event: 3 T 3 :

a1 a2 b1 b3 b5 b2 b4 b2 b5 b4 b6 b6 fixed order free order a3

8

slide-58
SLIDE 58

Example for STICKA

G:

a1 a2 a3 b1 b3 b5 b2 b4 b6

G 3 :

a1 a2 b1 b3 a1 a2 a3 b1 b3 b5 b2 b4 b6 b2 b5 b4 b6 a3

i = 3 B3 = {b2, b4, b5, b6} Event: 3 T 3 :

fixed order free order b4 b2 b5 b6

8

slide-59
SLIDE 59

Example for STICKA

G:

a1 a2 a3 b1 b3 b5 b2 b4 b6 a1 a2 b1 b3 a3

i = 3 Event: End

fixed order free order b4 b2 b5 b6

8

slide-60
SLIDE 60

Example for STICKA

G:

a1 a2 a3 b1 b3 b5 b2 b4 b6 a1 a2 b1 b3 a3

i = 3 Event: End

fixed order free order b4 b2 b5 b6

Runtime in O(|A| · |B|)

8

slide-61
SLIDE 61

STICKfix

AB with isolated vertices

O(|A||B|) O(|E|) NP-complete NP-complete NP-complete

O((|A| + |B|)2)

in general: w/o isolated vtc.:

STICKfix

STICK⋆ ⋆ A AB ?

9

slide-62
SLIDE 62

Hardness of STICKfix

AB

  • NP-hardness by reduction from MONOTONE-3-SAT

10

slide-63
SLIDE 63

Hardness of STICKfix

AB

  • NP-hardness by reduction from MONOTONE-3-SAT
  • Variable gadget:

false

10

slide-64
SLIDE 64

Hardness of STICKfix

AB

  • NP-hardness by reduction from MONOTONE-3-SAT
  • Variable gadget:

true

10

slide-65
SLIDE 65

Hardness of STICKfix

AB

  • NP-hardness by reduction from MONOTONE-3-SAT
  • Variable gadget:

. . . true a l l c l a u s e g a d g e t s

10

slide-66
SLIDE 66

Hardness of STICKfix

AB

  • NP-hardness by reduction from MONOTONE-3-SAT
  • Variable gadget:

. . . true a l l c l a u s e g a d g e t s

10

slide-67
SLIDE 67

Hardness of STICKfix

AB

  • NP-hardness by reduction from MONOTONE-3-SAT
  • Variable gadget:

false a l l c l a u s e g a d g e t s . . .

10

slide-68
SLIDE 68

Hardness of STICKfix

AB

  • NP-hardness by reduction from MONOTONE-3-SAT
  • Variable gadget:

false a l l c l a u s e g a d g e t s . . .

  • Clause gadget:

10

slide-69
SLIDE 69

Hardness of STICKfix

AB

  • NP-hardness by reduction from MONOTONE-3-SAT
  • Variable gadget:

false a l l c l a u s e g a d g e t s . . .

  • Clause gadget:

10

slide-70
SLIDE 70

Hardness of STICKfix

AB

  • NP-hardness by reduction from MONOTONE-3-SAT
  • Variable gadget:

false a l l c l a u s e g a d g e t s . . .

  • Clause gadget:

≈ 4 ≈ 1

10

slide-71
SLIDE 71

Hardness of STICKfix

AB

  • NP-hardness by reduction from MONOTONE-3-SAT
  • Variable gadget:

false a l l c l a u s e g a d g e t s . . .

  • Clause gadget:

x1 = false

10

slide-72
SLIDE 72

Hardness of STICKfix

AB

  • NP-hardness by reduction from MONOTONE-3-SAT
  • Variable gadget:

false a l l c l a u s e g a d g e t s . . .

  • Clause gadget:

x1 = true

10

slide-73
SLIDE 73

Hardness of STICKfix

AB

  • NP-hardness by reduction from MONOTONE-3-SAT
  • Variable gadget:

false a l l c l a u s e g a d g e t s . . .

  • Clause gadget:

x1 = true x2 = true

10

slide-74
SLIDE 74

Hardness of STICKfix

AB

  • NP-hardness by reduction from MONOTONE-3-SAT
  • Variable gadget:

false a l l c l a u s e g a d g e t s . . .

  • Clause gadget:

x1 = true x2 = true x3 = true

10

slide-75
SLIDE 75

Hardness of STICKfix

AB

  • NP-hardness by reduction from MONOTONE-3-SAT
  • Variable gadget:

false a l l c l a u s e g a d g e t s . . .

  • Clause gadget:

x1 = true x2 = true x3 = true empty

10

slide-76
SLIDE 76

Hardness of STICKfix

AB

  • NP-hardness by reduction from MONOTONE-3-SAT
  • Variable gadget:

false a l l c l a u s e g a d g e t s . . .

  • Clause gadget:

x1 = true x2 = true x3 = true empty

10

slide-77
SLIDE 77

Hardness of STICKfix

AB

  • NP-hardness by reduction from MONOTONE-3-SAT
  • Variable gadget:

false a l l c l a u s e g a d g e t s . . .

  • Clause gadget:

x1 = true x2 = true x3 = true empty

≈ 2

10

slide-78
SLIDE 78

Hardness of STICKfix

AB

  • NP-hardness by reduction from MONOTONE-3-SAT
  • Variable gadget:

false a l l c l a u s e g a d g e t s . . .

  • Clause gadget:

x1 = true x2 = true empty x3 = false

10

slide-79
SLIDE 79

Hardness of STICKfix

AB

  • NP-hardness by reduction from MONOTONE-3-SAT
  • Variable gadget:

false a l l c l a u s e g a d g e t s . . .

  • Clause gadget:

x1 = true x3 = true empty x2 = false

10

slide-80
SLIDE 80

Hardness of STICKfix

AB

  • NP-hardness by reduction from MONOTONE-3-SAT
  • Variable gadget:

false a l l c l a u s e g a d g e t s . . .

  • Clause gadget:

x1 = true empty x2 = false x3 = false

10

slide-81
SLIDE 81

Hardness of STICKfix

AB

  • NP-hardness by reduction from MONOTONE-3-SAT
  • Variable gadget:

false a l l c l a u s e g a d g e t s . . .

  • Clause gadget:

x1 = false x2 = true x3 = true empty

10

slide-82
SLIDE 82

Hardness of STICKfix

AB

  • NP-hardness by reduction from MONOTONE-3-SAT
  • Variable gadget:

false a l l c l a u s e g a d g e t s . . .

  • Clause gadget:

x1 = false x2 = true empty x3 = false

10

slide-83
SLIDE 83

Hardness of STICKfix

AB

  • NP-hardness by reduction from MONOTONE-3-SAT
  • Variable gadget:

false a l l c l a u s e g a d g e t s . . .

  • Clause gadget:

x1 = false x3 = true empty x2 = false

10

slide-84
SLIDE 84

Hardness of STICKfix

AB

  • NP-hardness by reduction from MONOTONE-3-SAT
  • Variable gadget:

false a l l c l a u s e g a d g e t s . . .

  • Clause gadget:

x1 = false empty x2 = false x3 = false

10

slide-85
SLIDE 85

Example

MONOTONE-3-SAT formula: (x1 ∨ x2 ∨ x3)∧ (x2 ∨ x3 ∨ x4)∧ (¬x1 ∨ ¬x2 ∨ ¬x4)

11

slide-86
SLIDE 86

Example

MONOTONE-3-SAT formula: (x1 ∨ x2 ∨ x3)∧ (x2 ∨ x3 ∨ x4)∧ (¬x1 ∨ ¬x2 ∨ ¬x4)

                

v a r i a b l e g a d g e t s

11

slide-87
SLIDE 87

Example

MONOTONE-3-SAT formula: (x1 ∨ x2 ∨ x3)∧ (x2 ∨ x3 ∨ x4)∧ (¬x1 ∨ ¬x2 ∨ ¬x4)

                

v a r i a b l e g a d g e t s

x4 x1 ¬x2 x3

11

slide-88
SLIDE 88

Example

MONOTONE-3-SAT formula: (x1 ∨ x2 ∨ x3)∧ (x2 ∨ x3 ∨ x4)∧ (¬x1 ∨ ¬x2 ∨ ¬x4)

                                                                    

c l a u s e g a d g e t s

                

v a r i a b l e g a d g e t s

x4 x1 ¬x2 x3

11

slide-89
SLIDE 89

Example

MONOTONE-3-SAT formula: (x1 ∨ x2 ∨ x3)∧ (x2 ∨ x3 ∨ x4)∧ (¬x1 ∨ ¬x2 ∨ ¬x4)

                                                                    

c l a u s e g a d g e t s

x

1 ∨

x

2 ∨

x

3

                

v a r i a b l e g a d g e t s

x4 x1 ¬x2 x3

11

slide-90
SLIDE 90

Example

MONOTONE-3-SAT formula: (x1 ∨ x2 ∨ x3)∧ (x2 ∨ x3 ∨ x4)∧ (¬x1 ∨ ¬x2 ∨ ¬x4)

x

2 ∨

x

3 ∨

x

4

                                                                    

c l a u s e g a d g e t s

x

1 ∨

x

2 ∨

x

3

                

v a r i a b l e g a d g e t s

x4 x1 ¬x2 x3

11

slide-91
SLIDE 91

Example

MONOTONE-3-SAT formula: (x1 ∨ x2 ∨ x3)∧ (x2 ∨ x3 ∨ x4)∧ (¬x1 ∨ ¬x2 ∨ ¬x4)

¬x1 ∨ ¬x2 ∨ ¬x4 x

2 ∨

x

3 ∨

x

4

                                                                    

c l a u s e g a d g e t s

x

1 ∨

x

2 ∨

x

3

                

v a r i a b l e g a d g e t s

x4 x1 ¬x2 x3

11

slide-92
SLIDE 92

Example

MONOTONE-3-SAT formula: (x1 ∨ x2 ∨ x3)∧ (x2 ∨ x3 ∨ x4)∧ (¬x1 ∨ ¬x2 ∨ ¬x4)

¬x1 ∨ ¬x2 ∨ ¬x4 x

2 ∨

x

3 ∨

x

4

                                                                    

c l a u s e g a d g e t s

x

1 ∨

x

2 ∨

x

3

                

v a r i a b l e g a d g e t s

x4 x1 ¬x2 ¬x3

11

slide-93
SLIDE 93

Example

MONOTONE-3-SAT formula: (x1 ∨ x2 ∨ x3)∧ (x2 ∨ x3 ∨ x4)∧ (¬x1 ∨ ¬x2 ∨ ¬x4)

¬x1 ∨ ¬x2 ∨ ¬x4 x

2 ∨

x

3 ∨

x

4

                                                                    

c l a u s e g a d g e t s

x

1 ∨

x

2 ∨

x

3

                

v a r i a b l e g a d g e t s

x1 ¬x2 ¬x3 ¬x4

11

slide-94
SLIDE 94

STICKfix

AB without isolated vertices

O(|A||B|) O(|E|) NP-complete NP-complete NP-complete

O((|A| + |B|)2)

in general: w/o isolated vtc.:

STICKfix

STICK⋆ ⋆ A AB ?

12

slide-95
SLIDE 95

Uniqueness Lemma

Lemma:

13

slide-96
SLIDE 96

Uniqueness Lemma

Lemma: In all stick representations of an instance of STICKAB, the order of vertices on the ground line is the same after removing all isolated vertices. This order can be found in time O(|E|).

13

slide-97
SLIDE 97

Uniqueness Lemma

Lemma: In all stick representations of an instance of STICKAB, the order of vertices on the ground line is the same after removing all isolated vertices. This order can be found in time O(|E|). Proof (Sketch):

13

slide-98
SLIDE 98

Uniqueness Lemma

Lemma: In all stick representations of an instance of STICKAB, the order of vertices on the ground line is the same after removing all isolated vertices. This order can be found in time O(|E|). Proof (Sketch):

  • Assume: stick representations Γ1, Γ2 have different order

13

slide-99
SLIDE 99

Uniqueness Lemma

Lemma: In all stick representations of an instance of STICKAB, the order of vertices on the ground line is the same after removing all isolated vertices. This order can be found in time O(|E|). Proof (Sketch):

  • Assume: stick representations Γ1, Γ2 have different order

Γ1 Γ2

13

slide-100
SLIDE 100

Uniqueness Lemma

Lemma: In all stick representations of an instance of STICKAB, the order of vertices on the ground line is the same after removing all isolated vertices. This order can be found in time O(|E|). Proof (Sketch):

  • Assume: stick representations Γ1, Γ2 have different order
  • W.l.o.g. a < b in Γ1 and b < a in Γ2

⇒ ab / ∈ E Γ1 Γ2

13

slide-101
SLIDE 101

Uniqueness Lemma

Lemma: In all stick representations of an instance of STICKAB, the order of vertices on the ground line is the same after removing all isolated vertices. This order can be found in time O(|E|). Proof (Sketch):

  • Assume: stick representations Γ1, Γ2 have different order
  • W.l.o.g. a < b in Γ1 and b < a in Γ2

⇒ ab / ∈ E Γ1 Γ2

13

slide-102
SLIDE 102

Uniqueness Lemma

Lemma: In all stick representations of an instance of STICKAB, the order of vertices on the ground line is the same after removing all isolated vertices. This order can be found in time O(|E|). Proof (Sketch):

  • Assume: stick representations Γ1, Γ2 have different order
  • W.l.o.g. a < b in Γ1 and b < a in Γ2

⇒ ab / ∈ E

a b b a

Γ1 Γ2

13

slide-103
SLIDE 103

Uniqueness Lemma

Lemma: In all stick representations of an instance of STICKAB, the order of vertices on the ground line is the same after removing all isolated vertices. This order can be found in time O(|E|). Proof (Sketch):

  • Assume: stick representations Γ1, Γ2 have different order
  • W.l.o.g. a < b in Γ1 and b < a in Γ2

⇒ ab / ∈ E

a b b a

Γ1 Γ2

  • b′ is adjacent to a ⇒ b′ < b

13

slide-104
SLIDE 104

Uniqueness Lemma

Lemma: In all stick representations of an instance of STICKAB, the order of vertices on the ground line is the same after removing all isolated vertices. This order can be found in time O(|E|). Proof (Sketch):

  • Assume: stick representations Γ1, Γ2 have different order
  • W.l.o.g. a < b in Γ1 and b < a in Γ2

⇒ ab / ∈ E

a b b a

Γ1 Γ2

  • b′ is adjacent to a ⇒ b′ < b

b′ 13

slide-105
SLIDE 105

Uniqueness Lemma

Lemma: In all stick representations of an instance of STICKAB, the order of vertices on the ground line is the same after removing all isolated vertices. This order can be found in time O(|E|). Proof (Sketch):

  • Assume: stick representations Γ1, Γ2 have different order
  • W.l.o.g. a < b in Γ1 and b < a in Γ2

⇒ ab / ∈ E

a b b a

Γ1 Γ2

  • b′ is adjacent to a ⇒ b′ < b

b′ b′ 13

slide-106
SLIDE 106

Uniqueness Lemma

Lemma: In all stick representations of an instance of STICKAB, the order of vertices on the ground line is the same after removing all isolated vertices. This order can be found in time O(|E|). Proof (Sketch):

  • Assume: stick representations Γ1, Γ2 have different order
  • W.l.o.g. a < b in Γ1 and b < a in Γ2

⇒ ab / ∈ E

a b b a

Γ1 Γ2

  • b′ is adjacent to a ⇒ b′ < b

b′ b′

  • a′ is adjacent to b ⇒ a < a′

13

slide-107
SLIDE 107

Uniqueness Lemma

Lemma: In all stick representations of an instance of STICKAB, the order of vertices on the ground line is the same after removing all isolated vertices. This order can be found in time O(|E|). Proof (Sketch):

  • Assume: stick representations Γ1, Γ2 have different order
  • W.l.o.g. a < b in Γ1 and b < a in Γ2

⇒ ab / ∈ E

a b b a

Γ1 Γ2

  • b′ is adjacent to a ⇒ b′ < b

b′ b′

  • a′ is adjacent to b ⇒ a < a′

a′ 13

slide-108
SLIDE 108

Uniqueness Lemma

Lemma: In all stick representations of an instance of STICKAB, the order of vertices on the ground line is the same after removing all isolated vertices. This order can be found in time O(|E|). Proof (Sketch):

  • Assume: stick representations Γ1, Γ2 have different order
  • W.l.o.g. a < b in Γ1 and b < a in Γ2

⇒ ab / ∈ E

a b b a

Γ1 Γ2

  • b′ is adjacent to a ⇒ b′ < b

b′ b′

  • a′ is adjacent to b ⇒ a < a′

a′ a′ 13

slide-109
SLIDE 109

Uniqueness Lemma

Lemma: In all stick representations of an instance of STICKAB, the order of vertices on the ground line is the same after removing all isolated vertices. This order can be found in time O(|E|). Proof (Sketch):

  • Assume: stick representations Γ1, Γ2 have different order
  • W.l.o.g. a < b in Γ1 and b < a in Γ2

⇒ ab / ∈ E

a b b a

Γ1 Γ2

  • b′ is adjacent to a ⇒ b′ < b

b′ b′

  • a′ is adjacent to b ⇒ a < a′

a′ a′ 13

slide-110
SLIDE 110

Linear Program for STICKfix

AB

  • No isolated vertices ⇒ Compute ordering v1, . . . , vn

14

slide-111
SLIDE 111

Linear Program for STICKfix

AB

  • No isolated vertices ⇒ Compute ordering v1, . . . , vn
  • Variable xi for the x-coordinate of vi’s footpoint

14

slide-112
SLIDE 112

Linear Program for STICKfix

AB

  • No isolated vertices ⇒ Compute ordering v1, . . . , vn
  • Variable xi for the x-coordinate of vi’s footpoint
  • Constraints: x1 < · · · < xn

14

slide-113
SLIDE 113

Linear Program for STICKfix

AB

  • No isolated vertices ⇒ Compute ordering v1, . . . , vn
  • Variable xi for the x-coordinate of vi’s footpoint
  • Constraints: x1 < · · · < xn
  • For each vertex 2 more constraints incorporating the

predefined stick-lengths: – for intersecting its last neighbor – for not intersecting its first non-neighbor

14

slide-114
SLIDE 114

Linear Program for STICKfix

AB

  • No isolated vertices ⇒ Compute ordering v1, . . . , vn
  • Variable xi for the x-coordinate of vi’s footpoint
  • Constraints: x1 < · · · < xn
  • For each vertex 2 more constraints incorporating the

predefined stick-lengths: – for intersecting its last neighbor – for not intersecting its first non-neighbor

  • Is a system of difference constraints ⇒ can be modeled as

a shortest-path problem in a directed weighted graph

14

slide-115
SLIDE 115

Linear Program for STICKfix

AB

  • No isolated vertices ⇒ Compute ordering v1, . . . , vn
  • Variable xi for the x-coordinate of vi’s footpoint
  • Constraints: x1 < · · · < xn
  • For each vertex 2 more constraints incorporating the

predefined stick-lengths: – for intersecting its last neighbor – for not intersecting its first non-neighbor ⇒ Solvable in O((|A| + |B|)2) time with Bellman–Ford

  • Is a system of difference constraints ⇒ can be modeled as

a shortest-path problem in a directed weighted graph

14

slide-116
SLIDE 116

Linear Program for STICKfix

AB

  • No isolated vertices ⇒ Compute ordering v1, . . . , vn
  • Variable xi for the x-coordinate of vi’s footpoint
  • Constraints: x1 < · · · < xn
  • For each vertex 2 more constraints incorporating the

predefined stick-lengths: – for intersecting its last neighbor – for not intersecting its first non-neighbor ⇒ Solvable in O((|A| + |B|)2) time with Bellman–Ford ⇒ Isolated vertices make STICKfix

AB NP-hard

  • Is a system of difference constraints ⇒ can be modeled as

a shortest-path problem in a directed weighted graph

14

slide-117
SLIDE 117

Summary O(|A||B|)

[De Luca et al. GD’18]

O(|A||B|) O(|E|) NP-complete NP-complete NP-complete

O((|A| + |B|)2)

in general: w/o isolated vtc.:

still open STICKfix

STICK⋆ ⋆ A AB

15

slide-118
SLIDE 118

Summary O(|A||B|)

[De Luca et al. GD’18]

O(|A||B|) O(|E|) NP-complete NP-complete NP-complete

O((|A| + |B|)2)

in general: w/o isolated vtc.:

still open

(by reduction from 3-PARTITION)

STICKfix

STICK⋆ ⋆ A AB

15

slide-119
SLIDE 119

Summary O(|A||B|)

[De Luca et al. GD’18]

O(|A||B|) O(|E|) NP-complete NP-complete NP-complete

O((|A| + |B|)2)

in general: w/o isolated vtc.:

still open

(by reduction from 3-PARTITION) (by reduction from MONO-3-SAT)

STICKfix

STICK⋆ ⋆ A AB

15