In
graph theory
In mathematics and computer science, graph theory is the study of ''graph (discrete mathematics), graphs'', which are mathematical structures used to model pairwise relations between objects. A graph in this context is made up of ''Vertex (graph ...
, the planarity testing problem is the
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
ic problem of testing whether a given graph is a
planar graph
In graph theory, a planar graph is a graph (discrete mathematics), graph that can be graph embedding, embedded in the plane (geometry), plane, i.e., it can be drawn on the plane in such a way that its edges intersect only at their endpoints. ...
(that is, whether it can be drawn in the plane without edge intersections). This is a well-studied problem in
computer science
Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
for which many practical
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
s have emerged, many taking advantage of novel
data structure
In computer science, a data structure is a data organization and storage format that is usually chosen for Efficiency, efficient Data access, access to data. More precisely, a data structure is a collection of data values, the relationships amo ...
s. Most of these methods operate in
O(''n'') time (linear time), where ''n'' is the number of edges (or vertices) in the graph, which is
asymptotically optimal. Rather than just being a single Boolean value, the output of a planarity testing algorithm may be a planar
graph embedding, if the graph is planar, or an obstacle to planarity such as a
Kuratowski subgraph if it is not.
Planarity criteria
Planarity testing algorithms typically take advantage of theorems in graph theory that characterize the set of planar graphs in terms that are independent of graph drawings.
These include
*
Kuratowski's theorem
In graph theory, Kuratowski's theorem is a mathematical forbidden graph characterization of planar graphs, named after Kazimierz Kuratowski. It states that a finite graph is planar if and only if it does not contain a Glossary of graph theory#Su ...
that a graph is planar if and only if it does not contain a
subgraph that is a
subdivision of ''K''
5 (the
complete graph on five
vertices) or ''K''
3,3 (the
utility graph, a
complete bipartite graph on six vertices, three of which connect to each of the other three).
*
Wagner's theorem that a graph is planar if and only if it does not contain a
minor (subgraph of a contraction) that is
isomorphic
In mathematics, an isomorphism is a structure-preserving mapping or morphism between two structures of the same type that can be reversed by an inverse mapping. Two mathematical structures are isomorphic if an isomorphism exists between the ...
to ''K''
5 or ''K''
3,3.
*The
Fraysseix–Rosenstiehl planarity criterion, characterizing planar graphs in terms of a left-right ordering of the edges in a
depth-first search tree.
The Fraysseix–Rosenstiehl planarity criterion can be used directly as part of algorithms for planarity testing, while Kuratowski's and Wagner's theorems have indirect applications: if an algorithm can find a copy of ''K''
5 or ''K''
3,3 within a given graph, it can be sure that the input graph is not planar and return without additional computation.
Other planarity criteria, that characterize planar graphs mathematically but are less central to planarity testing algorithms, include:
*
Whitney's planarity criterion that a graph is planar if and only if its
graphic matroid is also cographic,
*
Mac Lane's planarity criterion characterizing planar graphs by the bases of their
cycle spaces,
*
Schnyder's theorem characterizing planar graphs by the
order dimension of an associated
partial order
In mathematics, especially order theory, a partial order on a set is an arrangement such that, for certain pairs of elements, one precedes the other. The word ''partial'' is used to indicate that not every pair of elements needs to be comparable ...
, and
*
Colin de Verdière's planarity criterion using
spectral graph theory.
Algorithms
Path addition method
The classic ''path addition'' method of
Hopcroft and
Tarjan was the first published linear-time planarity testing algorithm in 1974. An implementation of
Hopcroft and
Tarjan's algorithm is provided in the
Library of Efficient Data types and Algorithms by
Mehlhorn,
Mutzel and
Näher. In 2012, Taylor extended this algorithm to generate all permutations of cyclic edge-order for planar embeddings of biconnected components.
Vertex addition method
Vertex addition methods work by maintaining a data structure representing the possible embeddings of an
induced subgraph of the given graph, and adding vertices one at a time to this data structure. These methods began with an inefficient O(''n''
2) method conceived by
Lempel,
Even and Cederbaum in 1967. It was improved by Even and Tarjan, who found a linear-time solution for the ''s'',''t''-numbering step, and by
Booth and
Lueker, who developed the
PQ tree data structure. With these improvements it is linear-time and outperforms the path addition method in practice.
[, p. 243: “Its implementation in LEDA is slower than LEDA implementations of many other O(''n'')-time planarity algorithms.”] This method was also extended to allow a planar embedding (drawing) to be efficiently computed for a planar graph. In 1999, Shih and Hsu simplified these methods using the PC tree (an unrooted variant of the PQ tree) and a
postorder traversal of the
depth-first search tree of the vertices.
Edge addition method
In 2004, John Boyer and
Wendy Myrvold developed a simplified O(''n'') algorithm, originally inspired by the PQ tree method, which gets rid of the PQ tree and uses edge additions to compute a planar embedding, if possible. Otherwise, a Kuratowski subdivision (of either ''K''
5 or ''K''
3,3) is computed. This is one of the two current state-of-the-art algorithms today (the other one is the planarity testing algorithm of de Fraysseix, Ossona de Mendez and Rosenstiehl
[.]). See for an experimental comparison with a preliminary version of the Boyer and Myrvold planarity test. Furthermore, the Boyer–Myrvold test was extended to extract multiple Kuratowski subdivisions of a non-planar input graph in a running time linearly dependent on the output size. The source code for the planarity test
and the extraction of multiple Kuratowski subdivisions
is publicly available. Algorithms that locate a Kuratowski subgraph in linear time in vertices were developed by Williamson in the 1980s.
Construction sequence method
A different method uses an inductive construction of 3-connected graphs to incrementally build planar embeddings of every 3-connected component of ''G'' (and hence a planar embedding of ''G'' itself). The construction starts with ''K
4'' and is defined in such a way that every intermediate graph on the way to the full component is again 3-connected. Since such graphs have a unique embedding (up to flipping and the choice of the external face), the next bigger graph, if still planar, must be a refinement of the former graph. This allows to reduce the planarity test to just testing for each step whether the next added edge has both ends in the external face of the current embedding. While this is conceptually very simple (and gives linear running time), the method itself suffers from the complexity of finding the construction sequence.
Dynamic algorithms
Planarity testing has been studied in the
Dynamic Algorithms model, in which one maintains an answer to a problem (in this case planarity) as the graph undergoes local updates, typically in the form of insertion/deletion of edges. In the edge-arrival case, there is an asympotically tight inverse-
Ackermann function
In computability theory, the Ackermann function, named after Wilhelm Ackermann, is one of the simplest and earliest-discovered examples of a total function, total computable function that is not Primitive recursive function, primitive recursive. ...
update-time algorithm due to
La Poutré, improving upon algorithms by Di Battista, Tamassia, and Westbrook. In the fully-dynamic case where edges are both inserted and deleted, there is a logarithmic update-time lower bound by
Pătrașcu and
Demaine, and a polylogarithmic update-time algorithm by
Holm and
Rotenberg, improving on sub-linear update-time algorithms by
Eppstein,
Galil,
Italiano, Sarnak, and Spencer.
References
{{reflist, colwidth=30em
Planar graphs
Computational problems in graph theory