Maintaining Triconnected Components under Node Expansion
SPQR-trees are a central component of graph drawing and are also important in many further areas of computer science. From their inception onwards, they have always had a strong relation to dynamic algorithms maintaining information, e.g., on planarity and triconnectivity, under edge insertion and, later on, also deletion. In this paper, we focus on a special kind of dynamic update, the expansion of vertices into arbitrary biconnected graphs, while maintaining the SPQR-tree and further information. This will also allow us to efficiently merge two SPQR-trees by identifying the edges incident to two vertices with each other. We do this working along an axiomatic definition lifting the SPQR-tree to a stand-alone data structure that can be modified independently from the graph it might have been derived from. Making changes to this structure, we can now observe how the graph represented by the SPQR-tree changes, instead of having to reason which updates to the SPQR-tree are necessary after a change to the represented graph. Using efficient expansions and merges allows us to improve the runtime of the Synchronized Planarity algorithm by Bläsius et al. [ESA 2021] from O(m^2) to O(m·Δ), where Δ is the maximum pipe degree. This also reduces the time for solving several constrained planarity problems, e.g. for Clustered Planarity from O((n+d)^2) to O(n+d·Δ), where d is the total number of crossings between cluster borders and edges and Δ is the maximum number of edge crossings on a single cluster border.
READ FULL TEXT