Weak Unit Disk Contact Representations for Graphs without Embedding - - PowerPoint PPT Presentation

weak unit disk contact representations for graphs without
SMART_READER_LITE
LIVE PREVIEW

Weak Unit Disk Contact Representations for Graphs without Embedding - - PowerPoint PPT Presentation

Weak Unit Disk Contact Representations for Graphs without Embedding Jonas Cleve, Freie Universitt Berlin EuroCG 2020 March 1618 Wrzburg, Germany Unit Disk Contact Representations Unit disk contact representation (UDCR) of G = ( V ,


slide-1
SLIDE 1

Weak Unit Disk Contact Representations for Graphs without Embedding

Jonas Cleve, Freie Universität Berlin

EuroCG 2020 – March 16–18 – Würzburg, Germany

slide-2
SLIDE 2

Unit Disk Contact Representations

Unit disk contact representation (UDCR) of G = (V, E):

graph G 1 2 3 4 5 6 7 8

1

slide-3
SLIDE 3

Unit Disk Contact Representations

Unit disk contact representation (UDCR) of G = (V, E):

graph G

  • one unit-disk D(v) per node v s. t.

1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8

1

slide-4
SLIDE 4

Unit Disk Contact Representations

Unit disk contact representation (UDCR) of G = (V, E):

graph G

  • one unit-disk D(v) per node v s. t.
  • {u, v} ∈ E ⇐

⇒ D(u), D(v) touch.

UDCR of G 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8

1

slide-5
SLIDE 5

Unit Disk Contact Representations

Unit disk contact representation (UDCR) of G = (V, E):

graph G

  • one unit-disk D(v) per node v s. t.
  • {u, v} ∈ E ⇐

⇒ D(u), D(v) touch.

UDCRs of G

No embedding: neighbor order can be chosen arbitrarily

1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8

1

slide-6
SLIDE 6

Unit Disk Contact Representations

Unit disk contact representation (UDCR) of G = (V, E):

graph G

  • one unit-disk D(v) per node v s. t.
  • {u, v} ∈ E ⇐

⇒ D(u), D(v) touch.

UDCRs of G

No embedding: neighbor order can be chosen arbitrarily

1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 7 8 5 6

1

slide-7
SLIDE 7

Unit Disk Contact Representations

graph G

  • one unit-disk D(v) per node v s. t.

No embedding: neighbor order can be chosen arbitrarily

1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 7 8 5 6

Weak unit disk contact representation (WUDCR) of G = (V, E):

  • {u, v} ∈ E =

⇒ D(u), D(v) touch.

WUDCRs of G

1

slide-8
SLIDE 8

Results

Existing Work: NP-hardness and construction algorithms. star caterpillar tree Weak UDCR Weak Emb. UDCR

Chiu, Cleve, Nöllenburg; 2019 Cleve; 2020 Cleve; 2020 2

slide-9
SLIDE 9

Results

Existing Work: NP-hardness and construction algorithms. star caterpillar tree Weak UDCR Weak Emb. UDCR

Chiu, Cleve, Nöllenburg; 2019 Cleve; 2020 Cleve; 2020 2

slide-10
SLIDE 10

Recognizing Caterpillars in Linear Time

  • A caterpillar is a tree
  • backbone path plus leaves

Reminder:

3

slide-11
SLIDE 11

Recognizing Caterpillars in Linear Time

Algorithm: Caterpillar G

3

slide-12
SLIDE 12

Recognizing Caterpillars in Linear Time

Algorithm: Caterpillar G Find longest path v0, v1, . . . , vk, vk+1 backbone

3

slide-13
SLIDE 13

Recognizing Caterpillars in Linear Time

Algorithm: Caterpillar G Find longest path v0, v1, . . . , vk, vk+1 backbone Place backbone disks horizontally

3

slide-14
SLIDE 14

Recognizing Caterpillars in Linear Time

Algorithm: Caterpillar G Find longest path v0, v1, . . . , vk, vk+1 backbone Place backbone disks horizontally Place leaf disks at leftmost position

3

slide-15
SLIDE 15

Recognizing Caterpillars in Linear Time

Algorithm: Caterpillar G Find longest path v0, v1, . . . , vk, vk+1 backbone Place backbone disks horizontally Place leaf disks at leftmost position

3

slide-16
SLIDE 16

Recognizing Caterpillars in Linear Time

Algorithm: Caterpillar G Find longest path v0, v1, . . . , vk, vk+1 backbone Place backbone disks horizontally Place leaf disks at leftmost position

3

slide-17
SLIDE 17

Recognizing Caterpillars in Linear Time

Algorithm: Caterpillar G Find longest path v0, v1, . . . , vk, vk+1 backbone Place backbone disks horizontally Place leaf disks at leftmost position

3

slide-18
SLIDE 18

Recognizing Caterpillars in Linear Time

Algorithm: Caterpillar G Find longest path v0, v1, . . . , vk, vk+1 backbone Place backbone disks horizontally Place leaf disks at leftmost position

  • 3
slide-19
SLIDE 19

NP-hardness of Recognizing Trees

Theorem: Given a tree T, answering “∃ weak UDCR for T?” is NP-hard.

4

slide-20
SLIDE 20

NP-hardness of Recognizing Trees

Theorem: Given a tree T, answering “∃ weak UDCR for T?” is NP-hard. Proof: Not-All-Equal-3SAT ≤P Tree-WUDCR, via logic engine.

4

slide-21
SLIDE 21

NP-hardness of Recognizing Trees

Theorem: Given a tree T, answering “∃ weak UDCR for T?” is NP-hard. Proof: Not-All-Equal-3SAT ≤P Tree-WUDCR, via logic engine.

4

slide-22
SLIDE 22

NP-hardness of Recognizing Trees

Theorem: Given a tree T, answering “∃ weak UDCR for T?” is NP-hard. Proof: Not-All-Equal-3SAT ≤P Tree-WUDCR, via logic engine.

4

slide-23
SLIDE 23

NP-hardness of Recognizing Trees

Theorem: Given a tree T, answering “∃ weak UDCR for T?” is NP-hard. Proof: Not-All-Equal-3SAT ≤P Tree-WUDCR, via logic engine. Each clause: {0, 0, 1} or {0, 1, 1}

4

slide-24
SLIDE 24

NP-hardness of Recognizing Trees

Theorem: Given a tree T, answering “∃ weak UDCR for T?” is NP-hard. Proof: Not-All-Equal-3SAT ≤P Tree-WUDCR, via logic engine. Each clause: {0, 0, 1} or {0, 1, 1} Example: c1 = (x1, x2, x3) c2 = (x1, x2, x4) c3 = (x1, x3, x4)

4

slide-25
SLIDE 25

NP-hardness of Recognizing Trees

Theorem: Given a tree T, answering “∃ weak UDCR for T?” is NP-hard. Proof: Not-All-Equal-3SAT ≤P Tree-WUDCR, via logic engine. Logic engine Each clause: {0, 0, 1} or {0, 1, 1} Example: c1 = (x1, x2, x3) c2 = (x1, x2, x4) c3 = (x1, x3, x4)

4

slide-26
SLIDE 26

NP-hardness of Recognizing Trees

Theorem: Given a tree T, answering “∃ weak UDCR for T?” is NP-hard. Proof: Not-All-Equal-3SAT ≤P Tree-WUDCR, via logic engine.

x1 x2 x3 x4 c3 c2 c1 c1 c2 c3

Logic engine Each clause: {0, 0, 1} or {0, 1, 1} Example: c1 = (x1, x2, x3) c2 = (x1, x2, x4) c3 = (x1, x3, x4)

  • variable poles & clause levels

4

slide-27
SLIDE 27

NP-hardness of Recognizing Trees

Theorem: Given a tree T, answering “∃ weak UDCR for T?” is NP-hard. Proof: Not-All-Equal-3SAT ≤P Tree-WUDCR, via logic engine.

x1 x2 x3 x4 c3 c2 c1 c1 c2 c3

Logic engine Each clause: {0, 0, 1} or {0, 1, 1} Example: c1 = (x1, x2, x3) c2 = (x1, x2, x4) c3 = (x1, x3, x4)

  • variable poles & clause levels
  • positive literal: fmag on bottom

4

slide-28
SLIDE 28

NP-hardness of Recognizing Trees

Theorem: Given a tree T, answering “∃ weak UDCR for T?” is NP-hard. Proof: Not-All-Equal-3SAT ≤P Tree-WUDCR, via logic engine.

x1 x2 x3 x4 c3 c2 c1 c1 c2 c3

Logic engine Each clause: {0, 0, 1} or {0, 1, 1} Example: c1 = (x1, x2, x3) c2 = (x1, x2, x4) c3 = (x1, x3, x4)

  • variable poles & clause levels
  • positive literal: fmag on bottom
  • negative literal: fmag on top

4

slide-29
SLIDE 29

NP-hardness of Recognizing Trees

Theorem: Given a tree T, answering “∃ weak UDCR for T?” is NP-hard. Proof: Not-All-Equal-3SAT ≤P Tree-WUDCR, via logic engine.

x1 x2 x3 x4 c3 c2 c1 c1 c2 c3

Logic engine Each clause: {0, 0, 1} or {0, 1, 1} Example: c1 = (x1, x2, x3) c2 = (x1, x2, x4) c3 = (x1, x3, x4)

  • variable poles & clause levels
  • positive literal: fmag on bottom
  • negative literal: fmag on top
  • no literal: both fmags

x4 x3 x2

4

slide-30
SLIDE 30

NP-hardness of Recognizing Trees

Theorem: Given a tree T, answering “∃ weak UDCR for T?” is NP-hard. Proof: Not-All-Equal-3SAT ≤P Tree-WUDCR, via logic engine.

x1 x2 x3 x4 c3 c2 c1 c1 c2 c3

Logic engine Each clause: {0, 0, 1} or {0, 1, 1} Example: c1 = (x1, x2, x3) c2 = (x1, x2, x4) c3 = (x1, x3, x4)

  • variable poles & clause levels
  • positive literal: fmag on bottom
  • negative literal: fmag on top
  • no literal: both fmags

x4 x3 x2

4

slide-31
SLIDE 31

NP-hardness of Recognizing Trees

Theorem: Given a tree T, answering “∃ weak UDCR for T?” is NP-hard. Proof: Not-All-Equal-3SAT ≤P Tree-WUDCR, via logic engine.

x1 x2 x3 x4 c3 c2 c1 c1 c2 c3 = 1 = 1 = 1 = 1

Logic engine Each clause: {0, 0, 1} or {0, 1, 1} Example: c1 = (x1, x2, x3) c2 = (x1, x2, x4) c3 = (x1, x3, x4)

  • variable poles & clause levels
  • positive literal: fmag on bottom
  • negative literal: fmag on top
  • no literal: both fmags

x4 x3 x2

4

slide-32
SLIDE 32

NP-hardness of Recognizing Trees

Theorem: Given a tree T, answering “∃ weak UDCR for T?” is NP-hard. Proof: Not-All-Equal-3SAT ≤P Tree-WUDCR, via logic engine.

x1 x2 x3 x4 c3 c2 c1 c1 c2 c3 = 1 = 1 = 1 = 1

Logic engine Each clause: {0, 0, 1} or {0, 1, 1} Example: c1 = (x1, x2, x3) c2 = (x1, x2, x4) c3 = (x1, x3, x4)

  • variable poles & clause levels
  • positive literal: fmag on bottom
  • negative literal: fmag on top
  • no literal: both fmags

4

slide-33
SLIDE 33

NP-hardness of Recognizing Trees

Theorem: Given a tree T, answering “∃ weak UDCR for T?” is NP-hard. Proof: Not-All-Equal-3SAT ≤P Tree-WUDCR, via logic engine.

x1 x2 x3 x4 c3 c2 c1 c1 c2 c3 = 0 = 1 = 1 = 1

Logic engine Each clause: {0, 0, 1} or {0, 1, 1} Example: c1 = (x1, x2, x3) c2 = (x1, x2, x4) c3 = (x1, x3, x4)

  • variable poles & clause levels
  • positive literal: fmag on bottom
  • negative literal: fmag on top
  • no literal: both fmags

4

slide-34
SLIDE 34

Modeling Line Segments

5

slide-35
SLIDE 35

Modeling Line Segments

5

slide-36
SLIDE 36

Modeling Line Segments

5

slide-37
SLIDE 37

Modeling Line Segments

5

slide-38
SLIDE 38

Modeling Line Segments

5

slide-39
SLIDE 39

Modeling Line Segments

5

slide-40
SLIDE 40

Modeling Line Segments

5

slide-41
SLIDE 41

Modeling Line Segments

5

slide-42
SLIDE 42

Modeling Line Segments

5

slide-43
SLIDE 43

Modeling Line Segments

5

slide-44
SLIDE 44

Modeling Line Segments

5

slide-45
SLIDE 45

Modeling Line Segments

5

slide-46
SLIDE 46

Modeling Line Segments

5

slide-47
SLIDE 47

Modeling Line Segments

5

slide-48
SLIDE 48

Modeling Line Segments

5

slide-49
SLIDE 49

Modeling Line Segments

5

slide-50
SLIDE 50

Modeling Line Segments

5

slide-51
SLIDE 51

A Branching Gadget

6

slide-52
SLIDE 52

A Branching Gadget

6

slide-53
SLIDE 53

A Branching Gadget

6

slide-54
SLIDE 54

A Branching Gadget

6

slide-55
SLIDE 55

A Branching Gadget

6

slide-56
SLIDE 56

A Branching Gadget

6

slide-57
SLIDE 57

A Branching Gadget

6

slide-58
SLIDE 58

60° Logic Engine

x1 x2 x3 x4 c3 c2 c1 c1 c2 c3

7

slide-59
SLIDE 59

60° Logic Engine

x1 x2 x3 x4 c3 c2 c1 c1 c2 c3

x1 x2 x3 x4 c3 c2 c1 c1 c2 c3

7

slide-60
SLIDE 60

60° Logic Engine

x1 x2 x3 x4 c3 c2 c1 c1 c2 c3

c3 c2 c1 c1 c2 c3 x1 x2 x3 x4

7

slide-61
SLIDE 61

60° Logic Engine

x1 x2 x3 x4 c3 c2 c1 c1 c2 c3

x1 x2 x3 x4 c3 c2 c1 c3 c2 c1

7

slide-62
SLIDE 62

60° Logic Engine

x1 x2 x3 x4 c3 c2 c1 c1 c2 c3

x1 x2 x3 x4 c3 c2 c1 c3 c2 c1

7

slide-63
SLIDE 63

60° Logic Engine

x1 x2 x3 x4 c3 c2 c1 c3 c2 c1

7

slide-64
SLIDE 64

60° Logic Engine

x1 x2 x3 x4 c3 c2 c1 c3 c2 c1

7

slide-65
SLIDE 65

60° Logic Engine

x1 x2 x3 x4 c3 c2 c1 c3 c2 c1

7

slide-66
SLIDE 66

60° Logic Engine

x1 x2 x3 x4 c3 c2 c1 c3 c2 c1

7

slide-67
SLIDE 67

60° Logic Engine

x1 x2 x3 x4 c3 c2 c1 c3 c2 c1

7

slide-68
SLIDE 68

Conclusion

star caterpillar tree Weak UDCR Weak Emb. UDCR

Cleve; 2020 Cleve; 2020 Chiu, Cleve, Nöllenburg; 2019 8

slide-69
SLIDE 69

Conclusion

star caterpillar tree Weak UDCR Weak Emb. UDCR

Cleve; 2020 Cleve; 2020

  • Recognizing weak UDCR for caterpillars takes linear time
  • Recognizing weak UDCR for trees is NP-hard

Chiu, Cleve, Nöllenburg; 2019 8

slide-70
SLIDE 70

Conclusion

star caterpillar tree Weak UDCR Weak Emb. UDCR

Cleve; 2020 Cleve; 2020

  • Recognizing weak UDCR for caterpillars takes linear time
  • Recognizing weak UDCR for trees is NP-hard

NP-completeness?

Chiu, Cleve, Nöllenburg; 2019 8

slide-71
SLIDE 71

Conclusion

star caterpillar Weak UDCR Weak Emb. UDCR

Cleve; 2020

  • Recognizing weak UDCR for caterpillars takes linear time
  • Recognizing weak UDCR for trees is NP-hard

NP-completeness?

  • Lobster graphs (k = 2)?
  • Trees in which all vertices have distance at most k to a central path?

Cleve; 2020

tree lobster … ?

Chiu, Cleve, Nöllenburg; 2019 8