1-Bend RAC Drawings
- f NIC-Planar Graphs
1-Bend RAC Drawings of NIC-Planar Graphs in Quadratic Area Steven - - PowerPoint PPT Presentation
1-Bend RAC Drawings of NIC-Planar Graphs in Quadratic Area Steven Chaplick, Fabian Lipp, Alexander Wolff, and Johannes Zink Beyond-Planar Graphs 2 Types of Drawings: Planar: No crossings Beyond-Planar Graphs 2 Types of Drawings:
Types of Drawings: Planar: No crossings
2
1-Planar: Types of Drawings: ≤ 1 crossings per edge K5 Planar: No crossings
2
1-Planar: Types of Drawings: ≤ 1 crossings per edge Planar: No crossings
2
1-Planar: Types of Drawings: ≤ 1 crossings per edge NIC-Planar: Two crossings share ≤ 1 vertices Planar: No crossings
2
1-Planar: Types of Drawings: ≤ 1 crossings per edge NIC-Planar: Two crossings share ≤ 1 vertices Planar: No crossings
2
1-Planar: Types of Drawings: ≤ 1 crossings per edge NIC-Planar: Two crossings share ≤ 1 vertices IC-Planar: Two crossings share no vertices Planar: No crossings
2
1-Planar: Types of Drawings: ≤ 1 crossings per edge NIC-Planar: Two crossings share ≤ 1 vertices IC-Planar: Two crossings share no vertices Planar: No crossings
2
1-Planar: Types of Drawings: ≤ 1 crossings per edge NIC-Planar: Two crossings share ≤ 1 vertices IC-Planar: Two crossings share no vertices RAC: Right angle crossings Planar: No crossings
2
1-Planar: Types of Drawings: ≤ 1 crossings per edge NIC-Planar: Two crossings share ≤ 1 vertices IC-Planar: Two crossings share no vertices RAC: Right angle crossings RAC1: with ≤ 1 bends per edge RAC0: with straight-line edges Planar: No crossings
2
1-Planar: Types of Drawings: ≤ 1 crossings per edge NIC-Planar: Two crossings share ≤ 1 vertices IC-Planar: Two crossings share no vertices RAC: Right angle crossings RAC1: with ≤ 1 bends per edge RAC0: with straight-line edges poly(n) RACpoly: in polynomial area poly(n) Planar: No crossings
1-Planar: Types of Drawings: ≤ 1 crossings per edge NIC-Planar: Two crossings share ≤ 1 vertices IC-Planar: Two crossings share no vertices RAC: Right angle crossings RAC1: with ≤ 1 bends per edge RAC0: with straight-line edges poly(n) RACpoly: in polynomial area poly(n) Planar: No crossings
= {graph G | G has a NIC-planar drawing}
planar IC-planar NIC-planar 1-planar
E? contained in (even for fixed embedding) contained in (unknown for fixed embedding) incomparable 3
planar IC-planar NIC-planar 1-planar RAC1 RAC0 RAC2
E? contained in (even for fixed embedding) contained in (unknown for fixed embedding) incomparable 3
planar IC-planar NIC-planar 1-planar RACpoly
1
RAC1 RAC0 RACpoly RACpoly
2
RAC2
E? contained in (even for fixed embedding) contained in (unknown for fixed embedding) incomparable
RACpoly
3
3
[de Fraysseix, Pach, Pollack, 1990] [Schnyder, 1990]
planar IC-planar NIC-planar 1-planar RACpoly
1
RAC1 RAC0 RACpoly RACpoly
2
RAC2
E? contained in (even for fixed embedding) contained in (unknown for fixed embedding) incomparable
RACpoly
3
3
planar IC-planar NIC-planar 1-planar RACpoly
1
RAC1 RAC0 RACpoly RACpoly
2
RAC2 RACpoly
3
= all graphs E?
[Didimo, Eades, Liotta, 2009] E? contained in (even for fixed embedding) contained in (unknown for fixed embedding) incomparable
E? RACpoly
3
= all graphs
3
[Didimo, Eades, Liotta, 2009] [Eades, Liotta, 2011]
planar IC-planar NIC-planar 1-planar RACpoly
1
RAC1 RAC0 RACpoly RACpoly
2
RAC2 RACpoly
3
= all graphs E?
E? contained in (even for fixed embedding) contained in (unknown for fixed embedding) incomparable 3
[Brandenburg, Didimo, Evans, Kindermann, Liotta, Montecchiani, 2015]
planar IC-planar NIC-planar 1-planar RACpoly
1
RAC1 RAC0 RACpoly RACpoly
2
RAC2 RACpoly
3
= all graphs E? E?
E? contained in (even for fixed embedding) contained in (unknown for fixed embedding) incomparable
E?
3
[Liotta, Montecchiani, 2015]
planar IC-planar NIC-planar 1-planar RACpoly
1
RAC1 RAC0 RACpoly RACpoly
2
RAC2 RACpoly
3
= all graphs E? E?
E? contained in (even for fixed embedding) contained in (unknown for fixed embedding) incomparable 3
[Didimo, Liotta, Mehrabi, Montecchiani, 2016]
planar IC-planar NIC-planar 1-planar RACpoly
1
RAC1 RAC0 RACpoly RACpoly
2
RAC2 RACpoly
3
= all graphs E? E? E?
E? contained in (even for fixed embedding) contained in (unknown for fixed embedding) incomparable
E?
3
[Bachmaier, Brandenburg, Hanauer, Neuwirth, Reislhuber, 2017]
planar IC-planar NIC-planar 1-planar RACpoly
1
RAC1 RAC0 RACpoly RACpoly
2
RAC2 RACpoly
3
= all graphs E? E? E?
E? contained in (even for fixed embedding) contained in (unknown for fixed embedding) incomparable 3
Our results
planar IC-planar NIC-planar 1-planar RACpoly
1
RAC1 RAC0 RACpoly RACpoly
2
RAC2 RACpoly
3
= all graphs E? E? E?
E? contained in (even for fixed embedding) contained in (unknown for fixed embedding) incomparable 3
Our results
planar IC-planar NIC-planar 1-planar RACpoly
1
RAC1 RAC0 RACpoly RACpoly
2
RAC2 RACpoly
3
= all graphs E? E? E?
E? contained in (even for fixed embedding) contained in (unknown for fixed embedding) incomparable 3
Our results
planar IC-planar NIC-planar 1-planar RACpoly
1
RAC1 RAC0 RACpoly RACpoly
2
RAC2 RACpoly
3
= all graphs E? E? E?
E? contained in (even for fixed embedding) contained in (unknown for fixed embedding) incomparable 3
Our results
planar IC-planar NIC-planar 1-planar RACpoly
1
RAC1 RAC0 RACpoly RACpoly
2
RAC2 RACpoly
3
= all graphs E? E?
w/o B-configuration
E?
E? contained in (even for fixed embedding) contained in (unknown for fixed embedding) incomparable 3
planar IC-planar NIC-planar 1-planar RACpoly
1
RAC1 RAC0 RACpoly RACpoly
2
RAC2 RACpoly
3
= all graphs E? E?
w/o B-configuration
E?
Our main result:
E? contained in (even for fixed embedding) contained in (unknown for fixed embedding) incomparable
NIC-plane graphs ⊆ RACpoly
1
3
1
4
1 Algorithm in O(n) time:
4
1 Algorithm in O(n) time: Input: NIC-plane graph (G, E) with n vertices
4
1 Algorithm in O(n) time: Graph G with a NIC-planar embedding E Input: NIC-plane graph (G, E) with n vertices
4
1 Algorithm in O(n) time: Graph G with a NIC-planar embedding E Input: NIC-plane graph (G, E) with n vertices Output: 1-bend RAC drawing Γ of G according to E Every vertex, bend point, and crossing point of Γ lies on a grid
4
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995]
5
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] Idea:
5
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] Idea:
5
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] Idea:
5
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] Idea:
the vertices v1, v2, . . . , vn.
5
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] Idea:
the vertices v1, v2, . . . , vn. v6 v5 v4 v3 v1 v2
5
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] Idea:
the vertices v1, v2, . . . , vn.
v6 v5 v4 v3 v1 v2
5
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] Idea:
the vertices v1, v2, . . . , vn.
– Start with triangle v1, v2, v3. v6 v5 v4 v3 v1 v2
5
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] v1 v2 v3 Idea:
the vertices v1, v2, . . . , vn.
– Start with triangle v1, v2, v3. v6 v5 v4 v3 v1 v2
5
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] – For vk: Shift first & last neighbor of vk. v1 v2 v3 Idea:
the vertices v1, v2, . . . , vn.
– Start with triangle v1, v2, v3. v6 v5 v4 v3 v1 v2
5
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] – For vk: Shift first & last neighbor of vk. v1 v2 v3 Idea:
the vertices v1, v2, . . . , vn.
– Start with triangle v1, v2, v3. v6 v5 v4 v3 v1 v2
5
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] – For vk: Shift first & last neighbor of vk. v1 v2 v3 Idea:
the vertices v1, v2, . . . , vn.
– Start with triangle v1, v2, v3. – Add vk to the outer face. v6 v5 v4 v3 v1 v2
5
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] – For vk: Shift first & last neighbor of vk. v1 v2 v3 v4 Idea:
the vertices v1, v2, . . . , vn.
– Start with triangle v1, v2, v3. – Add vk to the outer face. v6 v5 v4 v3 v1 v2
5
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] – For vk: Shift first & last neighbor of vk. v1 v2 v3 v4 Idea:
the vertices v1, v2, . . . , vn.
– Start with triangle v1, v2, v3. – Add vk to the outer face. v6 v5 v4 v3 v1 v2 ⇒ all slopes on outer face ±1 (except for v1v2)
5
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] – For vk: Shift first & last neighbor of vk. v1 v2 v3 v4 Idea:
the vertices v1, v2, . . . , vn.
– Start with triangle v1, v2, v3. – Add vk to the outer face. v6 v5 v4 v3 v1 v2 ⇒ all slopes on outer face ±1 (except for v1v2)
5
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] – For vk: Shift first & last neighbor of vk. v1 v2 v5 v4 v3 Idea:
the vertices v1, v2, . . . , vn.
– Start with triangle v1, v2, v3. – Add vk to the outer face. v6 v5 v4 v3 v1 v2 ⇒ all slopes on outer face ±1 (except for v1v2)
5
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] – For vk: Shift first & last neighbor of vk. v4 v5 v1 v2 v3 Idea:
the vertices v1, v2, . . . , vn.
– Start with triangle v1, v2, v3. – Add vk to the outer face. v6 v5 v4 v3 v1 v2 ⇒ all slopes on outer face ±1 (except for v1v2)
5
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] – For vk: Shift first & last neighbor of vk. v4 v5 v1 v2 v3 v6 Idea:
the vertices v1, v2, . . . , vn.
– Start with triangle v1, v2, v3. – Add vk to the outer face. v6 v5 v4 v3 v1 v2 ⇒ all slopes on outer face ±1 (except for v1v2)
5
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] – For vk: Shift first & last neighbor of vk. v4 v5 v1 v2 v3 v6 Idea:
the vertices v1, v2, . . . , vn.
– Start with triangle v1, v2, v3. – Add vk to the outer face. v6 v5 v4 v3 v1 v2
Resulting grid size: (2n − 4) × (n − 2)
⇒ all slopes on outer face ±1 (except for v1v2)
5
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] – For vk: Shift first & last neighbor of vk. v4 v5 v1 v2 v3 v6 Idea:
the vertices v1, v2, . . . , vn.
– Start with triangle v1, v2, v3. – Add vk to the outer face. v6 v5 v4 v3 v1 v2
Resulting grid size: (2n − 4) × (n − 2)
⇒ all slopes on outer face ±1 (except for v1v2)
5
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] – For vk: Shift first & last neighbor of vk. v4 v5 v1 v2 v3 v6 Idea:
the vertices v1, v2, . . . , vn.
– Start with triangle v1, v2, v3. – Add vk to the outer face. v6 v5 v4 v3 v1 v2
Resulting grid size: (2n − 4) × (n − 2)
⇒ all slopes on outer face ±1 (except for v1v2)
5
6
6
6
)
6
)
vdummy
6
)
vdummy
6
)
vdummy
6
)
vdummy
6
)
vdummy
6
)
they cross in a right angle (crossings and bends on the grid)
vdummy
6
)
they cross in a right angle (crossings and bends on the grid)
vdummy
6
)
they cross in a right angle (crossings and bends on the grid)
vdummy
6
)
they cross in a right angle (crossings and bends on the grid)
vdummy
grid point on the Thales’ circle
6
)
they cross in a right angle (crossings and bends on the grid)
vdummy
grid point on the Thales’ circle
6
)
they cross in a right angle (crossings and bends on the grid)
vdummy
grid points for the bends
6
)
they cross in a right angle (crossings and bends on the grid)
vdummy
)
they cross in a right angle (crossings and bends on the grid)
vdummy
)
they cross in a right angle (crossings and bends on the grid)
vdummy
)
they cross in a right angle (crossings and bends on the grid)
vdummy
6
)
they cross in a right angle (crossings and bends on the grid)
vdummy
)
they cross in a right angle (crossings and bends on the grid)
vdummy
)
they cross in a right angle (crossings and bends on the grid)
vdummy
)
they cross in a right angle (crossings and bends on the grid)
vdummy
)
they cross in a right angle (crossings and bends on the grid)
vdummy
configu- ration! 6
bad configu- ration! 7
Solution:
bad configu- ration!
(regarding the canonical ordering) adjacent to the other three vertices.
7
Solution:
bad configu- ration!
(regarding the canonical ordering) adjacent to the other three vertices.
(Shift Algorithm for biconnected graphs).
7
Solution:
bad configu- ration!
(regarding the canonical ordering) adjacent to the other three vertices.
(Shift Algorithm for biconnected graphs). It builds a canonical ordering bottom-up instead of top-down.
7
Solution:
bad configu- ration!
(regarding the canonical ordering) adjacent to the other three vertices.
start with an empty quadrangle
(Shift Algorithm for biconnected graphs). It builds a canonical ordering bottom-up instead of top-down.
7
Solution:
bad configu- ration!
(regarding the canonical ordering) adjacent to the other three vertices. v42
(Shift Algorithm for biconnected graphs). It builds a canonical ordering bottom-up instead of top-down.
7
Solution:
bad configu- ration!
(regarding the canonical ordering) adjacent to the other three vertices. v42
Insert the diagonal
(Shift Algorithm for biconnected graphs). It builds a canonical ordering bottom-up instead of top-down.
7
Solution:
bad configu- ration!
(regarding the canonical ordering) adjacent to the other three vertices. v42
Insert the diagonal
(Shift Algorithm for biconnected graphs). It builds a canonical ordering bottom-up instead of top-down.
7
Solution:
bad configu- ration!
(regarding the canonical ordering) adjacent to the other three vertices. v42 v55
(Shift Algorithm for biconnected graphs). It builds a canonical ordering bottom-up instead of top-down.
7
Solution:
bad configu- ration!
(regarding the canonical ordering) adjacent to the other three vertices. v42 v55 v61
(Shift Algorithm for biconnected graphs). It builds a canonical ordering bottom-up instead of top-down.
7
Solution:
bad configu- ration!
(regarding the canonical ordering) adjacent to the other three vertices. v42 v55 v61 v94
(Shift Algorithm for biconnected graphs). It builds a canonical ordering bottom-up instead of top-down.
7
Solution:
bad configu- ration!
(regarding the canonical ordering) adjacent to the other three vertices. v42 v55 v61 v94
(Shift Algorithm for biconnected graphs).
It builds a canonical ordering bottom-up instead of top-down.
7
Solution:
bad configu- ration!
(regarding the canonical ordering) adjacent to the other three vertices. v42 v55 v61 v94
(Shift Algorithm for biconnected graphs).
Case 1 It builds a canonical ordering bottom-up instead of top-down.
7
Solution:
bad configu- ration!
(regarding the canonical ordering) adjacent to the other three vertices. v42 v55 v61 v94
(Shift Algorithm for biconnected graphs).
Case 1 It builds a canonical ordering bottom-up instead of top-down.
7
Solution:
bad configu- ration!
(regarding the canonical ordering) adjacent to the other three vertices. v42 v55 v61 v94
(Shift Algorithm for biconnected graphs).
Case 1 It builds a canonical ordering bottom-up instead of top-down.
7
Solution:
bad configu- ration!
(regarding the canonical ordering) adjacent to the other three vertices. v42 v55 v61 v94
(Shift Algorithm for biconnected graphs).
Case 1 Case 2 It builds a canonical ordering bottom-up instead of top-down.
7
Solution:
bad configu- ration!
(regarding the canonical ordering) adjacent to the other three vertices. v42 v55 v61 v94
(Shift Algorithm for biconnected graphs).
Case 1 Case 2 It builds a canonical ordering bottom-up instead of top-down.
7
Solution:
bad configu- ration!
(regarding the canonical ordering) adjacent to the other three vertices. v42 v55 v61 v94
(Shift Algorithm for biconnected graphs).
Case 1 Case 2 It builds a canonical ordering bottom-up instead of top-down.
7
Solution:
bad configu- ration!
(regarding the canonical ordering) adjacent to the other three vertices. v42 v55 v61 v94
(Shift Algorithm for biconnected graphs).
Case 1 Case 2 Case 3 It builds a canonical ordering bottom-up instead of top-down.
7
Solution:
bad configu- ration!
(regarding the canonical ordering) adjacent to the other three vertices. v42 v55 v61 v94
(Shift Algorithm for biconnected graphs).
Case 1 Case 2 Case 3 It builds a canonical ordering bottom-up instead of top-down.
7
Solution:
bad configu- ration!
(regarding the canonical ordering) adjacent to the other three vertices. v42 v55 v61 v94
(Shift Algorithm for biconnected graphs).
Case 1 Case 2 Case 3 It builds a canonical ordering bottom-up instead of top-down.
7
8
8
NIC-planar RAC with ≤ 1 bend per edge.
8
NIC-planar RAC with ≤ 1 bend per edge.
(16n − 32) × (8n − 16).
8
NIC-planar RAC with ≤ 1 bend per edge.
(16n − 32) × (8n − 16).
embedding as input; this embedding is preserved.
8
NIC-planar RAC with ≤ 1 bend per edge.
(16n − 32) × (8n − 16).
embedding as input; this embedding is preserved.
planar IC-planar NIC-planar 1-planar RACpoly
1
RAC1 RAC0 RACpoly RACpoly
2
RAC2 RACpoly
3
= all graphs E ?
w/o B-configuration
8
NIC-planar RAC with ≤ 1 bend per edge.
(16n − 32) × (8n − 16).
embedding as input; this embedding is preserved. Our main result: NIC-plane graphs ⊆ RACpoly
1
planar IC-planar NIC-planar 1-planar RACpoly
1
RAC1 RAC0 RACpoly RACpoly
2
RAC2 RACpoly
3
= all graphs E ?
w/o B-configuration
8
NIC-planar RAC with ≤ 1 bend per edge.
(16n − 32) × (8n − 16).
embedding as input; this embedding is preserved. Open question: 1-planar graphs ⊆ RACpoly
1
?
planar IC-planar NIC-planar 1-planar RACpoly
1
RAC1 RAC0 RACpoly RACpoly
2
RAC2 RACpoly
3
= all graphs E ?
w/o B-configuration
?
8
NIC-planar RAC with ≤ 1 bend per edge.
(16n − 32) × (8n − 16).
embedding as input; this embedding is preserved. Open question: 1-planar graphs ⊆ RACpoly
1
?
planar IC-planar NIC-planar 1-planar RACpoly
1
RAC1 RAC0 RACpoly RACpoly
2
RAC2 RACpoly
3
= all graphs ? ? ? E ?
w/o B-configuration
?
More open questions
E ?
8