Compact Drawings of 1-Planar Graphs with Right-Angle Crossings and - - PowerPoint PPT Presentation
Compact Drawings of 1-Planar Graphs with Right-Angle Crossings and - - PowerPoint PPT Presentation
Compact Drawings of 1-Planar Graphs with Right-Angle Crossings and Few Bends Steven Chaplick, Fabian Lipp, Alexander Wolff, and Johannes Zink Introduction: Beyond-Planar Graphs 2 Types of drawings: Planar: No crossings Introduction:
Introduction: Beyond-Planar Graphs
Types of drawings: Planar: No crossings
2
Introduction: Beyond-Planar Graphs
1-Planar: Types of drawings: ≤ 1 crossings per edge K5 Planar: No crossings
2
Introduction: Beyond-Planar Graphs
1-Planar: Types of drawings: ≤ 1 crossings per edge Planar: No crossings
2
Introduction: Beyond-Planar Graphs
1-Planar: Types of drawings: ≤ 1 crossings per edge NIC-Planar: Two crossings share ≤ 1 vertices Planar: No crossings
2
Introduction: Beyond-Planar Graphs
1-Planar: Types of drawings: ≤ 1 crossings per edge NIC-Planar: Two crossings share ≤ 1 vertices Planar: No crossings
2
Introduction: Beyond-Planar Graphs
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
Introduction: Beyond-Planar Graphs
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
Introduction: Beyond-Planar Graphs
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
Introduction: Beyond-Planar Graphs
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 RACk: with ≤ k bends per edge RAC0: with straight-line edges Planar: No crossings
2
Introduction: Beyond-Planar Graphs
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 RACk: with ≤ k bends per edge RAC0: with straight-line edges poly(n) RACpoly: in polynomial area poly(n) Planar: No crossings
- 2
Introduction: Beyond-Planar Graphs
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 RACk: with ≤ k bends per edge RAC0: with straight-line edges poly(n) RACpoly: in polynomial area poly(n) Planar: No crossings
- ⊆
⊆ ⊆
2
Introduction: The Shift Algorithm
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995]
3
Introduction: The Shift Algorithm
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] Idea:
3
Introduction: The Shift Algorithm
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] Idea:
- Triangulate given plane graph.
3
Introduction: The Shift Algorithm
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] Idea:
- Triangulate given plane graph.
3
Introduction: The Shift Algorithm
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] Idea:
- Triangulate given plane graph.
- Compute a canonical ordering of
the vertices v1, v2, . . . , vn.
3
Introduction: The Shift Algorithm
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] Idea:
- Triangulate given plane graph.
- Compute a canonical ordering of
the vertices v1, v2, . . . , vn. v6 v5 v4 v3 v1 v2
3
Introduction: The Shift Algorithm
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] Idea:
- Triangulate given plane graph.
- Compute a canonical ordering of
the vertices v1, v2, . . . , vn.
- Draw the graph:
v6 v5 v4 v3 v1 v2
3
Introduction: The Shift Algorithm
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] Idea:
- Triangulate given plane graph.
- Compute a canonical ordering of
the vertices v1, v2, . . . , vn.
- Draw the graph:
– Start with triangle v1, v2, v3. v6 v5 v4 v3 v1 v2
3
Introduction: The Shift Algorithm
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] v1 v2 v3 Idea:
- Triangulate given plane graph.
- Compute a canonical ordering of
the vertices v1, v2, . . . , vn.
- Draw the graph:
– Start with triangle v1, v2, v3. v6 v5 v4 v3 v1 v2
3
Introduction: The Shift Algorithm
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] – For vk: Shift first & last neighbor of vk. v1 v2 v3 Idea:
- Triangulate given plane graph.
- Compute a canonical ordering of
the vertices v1, v2, . . . , vn.
- Draw the graph:
– Start with triangle v1, v2, v3. v6 v5 v4 v3 v1 v2
3
Introduction: The Shift Algorithm
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] – For vk: Shift first & last neighbor of vk. v1 v2 v3 Idea:
- Triangulate given plane graph.
- Compute a canonical ordering of
the vertices v1, v2, . . . , vn.
- Draw the graph:
– Start with triangle v1, v2, v3. v6 v5 v4 v3 v1 v2
3
Introduction: The Shift Algorithm
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] – For vk: Shift first & last neighbor of vk. v1 v2 v3 Idea:
- Triangulate given plane graph.
- Compute a canonical ordering of
the vertices v1, v2, . . . , vn.
- Draw the graph:
– Start with triangle v1, v2, v3. – Add vk to the outer face. v6 v5 v4 v3 v1 v2
3
Introduction: The Shift Algorithm
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] – For vk: Shift first & last neighbor of vk. v1 v2 v3 v4 Idea:
- Triangulate given plane graph.
- Compute a canonical ordering of
the vertices v1, v2, . . . , vn.
- Draw the graph:
– Start with triangle v1, v2, v3. – Add vk to the outer face. v6 v5 v4 v3 v1 v2
3
Introduction: The Shift Algorithm
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] – For vk: Shift first & last neighbor of vk. v1 v2 v3 v4 Idea:
- Triangulate given plane graph.
- Compute a canonical ordering of
the vertices v1, v2, . . . , vn.
- Draw the graph:
– 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)
3
Introduction: The Shift Algorithm
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] – For vk: Shift first & last neighbor of vk. v1 v2 v3 v4 Idea:
- Triangulate given plane graph.
- Compute a canonical ordering of
the vertices v1, v2, . . . , vn.
- Draw the graph:
– 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)
3
Introduction: The Shift Algorithm
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] – For vk: Shift first & last neighbor of vk. v1 v2 v5 v4 v3 Idea:
- Triangulate given plane graph.
- Compute a canonical ordering of
the vertices v1, v2, . . . , vn.
- Draw the graph:
– 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)
3
Introduction: The Shift Algorithm
[de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] – For vk: Shift first & last neighbor of vk. v4 v5 v1 v2 v3 Idea:
- Triangulate given plane graph.
- Compute a canonical ordering of
the vertices v1, v2, . . . , vn.
- Draw the graph:
– 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)
3
Introduction: The Shift Algorithm
[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:
- Triangulate given plane graph.
- Compute a canonical ordering of
the vertices v1, v2, . . . , vn.
- Draw the graph:
– 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)
3
Introduction: The Shift Algorithm
[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:
- Triangulate given plane graph.
- Compute a canonical ordering of
the vertices v1, v2, . . . , vn.
- Draw the graph:
– 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)
3
Introduction: The Shift Algorithm
[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:
- Triangulate given plane graph.
- Compute a canonical ordering of
the vertices v1, v2, . . . , vn.
- Draw the graph:
– 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)
3
Introduction: The Shift Algorithm
[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:
- Triangulate given plane graph.
- Compute a canonical ordering of
the vertices v1, v2, . . . , vn.
- Draw the graph:
– 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)
3
Introduction: Related Work
= {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 4
Introduction: Related Work
planar IC-planar NIC-planar 1-planar RAC1 RAC0 RAC2
E? contained in (even for fixed embedding) contained in (unknown for fixed embedding) incomparable 4
Introduction: Related Work
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
4
Introduction: Related Work
[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
4
Introduction: Related Work
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
4
Introduction: Related Work
[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 4
Introduction: Related Work
[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?
4
Introduction: Related Work
[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 4
Introduction: Related Work
[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?
4
Introduction: Related Work
[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 4
Introduction: Related Work
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 4
Introduction: Related Work
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 4
Introduction: Related Work
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 first main result:
E? contained in (even for fixed embedding) contained in (unknown for fixed embedding) incomparable
NIC-plane graphs ⊆ RACpoly
1
4
Introduction: Related Work
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 first main result:
E? contained in (even for fixed embedding) contained in (unknown for fixed embedding) incomparable
NIC-plane graphs ⊆ RACpoly
1
Our second main result: 1-plane graphs ⊆ RACpoly
2
4
Result 1: 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
5
Result 1: NIC-Plane Graphs ⊆ RACpoly
1
- Input: a NIC-plane graph
6
Result 1: NIC-Plane Graphs ⊆ RACpoly
1 Approach that nearly works:
- Input: a NIC-plane graph
6
Result 1: NIC-Plane Graphs ⊆ RACpoly
1 Approach that nearly works:
- Input: a NIC-plane graph
6
Result 1: NIC-Plane Graphs ⊆ RACpoly
1
- Enclose each crossing by a so called empty kite:
Approach that nearly works:
- Input: a NIC-plane graph
6
Result 1: NIC-Plane Graphs ⊆ RACpoly
1
- Enclose each crossing by a so called empty kite:
Approach that nearly works:
vdummy
- Input: a NIC-plane graph
6
Result 1: NIC-Plane Graphs ⊆ RACpoly
1
- Replace each pair of crossing edges by a single edge
- Enclose each crossing by a so called empty kite:
Approach that nearly works:
vdummy
- Input: a NIC-plane graph
6
Result 1: NIC-Plane Graphs ⊆ RACpoly
1
- Replace each pair of crossing edges by a single edge
- Enclose each crossing by a so called empty kite:
Approach that nearly works:
vdummy
- Input: a NIC-plane graph
6
Result 1: NIC-Plane Graphs ⊆ RACpoly
1
- Replace each pair of crossing edges by a single edge
- Enclose each crossing by a so called empty kite:
- Draw the obtained plane graph with the Shift Algorithm
Approach that nearly works:
vdummy
- Input: a NIC-plane graph
6
Result 1: NIC-Plane Graphs ⊆ RACpoly
1
- Replace each pair of crossing edges by a single edge
- Enclose each crossing by a so called empty kite:
- Draw the obtained plane graph with the Shift Algorithm
Approach that nearly works:
vdummy
- Input: a NIC-plane graph
6
Result 1: NIC-Plane Graphs ⊆ RACpoly
1
- Replace each pair of crossing edges by a single edge
- Enclose each crossing by a so called empty kite:
- Draw the obtained plane graph with the Shift Algorithm
- Manually reinsert the removed edges with 1 bend so that
they cross in a right angle (crossings and bends on the grid) Approach that nearly works:
vdummy
- Input: a NIC-plane graph
6
Result 1: NIC-Plane Graphs ⊆ RACpoly
1
- Replace each pair of crossing edges by a single edge
- Enclose each crossing by a so called empty kite:
- Draw the obtained plane graph with the Shift Algorithm
- Manually reinsert the removed edges with 1 bend so that
they cross in a right angle (crossings and bends on the grid) Approach that nearly works:
vdummy
- Input: a NIC-plane graph
6
Result 1: NIC-Plane Graphs ⊆ RACpoly
1
- Replace each pair of crossing edges by a single edge
- Enclose each crossing by a so called empty kite:
- Draw the obtained plane graph with the Shift Algorithm
- Manually reinsert the removed edges with 1 bend so that
they cross in a right angle (crossings and bends on the grid) Approach that nearly works:
vdummy
- Input: a NIC-plane graph
6
Result 1: NIC-Plane Graphs ⊆ RACpoly
1
- Replace each pair of crossing edges by a single edge
- Enclose each crossing by a so called empty kite:
- Draw the obtained plane graph with the Shift Algorithm
- Manually reinsert the removed edges with 1 bend so that
they cross in a right angle (crossings and bends on the grid) Approach that nearly works:
vdummy
grid point on the Thales’ circle
- Input: a NIC-plane graph
6
Result 1: NIC-Plane Graphs ⊆ RACpoly
1
- Replace each pair of crossing edges by a single edge
- Enclose each crossing by a so called empty kite:
- Draw the obtained plane graph with the Shift Algorithm
- Manually reinsert the removed edges with 1 bend so that
they cross in a right angle (crossings and bends on the grid) Approach that nearly works:
vdummy
grid point on the Thales’ circle
- Input: a NIC-plane graph
6
Result 1: NIC-Plane Graphs ⊆ RACpoly
1
- Replace each pair of crossing edges by a single edge
- Enclose each crossing by a so called empty kite:
- Draw the obtained plane graph with the Shift Algorithm
- Manually reinsert the removed edges with 1 bend so that
they cross in a right angle (crossings and bends on the grid) Approach that nearly works:
vdummy
grid points for the bends
- Input: a NIC-plane graph
6
Result 1: NIC-Plane Graphs ⊆ RACpoly
1
- Replace each pair of crossing edges by a single edge
- Enclose each crossing by a so called empty kite:
- Draw the obtained plane graph with the Shift Algorithm
- Manually reinsert the removed edges with 1 bend so that
they cross in a right angle (crossings and bends on the grid) Approach that nearly works:
vdummy
- Input: a NIC-plane graph
6
Result 1: NIC-Plane Graphs ⊆ RACpoly
1
- Replace each pair of crossing edges by a single edge
- Enclose each crossing by a so called empty kite:
- Draw the obtained plane graph with the Shift Algorithm
- Manually reinsert the removed edges with 1 bend so that
they cross in a right angle (crossings and bends on the grid) Approach that nearly works:
vdummy
- Input: a NIC-plane graph
6
Result 1: NIC-Plane Graphs ⊆ RACpoly
1
- Replace each pair of crossing edges by a single edge
- Enclose each crossing by a so called empty kite:
- Draw the obtained plane graph with the Shift Algorithm
- Manually reinsert the removed edges with 1 bend so that
they cross in a right angle (crossings and bends on the grid) Approach that nearly works:
vdummy
- Input: a NIC-plane graph
6
Result 1: NIC-Plane Graphs ⊆ RACpoly
1
- Replace each pair of crossing edges by a single edge
- Enclose each crossing by a so called empty kite:
- Draw the obtained plane graph with the Shift Algorithm
- Manually reinsert the removed edges with 1 bend so that
they cross in a right angle (crossings and bends on the grid) Approach that nearly works:
vdummy
- very slim
- Input: a NIC-plane graph
6
Result 1: NIC-Plane Graphs ⊆ RACpoly
1
- Replace each pair of crossing edges by a single edge
- Enclose each crossing by a so called empty kite:
- Draw the obtained plane graph with the Shift Algorithm
- Manually reinsert the removed edges with 1 bend so that
they cross in a right angle (crossings and bends on the grid) Approach that nearly works:
vdummy
- Input: a NIC-plane graph
6
Result 1: NIC-Plane Graphs ⊆ RACpoly
1
- Replace each pair of crossing edges by a single edge
- Enclose each crossing by a so called empty kite:
- Draw the obtained plane graph with the Shift Algorithm
- Manually reinsert the removed edges with 1 bend so that
they cross in a right angle (crossings and bends on the grid) Approach that nearly works:
vdummy
- Input: a NIC-plane graph
6
Result 1: NIC-Plane Graphs ⊆ RACpoly
1
- Replace each pair of crossing edges by a single edge
- Enclose each crossing by a so called empty kite:
- Draw the obtained plane graph with the Shift Algorithm
- Manually reinsert the removed edges with 1 bend so that
they cross in a right angle (crossings and bends on the grid) Approach that nearly works:
vdummy
- Input: a NIC-plane graph
6
Result 1: NIC-Plane Graphs ⊆ RACpoly
1
- Replace each pair of crossing edges by a single edge
- Enclose each crossing by a so called empty kite:
- Draw the obtained plane graph with the Shift Algorithm
- Manually reinsert the removed edges with 1 bend so that
they cross in a right angle (crossings and bends on the grid) Approach that nearly works:
vdummy
- Input: a NIC-plane graph
6
Result 1: NIC-Plane Graphs ⊆ RACpoly
1
- Replace each pair of crossing edges by a single edge
- Enclose each crossing by a so called empty kite:
- Draw the obtained plane graph with the Shift Algorithm
- Manually reinsert the removed edges with 1 bend so that
they cross in a right angle (crossings and bends on the grid) Approach that nearly works:
vdummy
- bad
configu- ration!
- Input: a NIC-plane graph
6
Result 1: NIC-Plane Graphs ⊆ RACpoly
1
bad configu- ration! 7
Result 1: NIC-Plane Graphs ⊆ RACpoly
1 Solution:
bad configu- ration!
- Make the first vertex in the qudrangle
(regarding the canonical ordering) adjacent to the other three vertices.
7
Result 1: NIC-Plane Graphs ⊆ RACpoly
1 Solution:
bad configu- ration!
- Make the first vertex in the qudrangle
(regarding the canonical ordering) adjacent to the other three vertices.
- Use the algorithm by Harel and Sardas
(Shift Algorithm for biconnected graphs).
7
Result 1: NIC-Plane Graphs ⊆ RACpoly
1 Solution:
bad configu- ration!
- Make the first vertex in the qudrangle
(regarding the canonical ordering) adjacent to the other three vertices.
- Use the algorithm by Harel and Sardas
(Shift Algorithm for biconnected graphs). It builds a canonical ordering bottom-up instead of top-down.
7
Result 1: NIC-Plane Graphs ⊆ RACpoly
1 Solution:
bad configu- ration!
- Make the first vertex in the qudrangle
(regarding the canonical ordering) adjacent to the other three vertices.
start with an empty quadrangle
- Use the algorithm by Harel and Sardas
(Shift Algorithm for biconnected graphs). It builds a canonical ordering bottom-up instead of top-down.
7
Result 1: NIC-Plane Graphs ⊆ RACpoly
1 Solution:
bad configu- ration!
- Make the first vertex in the qudrangle
(regarding the canonical ordering) adjacent to the other three vertices. v42
- Use the algorithm by Harel and Sardas
(Shift Algorithm for biconnected graphs). It builds a canonical ordering bottom-up instead of top-down.
7
Result 1: NIC-Plane Graphs ⊆ RACpoly
1 Solution:
bad configu- ration!
- Make the first vertex in the qudrangle
(regarding the canonical ordering) adjacent to the other three vertices. v42
Insert the diagonal
- Use the algorithm by Harel and Sardas
(Shift Algorithm for biconnected graphs). It builds a canonical ordering bottom-up instead of top-down.
7
Result 1: NIC-Plane Graphs ⊆ RACpoly
1 Solution:
bad configu- ration!
- Make the first vertex in the qudrangle
(regarding the canonical ordering) adjacent to the other three vertices. v42
Insert the diagonal
- Use the algorithm by Harel and Sardas
(Shift Algorithm for biconnected graphs). It builds a canonical ordering bottom-up instead of top-down.
7
Result 1: NIC-Plane Graphs ⊆ RACpoly
1 Solution:
bad configu- ration!
- Make the first vertex in the qudrangle
(regarding the canonical ordering) adjacent to the other three vertices. v42 v55
- Use the algorithm by Harel and Sardas
(Shift Algorithm for biconnected graphs). It builds a canonical ordering bottom-up instead of top-down.
7
Result 1: NIC-Plane Graphs ⊆ RACpoly
1 Solution:
bad configu- ration!
- Make the first vertex in the qudrangle
(regarding the canonical ordering) adjacent to the other three vertices. v42 v55 v61
- Use the algorithm by Harel and Sardas
(Shift Algorithm for biconnected graphs). It builds a canonical ordering bottom-up instead of top-down.
7
Result 1: NIC-Plane Graphs ⊆ RACpoly
1 Solution:
bad configu- ration!
- Make the first vertex in the qudrangle
(regarding the canonical ordering) adjacent to the other three vertices. v42 v55 v61 v94
- Use the algorithm by Harel and Sardas
(Shift Algorithm for biconnected graphs). It builds a canonical ordering bottom-up instead of top-down.
7
Result 1: NIC-Plane Graphs ⊆ RACpoly
1 Solution:
bad configu- ration!
- Make the first vertex in the qudrangle
(regarding the canonical ordering) adjacent to the other three vertices. v42 v55 v61 v94
- Use the algorithm by Harel and Sardas
(Shift Algorithm for biconnected graphs).
- Now only three “good” cases can appear:
It builds a canonical ordering bottom-up instead of top-down.
7
Result 1: NIC-Plane Graphs ⊆ RACpoly
1 Solution:
bad configu- ration!
- Make the first vertex in the qudrangle
(regarding the canonical ordering) adjacent to the other three vertices. v42 v55 v61 v94
- Use the algorithm by Harel and Sardas
(Shift Algorithm for biconnected graphs).
- Now only three “good” cases can appear:
Case 1 It builds a canonical ordering bottom-up instead of top-down.
7
Result 1: NIC-Plane Graphs ⊆ RACpoly
1 Solution:
bad configu- ration!
- Make the first vertex in the qudrangle
(regarding the canonical ordering) adjacent to the other three vertices. v42 v55 v61 v94
- Use the algorithm by Harel and Sardas
(Shift Algorithm for biconnected graphs).
- Now only three “good” cases can appear:
Case 1 It builds a canonical ordering bottom-up instead of top-down.
7
Result 1: NIC-Plane Graphs ⊆ RACpoly
1 Solution:
bad configu- ration!
- Make the first vertex in the qudrangle
(regarding the canonical ordering) adjacent to the other three vertices. v42 v55 v61 v94
- Use the algorithm by Harel and Sardas
(Shift Algorithm for biconnected graphs).
- Now only three “good” cases can appear:
Case 1 It builds a canonical ordering bottom-up instead of top-down.
7
Result 1: NIC-Plane Graphs ⊆ RACpoly
1 Solution:
bad configu- ration!
- Make the first vertex in the qudrangle
(regarding the canonical ordering) adjacent to the other three vertices. v42 v55 v61 v94
- Use the algorithm by Harel and Sardas
(Shift Algorithm for biconnected graphs).
- Now only three “good” cases can appear:
Case 1 Case 2 It builds a canonical ordering bottom-up instead of top-down.
7
Result 1: NIC-Plane Graphs ⊆ RACpoly
1 Solution:
bad configu- ration!
- Make the first vertex in the qudrangle
(regarding the canonical ordering) adjacent to the other three vertices. v42 v55 v61 v94
- Use the algorithm by Harel and Sardas
(Shift Algorithm for biconnected graphs).
- Now only three “good” cases can appear:
Case 1 Case 2 It builds a canonical ordering bottom-up instead of top-down.
7
Result 1: NIC-Plane Graphs ⊆ RACpoly
1 Solution:
bad configu- ration!
- Make the first vertex in the qudrangle
(regarding the canonical ordering) adjacent to the other three vertices. v42 v55 v61 v94
- Use the algorithm by Harel and Sardas
(Shift Algorithm for biconnected graphs).
- Now only three “good” cases can appear:
Case 1 Case 2 It builds a canonical ordering bottom-up instead of top-down.
7
Result 1: NIC-Plane Graphs ⊆ RACpoly
1 Solution:
bad configu- ration!
- Make the first vertex in the qudrangle
(regarding the canonical ordering) adjacent to the other three vertices. v42 v55 v61 v94
- Use the algorithm by Harel and Sardas
(Shift Algorithm for biconnected graphs).
- Now only three “good” cases can appear:
Case 1 Case 2 Case 3 It builds a canonical ordering bottom-up instead of top-down.
7
Result 1: NIC-Plane Graphs ⊆ RACpoly
1 Solution:
bad configu- ration!
- Make the first vertex in the qudrangle
(regarding the canonical ordering) adjacent to the other three vertices. v42 v55 v61 v94
- Use the algorithm by Harel and Sardas
(Shift Algorithm for biconnected graphs).
- Now only three “good” cases can appear:
Case 1 Case 2 Case 3 It builds a canonical ordering bottom-up instead of top-down.
7
Result 1: NIC-Plane Graphs ⊆ RACpoly
1 Solution:
bad configu- ration!
- Make the first vertex in the qudrangle
(regarding the canonical ordering) adjacent to the other three vertices. v42 v55 v61 v94
- Use the algorithm by Harel and Sardas
(Shift Algorithm for biconnected graphs).
- Now only three “good” cases can appear:
Case 1 Case 2 Case 3 It builds a canonical ordering bottom-up instead of top-down.
7
Result 1: NIC-Plane Graphs ⊆ RACpoly
1 Full example:
8
Result 1: NIC-Plane Graphs ⊆ RACpoly
1 Full example:
8
Result 2: 1-Plane Graphs ⊆ RACpoly
2
planar IC-planar NIC-planar 1-planar RACpoly
1
RAC1 RAC0 RACpoly RACpoly
2
RAC2 RACpoly
3
= all graphs E?
w/o B-configuration
9
Result 2: 1-Plane Graphs ⊆ RACpoly
2
- Input: a 1-plane graph
10
Result 2: 1-Plane Graphs ⊆ RACpoly
2
- Input: a 1-plane graph
Preprocessing:
10
Result 2: 1-Plane Graphs ⊆ RACpoly
2
- Input: a 1-plane graph
Preprocessing:
10
Result 2: 1-Plane Graphs ⊆ RACpoly
2
- Enclose each crossing by a so called subdivided kite:
- Input: a 1-plane graph
Preprocessing:
10
Result 2: 1-Plane Graphs ⊆ RACpoly
2
- Enclose each crossing by a so called subdivided kite:
- Input: a 1-plane graph
Preprocessing:
10
Result 2: 1-Plane Graphs ⊆ RACpoly
2
- Planarize the graph by replacing each crossing by a vertex
- Enclose each crossing by a so called subdivided kite:
- Input: a 1-plane graph
Preprocessing:
10
Result 2: 1-Plane Graphs ⊆ RACpoly
2
- Planarize the graph by replacing each crossing by a vertex
- Enclose each crossing by a so called subdivided kite:
- Input: a 1-plane graph
Preprocessing: c
10
Result 2: 1-Plane Graphs ⊆ RACpoly
2
- Planarize the graph by replacing each crossing by a vertex
- Enclose each crossing by a so called subdivided kite:
- Draw the obtained plane graph
using the Shift Algorithm
- Input: a 1-plane graph
Preprocessing: Drawing phase: c
10
Result 2: 1-Plane Graphs ⊆ RACpoly
2
- Planarize the graph by replacing each crossing by a vertex
- Enclose each crossing by a so called subdivided kite:
- Draw the obtained plane graph
using the Shift Algorithm
- Input: a 1-plane graph
Preprocessing: Drawing phase: c c
10
Result 2: 1-Plane Graphs ⊆ RACpoly
2 c
11
Result 2: 1-Plane Graphs ⊆ RACpoly
2 Postprocessing (obtaining crossings at right angles): c
11
Result 2: 1-Plane Graphs ⊆ RACpoly
2 Postprocessing (obtaining crossings at right angles):
- Consider the four axis-parallel half-lines originating at c
c
11
Result 2: 1-Plane Graphs ⊆ RACpoly
2 Postprocessing (obtaining crossings at right angles):
- Consider the four axis-parallel half-lines originating at c
c
11
Result 2: 1-Plane Graphs ⊆ RACpoly
2
- Assign the four edges being incident to c to these half-lines
Postprocessing (obtaining crossings at right angles):
- Consider the four axis-parallel half-lines originating at c
c
11
Result 2: 1-Plane Graphs ⊆ RACpoly
2
- Assign the four edges being incident to c to these half-lines
Postprocessing (obtaining crossings at right angles):
- Consider the four axis-parallel half-lines originating at c
c
11
Result 2: 1-Plane Graphs ⊆ RACpoly
2
- Bend these edges at their assigned half-lines:
- Assign the four edges being incident to c to these half-lines
Postprocessing (obtaining crossings at right angles):
- Consider the four axis-parallel half-lines originating at c
c
11
Result 2: 1-Plane Graphs ⊆ RACpoly
2
- Bend these edges at their assigned half-lines:
- Assign the four edges being incident to c to these half-lines
Postprocessing (obtaining crossings at right angles):
- Consider the four axis-parallel half-lines originating at c
c
11
Result 2: 1-Plane Graphs ⊆ RACpoly
2
- Bend these edges at their assigned half-lines:
- Assign the four edges being incident to c to these half-lines
Postprocessing (obtaining crossings at right angles):
- Consider the four axis-parallel half-lines originating at c
c
11
Result 2: 1-Plane Graphs ⊆ RACpoly
2
- Bend these edges at their assigned half-lines:
- Assign the four edges being incident to c to these half-lines
Postprocessing (obtaining crossings at right angles):
- Consider the four axis-parallel half-lines originating at c
c Be careful: One assignment might depend on another one
11
Result 2: 1-Plane Graphs ⊆ RACpoly
2
- Bend these edges at their assigned half-lines:
- Assign the four edges being incident to c to these half-lines
Postprocessing (obtaining crossings at right angles):
- Consider the four axis-parallel half-lines originating at c
c Be careful: One assignment might depend on another one Solution: re-draw the independent
- nes first
1 2 1 1
11
Result 2: 1-Plane Graphs ⊆ RACpoly
2
- Bend these edges at their assigned half-lines:
- Assign the four edges being incident to c to these half-lines
Postprocessing (obtaining crossings at right angles):
- Consider the four axis-parallel half-lines originating at c
c Be careful: One assignment might depend on another one Solution: re-draw the independent
- nes first
1 2 1 1 Be careful: There might be no grid points to bend the edges
11
Result 2: 1-Plane Graphs ⊆ RACpoly
2
- Bend these edges at their assigned half-lines:
- Assign the four edges being incident to c to these half-lines
Postprocessing (obtaining crossings at right angles):
- Consider the four axis-parallel half-lines originating at c
c Be careful: One assignment might depend on another one Solution: re-draw the independent
- nes first
1 2 1 1 Be careful: There might be no grid points to bend the edges Solution: make the grid sufficiently fine
11
Result 2: 1-Plane Graphs ⊆ RACpoly
2
- Bend these edges at their assigned half-lines:
- Assign the four edges being incident to c to these half-lines
Postprocessing (obtaining crossings at right angles):
- Consider the four axis-parallel half-lines originating at c
c Be careful: One assignment might depend on another one Solution: re-draw the independent
- nes first
1 2 1 1 Be careful: There might be no grid points to bend the edges Solution: make the grid sufficiently fine
grid size: O(n) × O(n)
11
Result 2: 1-Plane Graphs ⊆ RACpoly
2
- Bend these edges at their assigned half-lines:
- Assign the four edges being incident to c to these half-lines
Postprocessing (obtaining crossings at right angles):
- Consider the four axis-parallel half-lines originating at c
c
- 1. Refine the grid by ˜
n ∈ O(n)
- 2. Re-draw independent edges
- 3. Refine the grid by ˜
n again
- 4. Re-draw dependent edges
grid size: O(n) × O(n)
11
Result 2: 1-Plane Graphs ⊆ RACpoly
2
- Bend these edges at their assigned half-lines:
- Assign the four edges being incident to c to these half-lines
Postprocessing (obtaining crossings at right angles):
- Consider the four axis-parallel half-lines originating at c
c
- 1. Refine the grid by ˜
n ∈ O(n)
- 2. Re-draw independent edges
- 3. Refine the grid by ˜
n again
- 4. Re-draw dependent edges
grid size: O(n2) × O(n2)
11
Result 2: 1-Plane Graphs ⊆ RACpoly
2
- Bend these edges at their assigned half-lines:
- Assign the four edges being incident to c to these half-lines
Postprocessing (obtaining crossings at right angles):
- Consider the four axis-parallel half-lines originating at c
c
- 1. Refine the grid by ˜
n ∈ O(n)
- 2. Re-draw independent edges
- 3. Refine the grid by ˜
n again
- 4. Re-draw dependent edges
grid size: O(n2) × O(n2)
11
Result 2: 1-Plane Graphs ⊆ RACpoly
2
- Bend these edges at their assigned half-lines:
- Assign the four edges being incident to c to these half-lines
Postprocessing (obtaining crossings at right angles):
- Consider the four axis-parallel half-lines originating at c
c
- 1. Refine the grid by ˜
n ∈ O(n)
- 2. Re-draw independent edges
- 3. Refine the grid by ˜
n again
- 4. Re-draw dependent edges
grid size: O(n2) × O(n2)
11
Result 2: 1-Plane Graphs ⊆ RACpoly
2
- Bend these edges at their assigned half-lines:
- Assign the four edges being incident to c to these half-lines
Postprocessing (obtaining crossings at right angles):
- Consider the four axis-parallel half-lines originating at c
c
- 1. Refine the grid by ˜
n ∈ O(n)
- 2. Re-draw independent edges
- 3. Refine the grid by ˜
n again
- 4. Re-draw dependent edges
grid size: O(n2) × O(n2)
11
Result 2: 1-Plane Graphs ⊆ RACpoly
2
- Bend these edges at their assigned half-lines:
- Assign the four edges being incident to c to these half-lines
Postprocessing (obtaining crossings at right angles):
- Consider the four axis-parallel half-lines originating at c
c
- 1. Refine the grid by ˜
n ∈ O(n)
- 2. Re-draw independent edges
- 3. Refine the grid by ˜
n again
- 4. Re-draw dependent edges
grid size: O(n3) × O(n3)
11
Result 2: 1-Plane Graphs ⊆ RACpoly
2
- Bend these edges at their assigned half-lines:
- Assign the four edges being incident to c to these half-lines
Postprocessing (obtaining crossings at right angles):
- Consider the four axis-parallel half-lines originating at c
c
- 1. Refine the grid by ˜
n ∈ O(n)
- 2. Re-draw independent edges
- 3. Refine the grid by ˜
n again
- 4. Re-draw dependent edges
grid size: O(n3) × O(n3)
11
Result 2: 1-Plane Graphs ⊆ RACpoly
2
- Bend these edges at their assigned half-lines:
- Assign the four edges being incident to c to these half-lines
Postprocessing (obtaining crossings at right angles):
- Consider the four axis-parallel half-lines originating at c
c
- 1. Refine the grid by ˜
n ∈ O(n)
- 2. Re-draw independent edges
- 3. Refine the grid by ˜
n again
- 4. Re-draw dependent edges
grid size: O(n3) × O(n3)
11
Result 2: 1-Plane Graphs ⊆ RACpoly
2
- Bend these edges at their assigned half-lines:
- Assign the four edges being incident to c to these half-lines
Postprocessing (obtaining crossings at right angles):
- Consider the four axis-parallel half-lines originating at c
c
- 1. Refine the grid by ˜
n ∈ O(n)
- 2. Re-draw independent edges
- 3. Refine the grid by ˜
n again
- 4. Re-draw dependent edges
- Remove the dummy objects
grid size: O(n3) × O(n3)
11
Result 2: 1-Plane Graphs ⊆ RACpoly
2
- Bend these edges at their assigned half-lines:
- Assign the four edges being incident to c to these half-lines
Postprocessing (obtaining crossings at right angles):
- Consider the four axis-parallel half-lines originating at c
- 1. Refine the grid by ˜
n ∈ O(n)
- 2. Re-draw independent edges
- 3. Refine the grid by ˜
n again
- 4. Re-draw dependent edges
- Remove the dummy objects
grid size: O(n3) × O(n3)
11
Summary and Open Questions
planar IC-planar NIC-planar 1-planar RAC1 RAC0 RACpoly RACpoly
2
RAC2 RACpoly
3
= all graphs E?
w/o B-configuration
NIC-plane ⊆ RACpoly
1
1-plane ⊆ RACpoly
2
Preserves embedding Yes Yes Runtime O(n) O(n) Bends per edge ≤ 1 ≤ 2 Grid size O(n) × O(n) O(n3) × O(n3)
RACpoly
1
12
Summary and Open Questions
planar IC-planar NIC-planar 1-planar RAC1 RAC0 RACpoly RACpoly
2
RAC2 RACpoly
3
= all graphs E?
w/o B-configuration
NIC-plane ⊆ RACpoly
1
1-plane ⊆ RACpoly
2
Preserves embedding Yes Yes Runtime O(n) O(n) Bends per edge ≤ 1 ≤ 2 Grid size O(n) × O(n) O(n3) × O(n3)
RACpoly
1
12
Summary and Open Questions
planar IC-planar NIC-planar 1-planar RAC1 RAC0 RACpoly RACpoly
2
RAC2 RACpoly
3
= all graphs E?
w/o B-configuration
NIC-plane ⊆ RACpoly
1
1-plane ⊆ RACpoly
2
Preserves embedding Yes Yes Runtime O(n) O(n) Bends per edge ≤ 1 ≤ 2 Grid size O(n) × O(n) O(n3) × O(n3)
RACpoly
1
12
Summary and Open Questions
planar IC-planar NIC-planar 1-planar RAC1 RAC0 RACpoly RACpoly
2
RAC2 RACpoly
3
= all graphs E?
w/o B-configuration
NIC-plane ⊆ RACpoly
1
1-plane ⊆ RACpoly
2
Preserves embedding Yes Yes Runtime O(n) O(n) Bends per edge ≤ 1 ≤ 2 Grid size O(n) × O(n) O(n3) × O(n3)
RACpoly
1
12
Summary and Open Questions
planar IC-planar NIC-planar 1-planar RAC1 RAC0 RACpoly RACpoly
2
RAC2 RACpoly
3
= all graphs E?
w/o B-configuration
NIC-plane ⊆ RACpoly
1
1-plane ⊆ RACpoly
2
Preserves embedding Yes Yes Runtime O(n) O(n) Bends per edge ≤ 1 ≤ 2 Grid size O(n) × O(n) O(n3) × O(n3)
RACpoly
1
12
Summary and Open Questions
planar IC-planar NIC-planar 1-planar RAC1 RAC0 RACpoly RACpoly
2
RAC2 RACpoly
3
= all graphs E?
w/o B-configuration
NIC-plane ⊆ RACpoly
1
1-plane ⊆ RACpoly
2
Preserves embedding Yes Yes Runtime O(n) O(n) Bends per edge ≤ 1 ≤ 2 Grid size O(n) × O(n) O(n3) × O(n3)
RACpoly
1
12
Summary and Open Questions
planar IC-planar NIC-planar 1-planar RAC1 RAC0 RACpoly RACpoly
2
RAC2 RACpoly
3
= all graphs E?
w/o B-configuration
NIC-plane ⊆ RACpoly
1
1-plane ⊆ RACpoly
2
Preserves embedding Yes Yes Runtime O(n) O(n) Bends per edge ≤ 1 ≤ 2 Grid size O(n) × O(n) O(n3) × O(n3)
RACpoly
1
12
Summary and Open Questions
Open question: 1-planar ⊆ RACpoly
1
?
planar IC-planar NIC-planar 1-planar RAC1 RAC0 RACpoly RACpoly
2
RAC2 RACpoly
3
= all graphs E?
w/o B-configuration
?
NIC-plane ⊆ RACpoly
1
1-plane ⊆ RACpoly
2
Preserves embedding Yes Yes Runtime O(n) O(n) Bends per edge ≤ 1 ≤ 2 Grid size O(n) × O(n) O(n3) × O(n3)
RACpoly
1
12
Summary and Open Questions
Open question: 1-planar ⊆ RACpoly
1
?
planar IC-planar NIC-planar 1-planar RAC1 RAC0 RACpoly RACpoly
2
RAC2 RACpoly
3
= all graphs ? ? ?
w/o B-configuration
?
More open questions
E?
NIC-plane ⊆ RACpoly
1
1-plane ⊆ RACpoly
2
Preserves embedding Yes Yes Runtime O(n) O(n) Bends per edge ≤ 1 ≤ 2 Grid size O(n) × O(n) O(n3) × O(n3)
RACpoly
1
12
Summary and Open Questions
Open question: 1-planar ⊆ RACpoly
1
?
planar IC-planar NIC-planar 1-planar RAC1 RAC0 RACpoly RACpoly
2
RAC2 RACpoly
3
= all graphs
w/o B-configuration
More open questions NIC-plane ⊆ RACpoly
1
1-plane ⊆ RACpoly
2
Preserves embedding Yes Yes Runtime O(n) O(n) Bends per edge ≤ 1 ≤ 2 Grid size O(n) × O(n) O(n3) × O(n3)
RACpoly
1
? ? ? E? ?
12