Table of Contents
Fetching ...

Optimal Orthogonal Drawings in Linear Time

Walter Didimo, Giuseppe Liotta, Giacomo Ortali, Maurizio Patrignani

TL;DR

This work resolves a long-standing open problem by giving an $O(n)$-time algorithm to compute bend-minimum planar orthogonal drawings of $n$-vertex planar 3-graphs in the variable embedding setting, while ensuring at most one bend per edge (except $K_4$). The approach hinges on three pillars: (i) a finite set of representative shapes for SPQR-tree components, (ii) a linear-time edge-labeling scheme via the Bend-Counter data structure, and (iii) a linear-time drawing procedure that re-roots SPQR-and-BC trees to assemble blocks into a global optimal representation. The paper also develops linear-time techniques for fixed- and reference-embedding analyses of triconnected cubic graphs with flexible edges, providing fundamental tools for bend-minimization in broader graph drawing contexts. Overall, the results deliver both a theoretically optimal and practically efficient method for bend minimization in a central class of planar graphs, with potential extensions to related orthogonal drawing variants.

Abstract

A planar orthogonal drawing Γ of a connected planar graph G is a geometric representation of G such that the vertices are drawn as distinct points of the plane, the edges are drawn as chains of horizontal and vertical segments, and no two edges intersect except at common end-points. A bend of Γ is a point of an edge where a horizontal and a vertical segment meet. Drawing Γ is bend-minimum if it has the minimum number of bends over all possible planar orthogonal drawings of G. Its curve complexity is the maximum number of bends per edge. In this paper we present a linear-time algorithm for the computation of planar orthogonal drawings of 3-graphs (i.e., graphs with vertex-degree at most three), that minimizes both the total number of bends and the curve complexity. The algorithm works in the so-called variable embedding setting, that is, it can choose among the exponentially many planar embeddings of the input graph. While the time complexity of minimizing the total number of bends of a planar orthogonal drawing of a 3-graph in the variable embedding settings is a long standing, widely studied, open question, the existence of an orthogonal drawing that is optimal both in the total number of bends and in the curve complexity was previously unknown. Our result combines several graph decomposition techniques, novel data-structures, and efficient approaches to re-rooting decomposition trees.

Optimal Orthogonal Drawings in Linear Time

TL;DR

This work resolves a long-standing open problem by giving an -time algorithm to compute bend-minimum planar orthogonal drawings of -vertex planar 3-graphs in the variable embedding setting, while ensuring at most one bend per edge (except ). The approach hinges on three pillars: (i) a finite set of representative shapes for SPQR-tree components, (ii) a linear-time edge-labeling scheme via the Bend-Counter data structure, and (iii) a linear-time drawing procedure that re-roots SPQR-and-BC trees to assemble blocks into a global optimal representation. The paper also develops linear-time techniques for fixed- and reference-embedding analyses of triconnected cubic graphs with flexible edges, providing fundamental tools for bend-minimization in broader graph drawing contexts. Overall, the results deliver both a theoretically optimal and practically efficient method for bend minimization in a central class of planar graphs, with potential extensions to related orthogonal drawing variants.

Abstract

A planar orthogonal drawing Γ of a connected planar graph G is a geometric representation of G such that the vertices are drawn as distinct points of the plane, the edges are drawn as chains of horizontal and vertical segments, and no two edges intersect except at common end-points. A bend of Γ is a point of an edge where a horizontal and a vertical segment meet. Drawing Γ is bend-minimum if it has the minimum number of bends over all possible planar orthogonal drawings of G. Its curve complexity is the maximum number of bends per edge. In this paper we present a linear-time algorithm for the computation of planar orthogonal drawings of 3-graphs (i.e., graphs with vertex-degree at most three), that minimizes both the total number of bends and the curve complexity. The algorithm works in the so-called variable embedding setting, that is, it can choose among the exponentially many planar embeddings of the input graph. While the time complexity of minimizing the total number of bends of a planar orthogonal drawing of a 3-graph in the variable embedding settings is a long standing, widely studied, open question, the existence of an orthogonal drawing that is optimal both in the total number of bends and in the curve complexity was previously unknown. Our result combines several graph decomposition techniques, novel data-structures, and efficient approaches to re-rooting decomposition trees.

Paper Structure

This paper contains 48 sections, 82 theorems, 1 equation, 37 figures.

Key Result

Theorem 1.1

\newlabelth:main0 Let $G$ be an $n$-vertex planar $3$-graph distinct from $K_4$. There exists an $O(n)$-time algorithm that computes an orthogonal drawing of $G$ with the minimum number of bends and at most one bend per edge in the variable embedding setting.

Figures (37)

  • Figure 1: (a) A planar embedded $3$-graph $G$. (b) A bend-minimum orthogonal drawing of $G$ in the fixed embedding setting. (c) A bend-minimum orthogonal drawing of $G$ in the variable embedding setting.
  • Figure 1: Different cycles (dashed) of the same plane graph: (a) $C_1$ is 4-extrovert and 4-introvert. (b) $C_2$ is 2-extrovert. (c) $C_3$ is 6-extrovert and 2-introvert.
  • Figure 1: Different examples of alias vertices of the poles of $S$-nodes. In (a) the alias vertices coincide with the poles. In (b) and (c) the alias vertices distinct from the poles are depicted as little white squares.
  • Figure 1: Illustration for the proof of \ref{['le:external-face']}.
  • Figure 1: (a) Two consecutive edges of $H'_{\rho_i}(\mu)$. (b) Inserting an X-shaped $H'_{\rho_i}(\nu_j)$ between these edges does not make it possible to increase the spirality without extra bends. (c) Inserting a D-shaped $H'_{\rho_i}(\nu_j)$ between these edges. (d) Increasing the spirality by one unit when $H'_{\rho_i}(\nu_j)$ is a D-shaped representation.
  • ...and 32 more figures

Theorems & Definitions (155)

  • Theorem 1.1
  • Theorem 2.1: DBLP:journals/jgaa/RahmanNN03
  • Lemma 2.2: DBLP:journals/jgaa/RahmanNN03
  • Lemma 2.3
  • Lemma 3.1: DBLP:journals/siamcomp/BattistaLV98
  • Theorem 3.2
  • Theorem 3.3
  • Theorem 3.4
  • Theorem 3.5
  • Theorem 3.6
  • ...and 145 more