Weak Unit Disk Contact Representations for Graphs without Embedding
Jonas Cleve, Freie Universität Berlin
EuroCG 2020 – March 16–18 – Würzburg, Germany
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 ,
Jonas Cleve, Freie Universität Berlin
EuroCG 2020 – March 16–18 – Würzburg, Germany
Unit Disk Contact Representations
Unit disk contact representation (UDCR) of G = (V, E):
graph G 1 2 3 4 5 6 7 8
1
Unit Disk Contact Representations
Unit disk contact representation (UDCR) of G = (V, E):
graph G
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
1
Unit Disk Contact Representations
Unit disk contact representation (UDCR) of G = (V, E):
graph G
⇒ 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
Unit Disk Contact Representations
Unit disk contact representation (UDCR) of G = (V, E):
graph G
⇒ 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
Unit Disk Contact Representations
Unit disk contact representation (UDCR) of G = (V, E):
graph G
⇒ 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
Unit Disk Contact Representations
graph 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
Weak unit disk contact representation (WUDCR) of G = (V, E):
⇒ D(u), D(v) touch.
WUDCRs of G
1
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
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
Recognizing Caterpillars in Linear Time
Reminder:
3
Recognizing Caterpillars in Linear Time
Algorithm: Caterpillar G
3
Recognizing Caterpillars in Linear Time
Algorithm: Caterpillar G Find longest path v0, v1, . . . , vk, vk+1 backbone
3
Recognizing Caterpillars in Linear Time
Algorithm: Caterpillar G Find longest path v0, v1, . . . , vk, vk+1 backbone Place backbone disks horizontally
3
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
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
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
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
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
NP-hardness of Recognizing Trees
Theorem: Given a tree T, answering “∃ weak UDCR for T?” is NP-hard.
4
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
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
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
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
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
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
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)
4
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)
4
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)
4
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)
x4 x3 x2
4
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)
x4 x3 x2
4
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)
x4 x3 x2
4
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)
4
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)
4
Modeling Line Segments
5
Modeling Line Segments
5
Modeling Line Segments
5
Modeling Line Segments
5
Modeling Line Segments
5
Modeling Line Segments
5
Modeling Line Segments
5
Modeling Line Segments
5
Modeling Line Segments
5
Modeling Line Segments
5
Modeling Line Segments
5
Modeling Line Segments
5
Modeling Line Segments
5
Modeling Line Segments
5
Modeling Line Segments
5
Modeling Line Segments
5
Modeling Line Segments
5
A Branching Gadget
6
A Branching Gadget
6
A Branching Gadget
6
A Branching Gadget
6
A Branching Gadget
6
A Branching Gadget
6
A Branching Gadget
6
60° Logic Engine
x1 x2 x3 x4 c3 c2 c1 c1 c2 c3
7
60° Logic Engine
x1 x2 x3 x4 c3 c2 c1 c1 c2 c3
x1 x2 x3 x4 c3 c2 c1 c1 c2 c3
7
60° Logic Engine
x1 x2 x3 x4 c3 c2 c1 c1 c2 c3
c3 c2 c1 c1 c2 c3 x1 x2 x3 x4
7
60° Logic Engine
x1 x2 x3 x4 c3 c2 c1 c1 c2 c3
x1 x2 x3 x4 c3 c2 c1 c3 c2 c1
7
60° Logic Engine
x1 x2 x3 x4 c3 c2 c1 c1 c2 c3
x1 x2 x3 x4 c3 c2 c1 c3 c2 c1
7
60° Logic Engine
x1 x2 x3 x4 c3 c2 c1 c3 c2 c1
7
60° Logic Engine
x1 x2 x3 x4 c3 c2 c1 c3 c2 c1
7
60° Logic Engine
x1 x2 x3 x4 c3 c2 c1 c3 c2 c1
7
60° Logic Engine
x1 x2 x3 x4 c3 c2 c1 c3 c2 c1
7
60° Logic Engine
x1 x2 x3 x4 c3 c2 c1 c3 c2 c1
7
Conclusion
star caterpillar tree Weak UDCR Weak Emb. UDCR
Cleve; 2020 Cleve; 2020 Chiu, Cleve, Nöllenburg; 2019 8
Conclusion
star caterpillar tree Weak UDCR Weak Emb. UDCR
Cleve; 2020 Cleve; 2020
Chiu, Cleve, Nöllenburg; 2019 8
Conclusion
star caterpillar tree Weak UDCR Weak Emb. UDCR
Cleve; 2020 Cleve; 2020
NP-completeness?
Chiu, Cleve, Nöllenburg; 2019 8
Conclusion
star caterpillar Weak UDCR Weak Emb. UDCR
Cleve; 2020
NP-completeness?
Cleve; 2020
tree lobster … ?
Chiu, Cleve, Nöllenburg; 2019 8