compact drawings of 1 planar graphs with right angle
play

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:


  1. Introduction: The Shift Algorithm 3 [de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] Idea: v 4 v 6 • Triangulate given plane graph. • Compute a canonical ordering of v 3 v 5 the vertices v 1 , v 2 , . . . , v n . v 2 v 1 • Draw the graph: Resulting grid size: – Start with triangle v 1 , v 2 , v 3 . (2 n − 4) × ( n − 2) – For v k : v 6 Shift first & last neighbor of v k . – Add v k to the outer face. ⇒ all slopes on outer face ± 1 v 5 v 4 v 3 (except for v 1 v 2 ) v 1 v 2

  2. Introduction: The Shift Algorithm 3 [de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] Idea: v 4 v 6 • Triangulate given plane graph. • Compute a canonical ordering of v 3 v 5 the vertices v 1 , v 2 , . . . , v n . v 2 v 1 • Draw the graph: Resulting grid size: – Start with triangle v 1 , v 2 , v 3 . (2 n − 4) × ( n − 2) – For v k : v 6 Shift first & last neighbor of v k . – Add v k to the outer face. ⇒ all slopes on outer face ± 1 v 5 v 4 v 3 (except for v 1 v 2 ) v 1 v 2

  3. Introduction: Related Work 4 1-planar = { graph G | G has a NIC-planar drawing } NIC-planar contained in (even for fixed embedding) IC-planar E ? contained in (unknown for fixed embedding) planar incomparable

  4. Introduction: Related Work 4 RAC 2 RAC 1 1-planar RAC 0 NIC-planar contained in (even for fixed embedding) IC-planar E ? contained in (unknown for fixed embedding) planar incomparable

  5. Introduction: Related Work 4 RAC poly 3 RAC 2 RAC poly 2 RAC 1 RAC poly 1 1-planar RAC 0 RAC poly 0 NIC-planar contained in (even for fixed embedding) IC-planar E ? contained in (unknown for fixed embedding) planar incomparable

  6. Introduction: Related Work 4 RAC poly [de Fraysseix, Pach, Pollack, 3 1990] RAC 2 [Schnyder, 1990] RAC poly 2 RAC 1 RAC poly 1 1-planar RAC 0 RAC poly 0 NIC-planar contained in (even for fixed embedding) IC-planar E ? contained in (unknown for fixed embedding) planar incomparable

  7. Introduction: Related Work 4 RAC poly RAC poly [Didimo, Eades, Liotta, = all graphs = all graphs E ? E ? 3 3 2009] RAC 2 RAC poly 2 RAC 1 RAC poly 1 1-planar RAC 0 RAC poly 0 NIC-planar contained in (even for fixed embedding) IC-planar E ? contained in (unknown for fixed embedding) planar incomparable

  8. Introduction: Related Work 4 RAC poly [Didimo, Eades, Liotta, = all graphs E ? 3 2009] RAC 2 [Eades, Liotta, 2011] RAC poly 2 RAC 1 RAC poly 1 1-planar RAC 0 RAC poly 0 NIC-planar contained in (even for fixed embedding) IC-planar E ? contained in (unknown for fixed embedding) planar incomparable

  9. Introduction: Related Work 4 RAC poly [Brandenburg, Didimo, = all graphs E ? 3 Evans, Kindermann, Liotta, RAC 2 Montecchiani, 2015] RAC poly 2 RAC 1 RAC poly 1 1-planar RAC 0 RAC poly 0 E ? E ? NIC-planar contained in (even for fixed embedding) IC-planar E ? contained in (unknown for fixed embedding) planar incomparable

  10. Introduction: Related Work 4 RAC poly [Liotta, Montecchiani, 2015] = all graphs E ? 3 RAC 2 RAC poly 2 RAC 1 RAC poly 1 1-planar RAC 0 RAC poly 0 E ? NIC-planar contained in (even for fixed embedding) IC-planar E ? contained in (unknown for fixed embedding) planar incomparable

  11. Introduction: Related Work 4 RAC poly [Didimo, Liotta, Mehrabi, = all graphs E ? 3 Montecchiani, 2016] RAC 2 RAC poly 2 RAC 1 E ? E ? RAC poly 1 1-planar RAC 0 RAC poly 0 E ? NIC-planar contained in (even for fixed embedding) IC-planar E ? contained in (unknown for fixed embedding) planar incomparable

  12. Introduction: Related Work 4 RAC poly [Bachmaier, Brandenburg, = all graphs E ? 3 Hanauer, Neuwirth, RAC 2 Reislhuber, 2017] RAC poly 2 RAC 1 E ? RAC poly 1 1-planar RAC 0 RAC poly 0 E ? NIC-planar contained in (even for fixed embedding) IC-planar E ? contained in (unknown for fixed embedding) planar incomparable

  13. Introduction: Related Work 4 RAC poly = all graphs E ? 3 RAC 2 RAC poly Our results 2 RAC 1 E ? RAC poly 1 1-planar RAC 0 RAC poly 0 E ? NIC-planar contained in (even for fixed embedding) IC-planar E ? contained in (unknown for fixed embedding) planar incomparable

  14. Introduction: Related Work 4 RAC poly = all graphs E ? 3 RAC 2 RAC poly Our results 2 RAC 1 E ? RAC poly 1 1-planar RAC 0 RAC poly w/o B-configuration 0 E ? NIC-planar contained in (even for fixed embedding) IC-planar E ? contained in (unknown for fixed embedding) planar incomparable

  15. Introduction: Related Work 4 RAC poly = all graphs E ? 3 RAC 2 RAC poly 2 RAC 1 E ? Our first main result: RAC poly 1 1-planar RAC 0 NIC-plane graphs RAC poly ⊆ RAC poly w/o B-configuration 0 1 E ? NIC-planar contained in (even for fixed embedding) IC-planar E ? contained in (unknown for fixed embedding) planar incomparable

  16. Introduction: Related Work 4 RAC poly Our second main result: = all graphs E ? 3 RAC 2 1-plane graphs RAC poly ⊆ RAC poly 2 2 RAC 1 E ? Our first main result: RAC poly 1 1-planar RAC 0 NIC-plane graphs RAC poly ⊆ RAC poly w/o B-configuration 0 1 E ? NIC-planar contained in (even for fixed embedding) IC-planar E ? contained in (unknown for fixed embedding) planar incomparable

  17. Result 1: NIC-Plane Graphs ⊆ RAC poly 5 1 RAC poly = all graphs E ? 3 RAC 2 RAC poly 2 RAC 1 RAC poly 1 1-planar RAC 0 RAC poly w/o B-configuration 0 NIC-planar IC-planar planar

  18. Result 1: NIC-Plane Graphs ⊆ RAC poly 6 1 • Input: a NIC-plane graph

  19. Result 1: NIC-Plane Graphs ⊆ RAC poly 6 1 • Input: a NIC-plane graph Approach that nearly works:

  20. Result 1: NIC-Plane Graphs ⊆ RAC poly 6 1 • Input: a NIC-plane graph Approach that nearly works:

  21. Result 1: NIC-Plane Graphs ⊆ RAC poly 6 1 • Input: a NIC-plane graph Approach that nearly works: • Enclose each crossing by a so called empty kite :

  22. Result 1: NIC-Plane Graphs ⊆ RAC poly 6 1 • Input: a NIC-plane graph Approach that nearly works: • Enclose each crossing by a so called empty kite : v dummy

  23. Result 1: NIC-Plane Graphs ⊆ RAC poly 6 1 • Input: a NIC-plane graph Approach that nearly works: • Enclose each crossing by a so called empty kite : • Replace each pair of crossing edges by a single edge v dummy

  24. Result 1: NIC-Plane Graphs ⊆ RAC poly 6 1 • Input: a NIC-plane graph Approach that nearly works: • Enclose each crossing by a so called empty kite : • Replace each pair of crossing edges by a single edge v dummy

  25. Result 1: NIC-Plane Graphs ⊆ RAC poly 6 1 • Input: a NIC-plane graph Approach that nearly works: • Enclose each crossing by a so called empty kite : • Replace each pair of crossing edges by a single edge • Draw the obtained plane graph with the Shift Algorithm v dummy

  26. Result 1: NIC-Plane Graphs ⊆ RAC poly 6 1 • Input: a NIC-plane graph Approach that nearly works: • Enclose each crossing by a so called empty kite : • Replace each pair of crossing edges by a single edge • Draw the obtained plane graph with the Shift Algorithm v dummy

  27. Result 1: NIC-Plane Graphs ⊆ RAC poly 6 1 • Input: a NIC-plane graph Approach that nearly works: • Enclose each crossing by a so called empty kite : • Replace each pair of crossing edges by a single edge • 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) v dummy

  28. Result 1: NIC-Plane Graphs ⊆ RAC poly 6 1 • Input: a NIC-plane graph Approach that nearly works: • Enclose each crossing by a so called empty kite : • Replace each pair of crossing edges by a single edge • 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) v dummy

  29. Result 1: NIC-Plane Graphs ⊆ RAC poly 6 1 • Input: a NIC-plane graph Approach that nearly works: • Enclose each crossing by a so called empty kite : • Replace each pair of crossing edges by a single edge • 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) v dummy

  30. Result 1: NIC-Plane Graphs ⊆ RAC poly 6 1 • Input: a NIC-plane graph Approach that nearly works: • Enclose each crossing by a so called empty kite : • Replace each pair of crossing edges by a single edge • 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) grid point on the Thales’ circle v dummy

  31. Result 1: NIC-Plane Graphs ⊆ RAC poly 6 1 • Input: a NIC-plane graph Approach that nearly works: • Enclose each crossing by a so called empty kite : • Replace each pair of crossing edges by a single edge • 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) grid point on the Thales’ circle v dummy

  32. Result 1: NIC-Plane Graphs ⊆ RAC poly 6 1 • Input: a NIC-plane graph Approach that nearly works: • Enclose each crossing by a so called empty kite : • Replace each pair of crossing edges by a single edge • 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) grid points for the bends v dummy

  33. Result 1: NIC-Plane Graphs ⊆ RAC poly 6 1 • Input: a NIC-plane graph Approach that nearly works: • Enclose each crossing by a so called empty kite : • Replace each pair of crossing edges by a single edge • 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) � v dummy

  34. Result 1: NIC-Plane Graphs ⊆ RAC poly 6 1 • Input: a NIC-plane graph Approach that nearly works: • Enclose each crossing by a so called empty kite : • Replace each pair of crossing edges by a single edge • 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) � v dummy

  35. Result 1: NIC-Plane Graphs ⊆ RAC poly 6 1 • Input: a NIC-plane graph Approach that nearly works: • Enclose each crossing by a so called empty kite : • Replace each pair of crossing edges by a single edge • 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) � v dummy

  36. Result 1: NIC-Plane Graphs ⊆ RAC poly 6 1 • Input: a NIC-plane graph Approach that nearly works: • Enclose each crossing by a so called empty kite : • Replace each pair of crossing edges by a single edge • 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) � very slim v dummy

  37. Result 1: NIC-Plane Graphs ⊆ RAC poly 6 1 • Input: a NIC-plane graph Approach that nearly works: • Enclose each crossing by a so called empty kite : • Replace each pair of crossing edges by a single edge • 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) � v dummy

  38. Result 1: NIC-Plane Graphs ⊆ RAC poly 6 1 • Input: a NIC-plane graph Approach that nearly works: • Enclose each crossing by a so called empty kite : • Replace each pair of crossing edges by a single edge • 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) � v dummy

  39. Result 1: NIC-Plane Graphs ⊆ RAC poly 6 1 • Input: a NIC-plane graph Approach that nearly works: • Enclose each crossing by a so called empty kite : • Replace each pair of crossing edges by a single edge • 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) � v dummy

  40. Result 1: NIC-Plane Graphs ⊆ RAC poly 6 1 • Input: a NIC-plane graph Approach that nearly works: • Enclose each crossing by a so called empty kite : • Replace each pair of crossing edges by a single edge • 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) � v dummy

  41. Result 1: NIC-Plane Graphs ⊆ RAC poly 6 1 • Input: a NIC-plane graph Approach that nearly works: • Enclose each crossing by a so called empty kite : • Replace each pair of crossing edges by a single edge • 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) � v dummy bad configu- ration!

  42. Result 1: NIC-Plane Graphs ⊆ RAC poly 7 1 bad configu- ration!

  43. Result 1: NIC-Plane Graphs ⊆ RAC poly 7 1 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices.

  44. Result 1: NIC-Plane Graphs ⊆ RAC poly 7 1 bad Solution: 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).

  45. Result 1: NIC-Plane Graphs ⊆ RAC poly 7 1 bad Solution: 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.

  46. Result 1: NIC-Plane Graphs ⊆ RAC poly 7 1 bad Solution: 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 start with instead of top-down. an empty quadrangle

  47. Result 1: NIC-Plane Graphs ⊆ RAC poly 7 1 bad Solution: 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). v 42 It builds a canonical ordering bottom-up instead of top-down.

  48. Result 1: NIC-Plane Graphs ⊆ RAC poly 7 1 bad Solution: 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). v 42 It builds a canonical ordering bottom-up instead of top-down. Insert the diagonal

  49. Result 1: NIC-Plane Graphs ⊆ RAC poly 7 1 bad Solution: 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). v 42 It builds a canonical ordering bottom-up instead of top-down. Insert the diagonal

  50. Result 1: NIC-Plane Graphs ⊆ RAC poly 7 1 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. v 55 • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs). v 42 It builds a canonical ordering bottom-up instead of top-down.

  51. Result 1: NIC-Plane Graphs ⊆ RAC poly 7 1 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. v 55 v 61 • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs). v 42 It builds a canonical ordering bottom-up instead of top-down.

  52. Result 1: NIC-Plane Graphs ⊆ RAC poly 7 1 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. v 55 v 61 • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs). v 42 It builds a canonical ordering bottom-up instead of top-down. v 94

  53. Result 1: NIC-Plane Graphs ⊆ RAC poly 7 1 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. v 55 v 61 • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs). v 42 It builds a canonical ordering bottom-up instead of top-down. v 94 • Now only three “good” cases can appear:

  54. Result 1: NIC-Plane Graphs ⊆ RAC poly 7 1 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. v 55 v 61 • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs). v 42 It builds a canonical ordering bottom-up instead of top-down. v 94 • Now only three “good” cases can appear: Case 1

  55. Result 1: NIC-Plane Graphs ⊆ RAC poly 7 1 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. v 55 v 61 • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs). v 42 It builds a canonical ordering bottom-up instead of top-down. v 94 • Now only three “good” cases can appear: Case 1

  56. Result 1: NIC-Plane Graphs ⊆ RAC poly 7 1 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. v 55 v 61 • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs). v 42 It builds a canonical ordering bottom-up instead of top-down. v 94 • Now only three “good” cases can appear: Case 1

  57. Result 1: NIC-Plane Graphs ⊆ RAC poly 7 1 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. v 55 v 61 • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs). v 42 It builds a canonical ordering bottom-up instead of top-down. v 94 • Now only three “good” cases can appear: Case 1 Case 2

  58. Result 1: NIC-Plane Graphs ⊆ RAC poly 7 1 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. v 55 v 61 • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs). v 42 It builds a canonical ordering bottom-up instead of top-down. v 94 • Now only three “good” cases can appear: Case 1 Case 2

  59. Result 1: NIC-Plane Graphs ⊆ RAC poly 7 1 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. v 55 v 61 • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs). v 42 It builds a canonical ordering bottom-up instead of top-down. v 94 • Now only three “good” cases can appear: Case 1 Case 2

  60. Result 1: NIC-Plane Graphs ⊆ RAC poly 7 1 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. v 55 v 61 • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs). v 42 It builds a canonical ordering bottom-up instead of top-down. v 94 • Now only three “good” cases can appear: Case 1 Case 2 Case 3

  61. Result 1: NIC-Plane Graphs ⊆ RAC poly 7 1 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. v 55 v 61 • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs). v 42 It builds a canonical ordering bottom-up instead of top-down. v 94 • Now only three “good” cases can appear: Case 1 Case 2 Case 3

  62. Result 1: NIC-Plane Graphs ⊆ RAC poly 7 1 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. v 55 v 61 • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs). v 42 It builds a canonical ordering bottom-up instead of top-down. v 94 • Now only three “good” cases can appear: Case 1 Case 2 Case 3

  63. Result 1: NIC-Plane Graphs ⊆ RAC poly 8 1 Full example:

  64. Result 1: NIC-Plane Graphs ⊆ RAC poly 8 1 Full example:

  65. Result 2: 1-Plane Graphs ⊆ RAC poly 9 2 RAC poly = all graphs E ? 3 RAC 2 RAC poly 2 RAC 1 RAC poly 1 1-planar RAC 0 RAC poly w/o B-configuration 0 NIC-planar IC-planar planar

  66. Result 2: 1-Plane Graphs ⊆ RAC poly 10 2 • Input: a 1-plane graph

  67. Result 2: 1-Plane Graphs ⊆ RAC poly 10 2 • Input: a 1-plane graph Preprocessing:

  68. Result 2: 1-Plane Graphs ⊆ RAC poly 10 2 • Input: a 1-plane graph Preprocessing:

  69. Result 2: 1-Plane Graphs ⊆ RAC poly 10 2 • Input: a 1-plane graph Preprocessing: • Enclose each crossing by a so called subdivided kite :

Recommend


More recommend