Contracting a Planar Graph Efficiently
Contracting a Planar Graph Efficiently∗
Jacob Holm†1 , Giuseppe F. Italiano‡2 , Adam Karczmarz§3 ,
Jakub Łącki¶4 , Eva Rotenberg5 , and Piotr Sankowski§‖6
1
2
3
4
5
6
University of Copenhagen, Denmark
University of Rome Tor Vergata
University of Warsaw, Poland
Google Research, New York
University of Copenhagen, Denmark
University of Warsaw, Poland
Abstract
We present a data structure that can maintain a simple planar graph under edge contractions in
linear total time. The data structure supports adjacency queries and provides access to neighbor
lists in O(1) time. Moreover, it can report all the arising self-loops and parallel edges.
By applying the data structure, we can achieve optimal running times for decremental bridge
detection, 2-edge connectivity, maximal 3-edge connected components, and the problem of finding
a unique perfect matching for a static planar graph. Furthermore, we improve the running
times of algorithms for several planar graph problems, including decremental 2-vertex and 3edge connectivity, and we show that using our data structure in a black-box manner, one obtains
conceptually simple optimal algorithms for computing MST and 5-coloring in planar graphs.
1998 ACM Subject Classification F.2.2 Nonnumerical Algorithms and Problems, G.2.2 Graph
Theory
Keywords and phrases Planar graphs, algorithms, data structures, connectivity, coloring.
Digital Object Identifier 10.4230/LIPIcs.ESA.2017.50
∗
A full version of the paper is available at https://arxiv.org/abs/1706.10228.
This research is supported by the Advanced Grant DFF-0602-02499B from the Danish Council for
Independent Research under the Sapere Aude research career programme.
‡
Partly supported by the Italian Ministry of Education, University and Research under Project AMANDA
(Algorithmics for MAssive and Networked DAta).
§
Supported by the Polish National Science Center grant number 2014/13/B/ST6/01811.
¶
When working on this paper Jakub Łącki was partly supported by the EU FET project MULTIPLEX
no. 317532 and the Google Focused Award on "Algorithms for Large-scale Data Analysis" and Polish
National Science Center grant number 2014/13/B/ST6/01811. Part of this work was done while Jakub
Łącki was visiting the Simons Institute for the Theory of Computing.
‖
The work of P. Sankowski is a part of the project TOTAL that has received funding from the European
Research Council (ERC) under the European Union’s Horizon 2020 research and innovation programme
(grant agreement No 677651).
†
© Jacob Holm, Giuseppe F. Italiano, Adam Karczmarz, Jakub Łącki, Eva Rotenberg, Piotr Sankowski;
licensed under Creative Commons License CC-BY
25th Annual European Symposium on Algorithms (ESA 2017).
Editors: Kirk Pruhs and Christian Sohler; Article No. 50; pp. 50:1–50:15
Leibniz International Proceedings in Informatics
Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl Publishing, Germany
50:2
Contracting a Planar Graph Efficiently
1
Introduction
An edge contraction is one of the fundamental graph operations. Given an undirected graph
and an edge e, contracting the edge e consists in removing it from the graph and merging its
endpoints. The notion of a contraction has been used to describe a number of prominent
graph algorithms, including Edmonds’ algorithm for computing maximum matchings [4] or
Karger’s minimum cut algorithm [11].
Edge contractions are of particular interest in planar graphs, as a number of planar graph
properties are easiest described using contractions. For example, it is well-known that a
graph is planar precisely when it cannot be transformed into K5 or K3,3 by contracting edges
or removing vertices or edges. Moreover, contracting an edge preserves planarity.
While a contraction operation is conceptually very simple, its efficient implementation is
challenging. By using standard data structures (e.g. balanced binary trees), one can maintain
adjacency lists of a graph in polylogarithmic amortized time. However, in many planar graph
algorithms this becomes a bottleneck. As an example, consider the problem of computing a
5-coloring of a planar graph. There exists a very simple algorithm based on contractions [17],
but efficient implementations use some more involved planar graph properties [5, 17, 18].
For example, the algorithm by Matula, Shiloach and Tarjan [17] uses the fact that every
planar graph has either a vertex of degree at most 4 or a vertex of degree 5 adjacent to at
least four vertices each having degree at most 11. Similarly, although there exists a very
simple algorithm for computing a MST of a planar graph based on edge contractions, various
different methods have been used to implement it efficiently [5, 15, 16].
Our Results. We show a data structure that can efficiently maintain a planar graph subject
to edge contractions in O(n) total time, assuming the standard word-RAM model with
word size Ω(log n). It can report groups of parallel edges and self-loops that emerge. It
also supports constant-time adjacency queries and maintains the neighbor lists and degrees
explicitly. The data structure can be used as a black-box to implement planar graph
algorithms that use contractions. In particular, it can be used to give clean and conceptually
simple implementations of the algorithms for computing 5-coloring or MST that do not
manipulate the embedding. More importantly, by using our data structure we give improved
algorithms for a few problems in planar graphs. In particular, we obtain optimal algorithms
for decremental 2-edge-connectivity, finding unique perfect matching, and computing maximal
3-edge-connected subgraphs. We also obtain improved algorithms for decremental 2-vertex
and 3-edge connectivity, where the bottleneck in the state-of-the-art algorithms [7] is detecting
parallel edges under contractions. For detailed theorem statements, see Sections 3 and 4.
Related work. The problem of detecting self-loops and parallel edges under contractions is
implicitly addressed by Giammarresi and Italiano [7] in their work on decremental (edge-,
vertex-) connectivity in planar graphs. Their data structure uses O(n log2 n) total time.
In their book, Klein and Mozes [12] show that there exists a data structure maintaining a
planar graph under edge contractions and deletions and answering adjacency queries in O(1)
worst-case time. The update time is O(log n). This result is based on the work of Brodal and
Fagerberg [1], who showed how to maintain a bounded outdegree orientation of a dynamic
planar graph so that edge insertions and deletions are supported in O(log n) amortized time.
Gustedt [9] showed an optimal solution to the union-find problem, in the case when at
any time, the actual subsets form disjoint, connected subgraphs of a given planar graph G.
In other words, in this problem the allowed unions correspond to the edges of a planar graph
and the execution of a union operation can be seen as a contraction of the respective edge.
J. Holm, G. F. Italiano, A. Karc (...truncated)