Atomic Embeddability, Clustered Planarity, and Thickenability
Radoslav Fulek, Csaba D. T\'oth

TL;DR
This paper introduces a polynomial-time algorithm for atomic embeddability, which generalizes clustered planarity and thickenability, solving a long-standing open problem in graph embedding and topology.
Contribution
It presents the first polynomial-time algorithm for c-planarity by connecting atomic embeddability with thickenability testing and topological graph theory.
Findings
Polynomial-time algorithm for atomic embeddability
Polynomial equivalence of atomic embeddability and thickenability
NP-completeness of a generalized atomic embeddability variant
Abstract
We study the atomic embeddability testing problem, which is a common generalization of clustered planarity (c-planarity, for short) and thickenability testing, and present a polynomial-time algorithm for this problem, thereby giving the first polynomial-time algorithm for c-planarity. C-planarity was introduced in 1995 by Feng, Cohen, and Eades as a variant of graph planarity, in which the vertex set of the input graph is endowed with a hierarchical clustering and we seek an embedding (crossing free drawing) of the graph in the plane that respects the clustering in a certain natural sense. Until now, it has been an open problem whether c-planarity can be tested efficiently, despite relentless efforts. The thickenability problem for simplicial complexes emerged in the topology of manifolds in the 1960s. A 2-dimensional simplicial complex is thickenable if it embeds in some orientable…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsComputational Geometry and Mesh Generation · Digital Image Processing Techniques · Complexity and Algorithms in Graphs
Atomic Embeddability, Clustered Planarity, and Thickenability††thanks: Research supported in part
by Austrian Science Fund (FWF): M2281-N35, and the National Science Foundation awards CCF-1422311, CCF-1423615, and DMS-1800734..
Radoslav Fulek University of Arizona, Tucson, AZ, USA.
Csaba D. Tóth22footnotemark: 2 Department of Mathematics, California State University Northridge, Los Angeles, CA, USA and Department of Computer Science, Tufts University, Medford, MA, USA.
Abstract
We study the atomic embeddability testing problem, which is a common generalization of clustered planarity (c-planarity, for short) and thickenability testing, and present a polynomial-time algorithm for this problem, thereby giving the first polynomial-time algorithm for c-planarity.
C-planarity was introduced in 1995 by Feng, Cohen, and Eades as a variant of graph planarity, in which the vertex set of the input graph is endowed with a hierarchical clustering and we seek an embedding (crossing free drawing) of the graph in the plane that respects the clustering in a certain natural sense. Until now, it has been an open problem whether c-planarity can be tested efficiently, despite relentless efforts. The thickenability problem for simplicial complexes emerged in the topology of manifolds in the 1960s. A 2-dimensional simplicial complex is thickenable if it embeds in some orientable 3-dimensional manifold. Recently, Carmesin announced that thickenability can be tested in polynomial time.
Our algorithm for atomic embeddability combines ideas from Carmesin’s work with algorithmic tools previously developed for weak embeddability testing. We express our results purely in terms of graphs on surfaces, and rely on the machinery of topological graph theory.
Finally, we give a polynomial-time reduction from atomic embeddability to thickenability thereby showing that both problems are polynomially equivalent, and show that a slight generalization of atomic embeddability to the setting in which clusters are toroidal graphs is NP-complete.
1 Introduction
Clustered planarity
(for short, c-planarity) was introduced in 1995 by Feng, Cohen, and Eades [21, 22], motivated by applications in set visualization. Lengauer [31] considered one of its variants already in the 1980s. The problem can be seen as a hierarchical variant of planarity testing; a problem for which a linear-time algorithm has been known for a long time [30]. In the extensive literature devoted to c-planarity and its variants, the complexity status of only restricted special cases has been established, most notably in [2, 5, 17, 27], see also the somewhat outdated survey [16]. The c-planarity problem is formally stated as follows.
Problem 1** (C-planarity).**
We are given a simple graph ; a collection of pairwise disjoint simple closed curves in ; and a map , where is the set of path connected components (called regions) of . Decide whether there exists an embedding of in such that and for every and every edge .
Embeddability in and thickenability.
Note that a graph is a 1-dimensional simplicial complex. We consider the 2-dimensional analog of graph embeddings in . It is a well-known result that for every graph there exists an orientable surface (an orientable 2-dimensional manifold) such that embeds in . An analogous result fails for 2-dimensional polyhedra (2-polyhedra for short) and 3-dimensional manifolds (3-manifolds for short). A 2-polyhedron is thickenable if embeds111In this case, topological and piecewise linear embeddability are equivalent. in some orientable 3-manifold. It was known at least since the 1960s that testing whether a 2-polyhedron is thickenable is in NP, which is an immediate consequence of a theorem by Neuwirth [39]; see also [46]. We restate it as Theorem 3 in Section 4 (in essence, it characterizes thickenability in terms of so-called link graphs). We remark that Neuwirth’s theorem has been recently used in [33] in the first step of an algorithm that decides (not necessarily in polynomial time) whether a given 2-polyhedron embeds to .
The thickenability problem is formulated as follows. Let be a finite multigraph without loops (multiple edges are allowed). Let denote a 2-dimensional (abstract) polyhedron, where is a set of cycles in . We assume that every edge of is contained in at least one element of . The multigraph is the 1-skeleton of and every element of is a facet in . Note that might contain a cycle that is not a facet of .
Problem 2** (Thickenability).**
Given a 2-polyhedron , where is a multigraph without loops and is the set of facets of , decide whether embeds to some orientable 3-manifold.
Recently, Carmesin [14, Section 6] announced that one can test whether a simply connected 2-polyhedron embeds in in quadratic time222The correctness of the claimed running time has not been confirmed, yet., while embeddability testing for general 2-polyhedra in is known to be NP-hard [19]. In the case of simply connected 2-polyhedra, thickenability is equivalent to embeddability in , see for example [13]. Though this equivalence appears to be a well-known consequence of Perelman’s famous result [41, 40, 42], see also the book [38].
In fact, Carmesin’s approach deals exclusively with testing the thickenability condition in Theorem 3 (cf. Section 4). Therefore his approach to the embeddability in applies also to thickenability in general, but it is restricted simply connected 2-polyhedra. In contrast, testing whether a given 2-polyhedron, that is homeomorphic to a nonorientable surface, embeds in a given 3-manifold (that is, both the 2-polyhedron and the 3-manifold are given), is already NP-hard [12].
Atomic embeddibility
was introduced in [2] and [24, Section 11], see also [25], as a common generalization of C-planarity and thickenability. It is an extension of the concept of weak embeddability [2] (also known in topology as approximating simplicial maps by embeddings [37, 43, 45, 47]). We do not define weak embedding here, but remark that its study in computational geometry was motivated by the special case of a (piecewise linear) weak embeddings of a cycle in the plane, which corresponds to weakly simple polygons [1, 15, 18].
Let and be finite multigraphs without loops. To distinguish between and in our terminology, the vertices and edges of are called atoms and pipes, respectively. A map is simplicial if it maps vertices to vertices (i.e., to atoms), edges to vertices or edges (i.e., to atoms or pipes), and preserves edge-vertex incidences. An instance of atomic embeddability is given by a simplicial map .
The thickening of is an orientable 2-dimensional surface constructed as follows. For each atom , let be a 2-sphere with pairwise disjoint open discs, called holes, removed. We fix an orientation on , and define an arbitrary one-to-one correspondence between the holes of and the pipes incident to . The thickening is obtained by gluing the surfaces , , as follows; see Fig. 1 (left) for an illustration. For every pipe , , identify the pair of boundaries of the holes corresponding to by an orientation reversing homeomorphism. In particular, if , then and are disjoint333The surface is reminiscent of the ball-and-stick or space-filling models in molecular chemistry..
An embedding is an atomic embedding of with respect to if every vertex is embedded in ; and every edge is embedded as a Jordan arc in as follows: If then the Jordan arc representing intersects the hole corresponding to the pipe in exactly one point, which is a proper crossing, or in other words, a transversal intersection.
Problem 3** (Atomic embeddability).**
Given a pair of multigraphs without loops, and , and a simplicial map , decide whether an atomic embedding of with respect to exists.
We remark that an instance of thickenability corresponds to an instance of atomic embeddability, where is the same graph both instances, and is a vertex disjoint union of cycles (disjoint copies of the cycles in ).
Results.
In this paper, we present a polynomial-time algorithm for atomic embeddability, thereby giving the first polynomial-time algorithm for c-planarity. Our approach combines ideas from Carmesin’s work [14] with algorithmic tools previously developed for weak embeddability testing. In particular, the elementary operation “stretch” (defined below) is based on a similar operation in [14]. However, by formulating the problem in terms of graphs on surfaces, our results are more general and perhaps more accessible to the broader community. A polynomial-time algorithm for c-planarity implies that some other constrained planarity problems that have previously been reduced to c-planarity are tractable, as well; see [3] and [4, Figure 4].
We also consider a further generalization of atomic embeddability in which the surfaces , , may have higher genus (by attaching additional handles), and show that this problem is NP-complete even if each surface is based on a torus rather than a sphere.
In the last section, we give a short polynomial-time reduction of atomic embeddability to thickenability, which shows that both problems are polynomially equivalent.
Simultaneous embeddability of two graphs.
Angelini and Da Lozzo [4] proved that there exists a polynomial time reduction to c-planarity from connected sefe-2, the problem of deciding simultaneous embeddability of two graphs in the case when the intersection of the two graphs is connected (see Section 4 for a formal statement of the problem). Therefore our algorithm gives a polynomial time algorithm for this problem. The general version of the problem, known as sefe-2, where the intersection of the two graphs may be disconnected, is notoriously difficult. Introduced by Brass et al. [10], it subsumes most of the studied planarity variants [44, Figure 2], and has generated considerable research activity [3, 7, 9, 28]; see also [8] for a survey. Schaefer [44, Theorem 6.17] realized that c-planarity is reducible in polynomial time to the problem sefe-2. Therefore it is an unfortunate state of affairs that its complexity status is still unknown. Although, Carmesin’s and our results give a new hope that a resolution of sefe-2 problem might be within reach.
Let us note that there also exists a natural and fairly straightforward polynomial-time reduction of connected sefe-2 to thickenability, which was found independently by de Mesmay, Kaluža, and Tancer [11, 35] and these authors. This suggests that thickenability, and hence, atomic embeddability, is not powerful enough to solve sefe-2 in general without using significantly novel ideas.
Organization.
Section 2 presents a polynomial-time algorithm for atomic embeddability. Section 3 shows that a further generalization of the problem is NP-hard. In Section 4, we give a direct polynomial-time reduction of atomic embeddability to thickenability, which also establishes a polynomial reduction of another problem, connected sefe-2, to thickenability.
2 Atomic Embeddings
In this section we present a polynomial-time algorithm for atomic embeddability. After defining local graphs, which are crucial for the algorithm, we present a high-level overview in Section 2.1. Section 2.2 introduces additional terminology. We reduce a given instance to normal form (defined below) in Section 2.3; and introduce five elementary operations on atomic instances in Section 2.4 that are used in our main algorithm. We show how to solve two special cases in linear time in Sections 2.5 and 2.6. Our main algorithm in Section 2.7 reduces all normal instances to these special cases. We finish with a running time analysis in Section 2.8.
Local graphs.
Let be an instance of atomic embeddability. The simplicial map naturally extends to subgraphs of . For an atom , denotes the subgraph of mapped to by . For a pipe , denotes the subset of edges of mapped to by .
For every atom , we define a multigraph , which captures the local structure of at the atom and its incident pipes; see Fig. 1 for an illustration. (We remark that graphs are analogous to the graphs in [2] and the links in [13].)
The vertices of are in a one-to-one correspondence with the union of the set of vertices in mapped by to (that is, ) and the set of pipes incident to . Hence, we can distinguish between ordinary vertices that correspond to vertices in and virtual vertices that correspond to pipes incident to . For every edge in between two vertices in in , add an edge in between the corresponding vertices. Finally, for every edge in where and , add an edge between the ordinary vertex and the virtual vertex corresponding to . Thus, edges of are in a one-to-one correspondence with the union of the edges of between vertices in and the edges of mapped to pipes incident to by . Let denote the edge corresponding to an edge .
Note that the virtual vertices form an independent set in . An embedding of is inherited from an atomic embedding of , if is obtained from the restriction to by filling the holes of with discs, and then contracting them to points.
Let be an embedding of a graph on an orientable surface. The rotation at a vertex is the counterclockwise cyclic order of the end pieces of the edges incident to . The rotation system of is the set of rotations of all vertices of . A vertex of a planar graph has a fixed rotation (for short, is fixed) if its rotation in every embedding of the graph in the plane is unique up to the choice of orientation. For a pair of virtual vertices and of and , resp., corresponding to a pipe , the edges incident to (resp., ) correspond to edges . The rotations of and in an embedding of all local graphs in the plane determine two cyclic orders . This allows us, in particular, to define that the rotations at and to be opposite (in other words, reverse) to each other, if the rotation at is , at it is , and . The rotations of and are compatible if they are the same or opposite to each other; and incompatible otherwise.
An instance of atomic embeddibility is positive if there exists an atomic embedding of with respect to . Two instances, and , are equivalent if and are both positive, or and are both negative. We can now formulate atomic embeddibility in terms of the rotation systems of plane embeddings of the graphs , .
Observation 1**.**
An instance of atomic embeddability is positive if and only if the graphs , , are planar, and they each have embeddings in the plane such that for every pipe , the virtual vertices corresponding to in and have opposite rotations (in the sense that we consider every edge incident to a virtual vertex as ).
For a subset , a -bridge in is a subgraph of obtained as the union of , a connected component of , and all the edges joining a vertex of with a vertex of . We allow to consist of a single edge between two vertices in , or a loop incident to a vertex in (see Fig. 2(left)). Analogously to Carmesin [13], we also define two special graphs (as possible local graphs). A p-path is a graph that consists of two vertices (poles) connected by one or more subdivided edges (Fig. 2(middle)). A p-star is a graph with a unique cut vertex (center) whose bridges are p-paths with one pole at the center (Fig. 2(right)).
2.1 High Level Overview of the Recognition Algorithm
Given an instance of atomic embeddiblity, we apply a sequence of elementary operations that each produces an equivalent instance (with respect to atomic embeddability). Intermediate steps of our algorithm may detect that the instance is negative when a local graph is nonplanar. It may also disconnect the graph , effectively splitting an instance into independent instances. Ultimately, it reduces to a family of instances, each of which is either toroidal (where both and are 2-regular), or subcubic (where the maximum degree of all local graphs is at most 3). In both cases, we can easily test atomic embeddibility in linear time (Sections 2.5 and 2.6). Hence, the witness of atomic non-embeddibility that is provided by our algorithm is either the non-planarity of a local graph in an instance produced by a sequence of elementary operations, or negative subcubic or toroidal instance.
Let denote the disjoint union of all local graphs except those belonging to toroidal subinstances. Our algorithm incrementally reduces the maximum degree . The two key operations for dealing with a vertex of degree are Stretch(), which splits into two vertices of smaller degree (illustrated in Fig. 7), and Contract, which contracts a pipe (illustrated in Fig. 11). Operation Stretch(.) can be applied to a virtual or an ordinary vertex: If it is applied to an ordinary vertex, it modifies only and not , but if it is applied to a virtual vertex, it modifies both and , and in particular it increases the genus of the surface by 1. We note that the increase in the genus of occurs also in the special case that represents an instance of c-planarity (when is initially homeomorphic to a 2-sphere, i.e., when its genus is 0). This explains in part why this approach for the inherently planar problem of c-planarity has not been considered before. The generalization of c-planarity to surfaces of higher genus allows for a broader range of operations, but it also poses several technical challenges that had to be resolved—some of them even indicated that the problem might be NP-complete, which we discuss next.
Unfortunately, Stretch() produces an equivalent instance only if we already have some partial information about the rotation of vertex . In general, it cannot reduce the degree of a cut vertex. This obstacle is overcome with the help of a surprisingly simple operation, Contract, which contracts a pair of atoms in joined by a single pipe into one atom, thereby eliminating a pair of virtual vertices in corresponding to . An almost identical operation is also crucial in our recent joint work with Akitaya [2] about weak embeddability. Nevertheless, the possibility of using this operation in the context of (the general case of) c-planarity or atomic embeddability was not clear to us for some time. The reason is that the operation Contract for a pipe can only be applied in a very restricted setting, essentially if and only if or is a p-path and corresponds to a pole of that p-path; or if they are both p-stars and corresponds to their centers. The crucial observation that saves the day, which is implicit in Carmesin’s work, is that after some preprocessing that resolves 2-cuts with a vertex of degree , we can use the operation Enclose(.), illustrated in Fig. 6, to turn each cut vertex of degree into a center of a p-star.
In order to show that our algorithm runs in polynomial time, we define a nonnegative potential bounded from above throughout the execution of the algorithm by a polynomial function of that strictly decreases after every application of Stretch(.) or Contract, but unfortunately, not after every application of Enclose(.), which possibly just creates a pair of new virtual vertices in . Hence, we had to design a charging scheme that controls the growth of .
Several other similar, but less crucial, operations are used in the preprocessing and postprocessing steps of the algorithm, where the preprocessing step normalizes the input instance in order to allow a relatively smooth runtime analysis, and the postprocessing step handles toroidal instances and subcubic instances (where ).
2.2 Preliminaries
Let and be multigraphs without loops (multiple edges are allowed in both and ). By a slight abuse of notation, if there is no danger of confusion, we sometimes denote edges by unordered pairs of their endpoints (even though several edges may connect the same pair of vertices). A path, cycle, and walk in a graph is always assumed to be a sequence of edges (rather than vertices). Recall that in order to distinguish and in our terminology, the vertices and edges of are called atoms and pipes, respectively. We use the convention that vertices and edges of are denoted by lower case Roman letters (e.g., and ), respectively, and the atoms and pipes by lower case Greek letters (e.g., and ).
Cut vertices, 2-cuts, and 2-edge-cuts.
Every vertex of degree 2 or less has a unique rotation, hence it has a fixed rotation. For this reason, we use a topological notion of 1- and 2-cuts, which is invariant to subdivisions of edges and supression of vertices of degree 2. For a connected graph , which is not a cycle, denote by the multigraph obtained by supressing all vertices of degree 2. Hence, is free of subdivided edges, defined as paths whose internal vertices have degree 2. Note that can have loops corresponding to cycles in that form leaf blocks.
Let be a connected graph that is not a cycle. A vertex is a proper cut vertex (or proper 1-cut) of if there are two or more -bridges in . A pair of vertices is a proper 2-cut of if there are at least three -bridges in , or there are exactly two -bridges in , neither of which is an edge in . (Note that if there are exactly two -bridges in , and one of them is an edge between and , then is not a 2-cut in .) A pair of edges , such that at least one vertex incident to and one vertex incident to is of degree at least 3, is a proper 2-edge-cut of if there exist edges and , such that and were obtained by suppressing internal vertices of degree 2 of a path containing and , respectively, and is a 2-edge-cut in . Finally, for a proper 2-cut , a -bridge is separable if and , otherwise it is nonseparable.
Observation 2**.**
Let be a connected graph that is not a cycle. If is a proper 2-cut and is a separable -bridge but not a subdivided edge, then there exists a proper 2-edge-cut in such that and .
We often tacitly use the following well-known result by Mac Lane [32]. If is a connected planar graph, and the rotation of a vertex is not fixed, then and participates in a proper 1- or 2-cut. In particular, if every graph , , is a subdivision of a 3-connected graph, we can use planarity testing to check the conditions in Observation 1, and easily reduce the atomic embedibility problem to 2SAT (cf. Section 2.6). The challenge is, therefore, to handle the possible rotations of vertices that participate in proper 1- or 2-cuts in some local graph .
2.3 Preprocessing and Data Structures
Our algorithm uses a sequence of elementary operations that dynamically modify a given instance of atomic embeddability. For the running time analysis (Section 2.8), we need to maintain data structures that support these operations. We assume that the input specifies , , and explicitly (i.e., adjacency lists for the graphs and , and pointers from the vertices and edges of to their images in under the map ). The size of an instance is the total number of edges and vertices in the graphs and . Before we present our data structures (which do not maintain and explicitly), we preprocess the instance .
Definition 1**.**
An instance of atomic embeddability is normal if
- •
the degree of every virtual vertex in every , , is 3 or higher; and
- •
* is connected for all .*
We define an operation that eliminates pipes with 2 or less edges, see Fig. 3.
Suppress.
We are given a pipe such that . Let be the two atoms incident to . Remove the pipe from . If contains one edge, say with and , then delete from , insert two new vertices and new edges into , and update with and . If contains two edges, say with and , for , then delete both and from , insert two new vertices and new edges , , , and into , and update with and .
Since the virtual vertices that correspond to in and have fixed rotations, by Observation 1, the following is straightforward.
Lemma 1**.**
For every instance of atomic embeddability, and every pipe , whose corresponding vertices in local graphs have degree less than 3, operation Suppress() produces an equivalent instance.
We define an operation that splits an atom if is disconnected, see Fig. 4.
Split.
We are given a local graph whose connected components are , for some . Delete from , introduce new vertices in , and introduce a pipe for every such that corresponds to a virtual vertex of . Finally, redefine on as follows: Put if .
By Observation 1, the following is straightforward.
Lemma 2**.**
For every instance of atomic embeddability, an application of Split() produces an equivalent instance.
- Preprocessing. Input: an instance of atomic embeddability.
- (1)
For every pipe with , apply Suppress(). 3. (2)
For every atom , where is disconnected, apply Split().
Lemma 3**.**
For an instance of atomic embeddability of size , Preprocessing runs in time and returns an equivalent normal instance .
Proof.
By Lemmas 1 and 2, the instance is equivalent to . Step 1 eliminates virtual vertices of degree less than 3, and Step 2 does not change the degree of any vertex in local graphs. Step 2 splits the local graphs , , into connected components. Hence, is normal. Step 1 runs in time for each pipe of degree less than 3. Step 2 runs in time for every local graph with edges; which yields an overall running time of . ∎
Data Structures.
For a normal instance , let be the disjoint union of all local graphs , . We maintain the graphs and by adjacency lists. We maintain the set of atoms implicitly: Each connected component in corresponds to an atom . We maintain the set of pipes as follows: For every pipe , we maintain two pointers to the two virtual vertices in that correspond to ; and also maintain the set of edges mapped to in a doubly linked list. Furthermore, for each edge , with and , we maintain a pointer to , and to the edge in (resp., ) that joins the virtual vertex corresponding to and (resp., ).
For every connected component of , we maintain (i.e., the multigraph obtained by supressing vertices of degree 2), if is not a cycle, by adjacency lists. Furthermore, we maintain the block tree of , which is a bipartite graph that represents incidences between cut vertices and blocks (i.e., maximal 2-connected components). For each block of , we also maintain an SPQR decomposition tree introduced by Di Battista and Tamassia [20], which is a hierarchical decomposition used for representing all 2-cuts and their bridges. For each vertex of , we maintain indicator variables that record whether is an ordinary or virtual vertex, whether it is a proper cut vertex or contained in a proper 2-cut. At initialization, all these data structures can be computed in linear time in the size of and . The data structures can be updated in linear time if necessary. (Currently available dynamic data structures for planarity testing and SPQR-trees, with sublinear update times, support some but not all of our graph operations.)
As we shall see, whenever our algorithm creates a pipe of degree less than 3, it is immediately suppressed. If our algorithm modifies a graph in a way that it disconnects into components, then we assume that it immediately splits the corresponding atom as described above. In particular, our data structure supports the operation Split() in 0 time. In the remainder of the algorithm, we may assume that every instance of atomic embeddability is normal.
2.4 Elementary Operations
In this section we describe operations used in our algorithm for a given instance of atomic embeddibility. Each operation modifies the instance . Each operation is local in the sense that it affects an atom and possibly one or two of its neighbors. That is, the modifications incur changes in , and possibly in , for some of the neighbors of .
The following operation turns an ordinary vertex into leaves, see Fig. 5.
Detach.
Let be an ordinary vertex in a graph such that every -bridge is a p-path (that is, either is a p-star with center , or is a p-path with a pole at ). Let denote the edges incident to in . Remove and its incident edges from . Then introduce new vertices and add edges , for all to . Finally, define .
By Observation 1, the following is straightforward.
Lemma 4**.**
For an instance of atomic embeddability, Detach() produces an equivalent instance . The operation can be implemented in time.
In the following we define the operation of enclosing a bridge in , see Fig. 6. This operation is analogous to stretching of a local branch in [14] except that we apply it in a more general setting.
Enclose.
We are given a -bridge in . The operation does not modify except for subdividing its edges. We first describe the changes in , and then the changes in the local graphs. Create a new atom and a new pipe . Replace every pipe that corresponds to a virtual vertex in with a new pipe . For every ordinary vertex , set . For every edge , for which the pipe has been replaced by , set . If , and or is a virtual vertex of , then subdivide by a vertex and define as follows: If is virtual, then put ; otherwise put . Finally, update the definition of on the edges of according to the value of on the vertices of (this is uniquely determined since is not a multiple pipe in ).
For the purpose of the running time analysis the effect of the operation on is that we move the subgraph induced by from into a new graph , and introduce a virtual vertex corresponding to the pipe in both and , whose degree is . We will be often tacitly using the following lemma.
Lemma 5**.**
Given an instance of atomic embeddability , an application of Enclose() results in an equivalent instance . The operation can be implemented in time.
Proof.
The equivalence is a consequence of Observation 1.
For the forward direction, given the set of embeddings of , , inherited from an atomic embedding of , we construct embeddings of , , inherited from an atomic embedding of as follows. For , we put . The embedding of is obtained from by identifying , which are incident to a common face, thereby turning them into a single virtual vertex corresponding to the pipe . Finally, is obtained from by contracting into a single virtual vertex corresponding to the pipe .
For the opposite direction, given the set of embeddings of , , inherited from an atomic embedding of , we construct embeddings of , , inherited from an atomic embedding of as follows. For every , we put . Finally, is obtained from the atomic embedding of on by filling the holes corresponding to pipes, except for , and contracting the fillings to points. ∎
In the following we define the operation that replaces a vertex in by an edge , and distributes the edges incident to among and . The operation produces an equivalent instance if the rotation of is fixed, see Fig. 7.
Stretch.
We are given a vertex in and a set of edges incident to where . We distinguish between two cases, depending on whether is an ordinary or a virtual vertex.
If is ordinary, then remove the edges , introduce a new vertex and a new edge , as well as new edges in .
If is virtual, then let be the pipe corresponding to the virtual vertex in and in ; and assume that , for , where are vertices in . Do the following: Introduce a new pipe in corresponding to new virtual vertices in and in ; introduce a new connected component in , which is a cycle with two vertices and two parallel edges forming a multiple edge such that and ; and finally, modify by setting , for all . In local graphs this corresponds to replacing and with and , respectively, for all ; and inserting two new edges and in the two local graphs, respectively, and subdividing each with an ordinary vertex.
For the purposes of the running time analysis (below) the effect of the operation can be seen as the replacement of by an edge whose two endpoints have degrees and , respectively (hence the sum of their degrees equals ). If is a virtual vertex (i.e., corresponds to a pipe between two atoms), then both virtual vertices corresponding to the same pipe go through these changes. By Observation 1, the following is straightforward.
Lemma 6**.**
Given an instance of atomic embeddability such that the edges in are incident to , and are consecutive in the rotation of vertex in every embedding of inherited from an atomic embedding of , then the operation Stretch() produces an equivalent instance.
Corollary 1**.**
For an instance of atomic embeddability, if a vertex has a fixed rotation, in which the edges in are consecutive, then Stretch() produces an equivalent instance.
The operation of contraction that follows is applied to an edge of and it produces an equivalent instance if each of and is a p-star or p-path.
Contract.
We are given a pipe such that is the only pipe between and . Contract the pipe in into an atom and change accordingly (that is, put for all the vertices mapped by to or ). Let denote the resulting instance. Note that might be disconnected, in which case operation Split() is automatically applied to obtain a normal instance, as explained in Section 2.3. Since is the only pipe between and the operation does not introduce a loop in .
Several incarnations of the following lemma, which is a consequence of Belyi’s theorem [6], were proved in related papers; see for example, [2, Lemma 3.2], [25, Claim 7], or [26, Lemma 6].
Lemma 7**.**
Let be a pipe such that either (i) both and are p-stars, or (ii) or is a p-path; and in both cases, corresponds to vertices and of maximum degree in and , respectively. Then Contract() produces an equivalent instance .
Proof.
Denote by the map returned by Contract(). First assume that is atomic embeddable. Then there exists an atomic embedding (where every vertex is embedded in ; and every edge is embedded as a Jordan arc in as specified in the definition of atomic embedding). Let . Then the thickening of equals , and the embedding witnesses that is atomic embeddable.
Conversely, assume that is atomic embeddable. Let be an atomic embedding. Consider the restriction of on the surface . Filling the holes of with discs, and then contract them to points, to obtain an embedding of on the sphere .
First, assume that (i) both and are p-stars: is the union of internally vertex disjoint paths between and a vertex set , and similarly is the union of internally vertex disjoint paths between and a vertex set . Consequently, is the union of internally vertex disjoint paths between vertices in and . (Note that need not be connected.) By suppressing the internal vertices of the paths between and , we obtain an embedding of a bipartite multigraph with partite sets and on .
By Belyi’s theorem [6], there exists a Jordan curve that intersects every edge of in exactly one point, and the intersection is transversal. The curve partitions into two parts, and . We can subdivide the edges of to obtain an embedding of on a sphere such that the curve crosses an edge if and only if . Consequently, by contracting (resp., ) into a vertex (resp., ), we obtain an embedding of (resp., ) on a sphere, where the vertices and have opposite rotations. Observation 1 now implies that is atomic embeddable.
Next assume that (ii) or is a p-path: Without loss of generality, assume that is a p-path, with poles and . Consequently, is a subdivision of , obtained by subdividing the edges incident to . In particular is isomorphic to , where vertex in corresponds to vertex in . By imposing the rotation of on (and the opposite rotation on ), Observation 1 implies that is atomic embeddable, completing the proof. ∎
Our last operation deletes a cut edge of a subcubic local graph; see Fig. 8 for an illustration.
Delete.
We are given a cut edge in a subcubic local graph . If both and are ordinary vertices, then delete from (thereby disconnecting into two components and invoking Split()). Else assume w.l.o.g. that is ordinary and is virtual. Let be the pipe that corresponds to in and a vertex in , and let be the edge corresponding to , that is, , where . Delete the edge from (thereby reducing the degree of to 2), then Suppress() (which turns and into ordinary vertices), and finally insert an edge into both and .
Lemma 8**.**
For every instance of atomic embeddability, an application of Delete() produces an equivalent instance .
Proof.
First, assume that is atomic embeddable. If both and are ordinary vertices, then the deletion of edge produces an atomic embeddable instance by Observation 1 and Lemma 2. If is ordinary and is virtual, then we can clearly delete from , suppress the pipe of degree at most 2, and insert the edge (which was already present in before the operation). By Observation 1, and Lemmas 1 and 2, is atomic embeddable.
Conversely, assume that is atomic embeddable. Then there exists an atomic embedding with respect to , where is the thickening of . Note that since is normal and was a cut edge in . Let be atoms such that and . Recall that the embedding determines a rotation system on all local graphs of . Consider disjoint plane embeddings of and with the rotation systems inherited from such that and are incident to a common face. If is a virtual vertex of degree 3 in (hence has degree 3 in ), we can choose plane embeddings of and with the additional property that the insertion of the edge as a Jordan arc between and yields the embedding of in which the rotation at is opposite to the rotation of in . All other local graphs of are the same as in , and their rotation systems are inherited from . By Observation 1, is atomic embeddable. ∎
2.5 Toroidal Instance
An instance is toroidal if is a cycle and for every atom , the graph is a p-path in which both poles are virtual vertices, and correspond to the two pipes incident to .
Given an instance and a subgraph , such that the restriction of to , denoted , is toroidal, we say that is a toroidal cycle in .
In this section, we show how to decide toroidal instances of atomic embeddability in linear time. First, note that in a toroidal instance every ordinary vertex has degree 2, hence is a disjoint union of cycles, say , for some . Furthermore, maps each cycle , , to a walk that winds around once or more times.
Lemma 9**.**
Let be a toroidal instance of atomic embeddability, where is a cycle, and is a vertex disjoint union of cycles . The instance is positive if and only if is a walk of the same length for all (that is, every cycle winds around the torus the same number of times).
Roughly speaking, Lemma 9 follows by the intersection form of the closed curves on the torus. Indeed, whether a pair of curves could be crossing free on the torus is governed by their homology classes [29, Example 2A.2. and Corollary 3A.6.(b)] over .
Proof.
In an atomic embedding, each cycle is embedded on the torus as a closed curve, whose homology class over is given by a pair , where we assume w.l.o.g. that the first component is the length of the walk divided by . In particular, we may assume that . Since in an atomic embedding, is mapped to a Jordan curve in , its homology class must be primitive [34, 36], or in other words, , for all .
The “if” part follows by observing that the restriction of to a cycle is a positive instance, no matter how many times winds around . Indeed, a desired atomic embedding lies in the primitive homology class . A sufficiently small neighborhood of the embedding of in is homeomorphic to an annulus, into which all cycles can be embedded given the hypothesis is satisfied. It remains to prove “only if” part.
It is well-known that the minimum number of crossings between a pair of closed curves in homology classes and is given as the absolute value of
[TABLE]
which counts the algebraic intersection of the pair, see [48, Section 6.4.3], and in particular Exercise 6.4.3.2. therein444We refrain from properly defining algebraic intersection, since we will not need it in the sequel, and refer an interested reader to [48]. To the readers who are unfamiliar with the intersection form it might be only clear that the absolute value of the expression gives a lower bound on the number of crossings between the curves. Nevertheless, for our purpose this lower bound is sufficient, and therefore we do not delve into more details to show that the lower bound is always tight.. Since the cycles embed into as pairwise disjoint curves in an atomic embedding, we have for every pair of distinct . It follows that . Since , , , and , we have that and , which concludes the proof. ∎
Corollary 2**.**
We can decide whether a toroidal instance is atomic embeddable in time , where is the number of edges and vertices in .
Proof.
Under the assumptions, is the union of vertex disjoint cycles , for some . We report that the instance is positive if and only if is a walk of the same length for all . This algorithm is correct by Lemma 9. It runs in linear time in the size of , as the length of the walks , , can be computed in a simple traversal of . ∎
2.6 The Subcubic Case
An instance of atomic embeddability is subcubic if is subcubic (i.e., its maximum degree is at most 3) for every . In this section, we show how to decide subcubic instances of atomic embeddibility in linear time. By Observation 1, it is enough to check whether all graphs , , are planar, and they each have embeddings in the plane such that for every pipe , the virtual vertices corresponding to in and have opposite rotations.
Planarity testing for a graph takes linear time [30]. Let be the number of vertices and edges in . Then the disjoint union of all local graphs has size (since each vertex in corresponds to a unique ordinary vertex, and every edge in corresponds to one or two edges in ). Hence planarity testing for takes time.
In the subcubic case, every vertex in the local graphs , , has at most two possible rotations (including the vertices of 1- and 2-cuts). We show how to encode the possible embeddings of each local graph by a boolean variable, and then reduce the existence of compatible embeddings to a 2SAT formula, which can be solved in time.
We start with a postprocessing algorithm that eliminates 1- and 2-edge-cuts from local graphs.
- Postprocessing. We are given a subcubic instance of atomic embeddability.
- (1)
While there exists a cut edge in some , , apply Delete(). 3. (2)
While there exists a proper 2-edge-cut in a local graph of , such that and , where both and are in a -bridge of , apply Enclose() (creating a new pipe of degree 2), and Suppress().
Lemma 10**.**
For a subcubic instance of atomic embeddability of size , Postprocessing runs in time, and it returns an equivalent subcubic instance of size in which every local graph is a cycle, a p-path, or a subdivided 3-connected planar graph.
Proof.
The while loop in Step 1 decreases the number of edges in , so it terminates after iterations, and uses time. The while loop in Step 2 decreases the number of 2-edge-cuts in local graphs, and hence, it also terminates after iterations in time. By Lemmas 1, 8, and 5, the instance returned by the Postprocessing algorithm is equivalent to .
Step 1 can only decrease the degree of a local graph, and Step 2 creates a pair of ordinary vertices of degree 2. Since is a subcubic instance, is also subcubic. When the algorithm terminates, then has neither cut edges nor 2-edge-cuts, for all .
We claim that every local graph , , is biconnected. (Note that we assume that is normal, and hence, is connected.) Let be an arbitrary vertex in . Vertex is incident to at least two edges in each -bridge, otherwise we would find a cut edge. However, , so there is at most one -bridge, and is not a cut vertex. This completes the proof of the claim.
It remains to show that every local graph , , is a cycle, a p-path, or a subdivided 3-connected graph. Consider a graph . Suppose it is neither a cycle not a subdivided 3-connected graph. Let be a proper 2-cut. If , for some -bridge , then is a -path, as otherwise the edges incident to and in would form a 2-edge-cut in . The number of -bridges is at least 2 and at most 3, since is subcubic. If there are three -bridges, then for every -bridge , and hence, every -bridge is a -path, and so is a p-path. Suppose now that there are two -bridges. Then neither bridge can be a -path, otherwise would not be a proper 2-cut. Therefore for every -bridge . Since is subcubic, this implies for both bridges. By Observation 2, there are edges and in the two bridges that form a 2-edge-cut in , contradicting the assumption that no such 2-edge-cut exists. ∎
Lemma 11**.**
We can decide whether a subcubic instance is atomic embeddable in time, where is the number of edges and vertices in and .
Proof.
By Lemma 10, we may assume that every local graph , , is a cycle, a subcubic p-path, or a subdivided 3-connected planar graph. We can ignore cycles, as vertices of degree 2 have only one rotation. Every subdivided 3-connected planar graph has two possible rotation systems given by an embedding, that are equivalent up to a reflection. In every embedding of a p-path with poles and , the cyclic order of the -bridges around and are reverse of each other. If , the three -bridges have two possible cyclic orders, that is, the p-path have two possible rotation systems in a plane embedding.
For every local graph , , that is a p-path or a subdivided 3-connected graph, we introduce a boolean variable , which is the indicator variable for the two possible rotation systems of in a plane embedding. In other words, we fix an embedding of corresponding to , and then the reflected embedding corresponds to . Since is a normal instance, every pipe has degree 3, that is, it corresponds to two virtual vertices of degree 3 in two local graphs. In particular, for every pipe , both and are defined. For every pipe , we introduce a constraint if the rotations of its two corresponding virtual vertices in and in the embedding of and , respectively, corresponding to and are opposite of each other; and otherwise.
These constraints yield an instance of 2SAT with boolean variables and constraints, which can be solved in time. If the 2SAT instance is positive then the graphs , , each have an embedding in the plane such that for every pipe , the corresponding virtual vertices in and have opposite rotations. It follows that is a positive instance by Observation 1. Conversely, if is a positive instance, then the atomic embedding of induces plane embeddings of the local graphs such that for every pipe , the corresponding virtual vertices have opposite rotations. By construction, the indicator variables , , satisfy all constraints of the 2SAT instance. ∎
2.7 Main Algorithm
We define two subroutines and then present our main algorithm. Subroutine 1 ensures that our instance has some desirable properties, and Subroutine 2 decreases the maximum degree over all local graphs , for all atoms , that are not contained in a toroidal cycle of .
The crucial part of our algorithm reduces the maximum degree in local graphs over all atoms that are not in toroidal cycles. Specifically, for an instance of atomic embeddability, let
- •
(resp., ) be the set of atoms (resp., pipes) in that are not in any toroidal cycle of ; and
- •
let be the maximum degree over all vertices of all local graphs , , if , and let if .
We first call Subroutine 1 for a normal instance , and show that it returns an equivalent instance in which the proper 1- and 2-cuts in local graphs , , are in a special form, as described in terms of the following definition.
Definition 2**.**
An instance of atomic embeddability is -nice, for , if it meets the following two conditions:
- (N1)
. 2. (N2)
If for a vertex of some local graph , , then has a fixed rotation, or is a p-path or a p-star. 3. (N3)
If , such that both and are p-stars, and corresponds to virtual vertices of degree at least , then is the only pipe between and .
We present a subroutine that takes a normal instance as an input, and returns a -nice normal instance for the maximum degree over all local graphs, that is, (as shown in Lemma 12 and Corollary 4 below).
- Subroutine 1. Input: a normal instance of atomic embeddability, where .
- (i)
While there is a proper 2-cut and a nonseparable -bridge in , for some , such that , but neither nor is a cut vertex, then do the following: Perform Stretch(), where is the set of edges in incident to ; and perform Stretch(), where is the set of edges in incident to . If or is a virtual vertex corresponding to a pipe and is nonplanar, report that the instance is not atomic embeddable and exit the subroutine. 3. (ii)
While there is a proper 2-edge-cut in , for some , then let and such that both and are in a -bridge of , then apply Enclose() (creating a new pipe of degree 2), and Suppress(). 4. (iii)
While there is a proper cut vertex with in some local graph of , then successively apply Enclose() for every bridge of (thereby turning every bridge of into a p-path). Apply Suppress() if applicable.
In Section 2.8 (cf. Corollary 4), we show that Subroutine 1 terminates and analyse its running time. Here we prove that if it terminates, it returns a -nice instance.
Lemma 12**.**
For an instance of atomic embeddibility, if Subroutine 1 terminates, it either returns an equivalent, normal, and -nice instance , or reports that is not atomic embeddable.
Proof.
Let for short. By Lemmas 1, 5, and 6, Subroutine 1 returns an equivalent instance upon termination. Note that instance is normal, since we apply Suppress() to any pipe of degree less than 3. The operations in Subroutine 1 do not increase the maximum degree in any local graph outside of toroidal cycles; and make no changes at all in local graphs in toroidal cycles. Consequently, .
At the end of Step (i), every -bridge is separable for every proper -cut where ; see Fig. 9. We consider Step (ii) now. Suppose that is a proper 2-cut in , such that and
If there exist exactly two (separable) -bridges in (none of which is a subdivided edge as otherwise would not be a proper 2-cut), then Step (ii) eliminates the proper 2-cut by a single application of Enclose(.), due to Observation 2, and does not introduce any new proper 2-cut. Indeed, up to symmetry there are two cases to consider depending on whether or , and or ; see Fig. 10.
If there exist at least three (separable) -bridges in such that , then Step (ii) turns into a p-path with the poles and .
Hence, at the end of Step (ii), for every proper 2-cut we have (a) ; or (b) or is a cut vertex of degree ; or (c) and are the poles of a p-path. In particular, every vertex with in a local graph , is a proper 1-cut, or a pole of a p-path, or has fixed rotation.
Step (iii) successively turns every cut vertex of degree into the center of a p-star. It creates new 2-cuts within these p-stars and possibly in adjacent atoms, but it does not create any new vertex of degree . Hence, at the end of Subroutine 1 satisfies (N1) and (N2). For property (N3), note that by enclosing all the bridges of the center of every p-star in of degree , Step (iii) eliminates possible problematic multiple pipes in , where corresponds to a pair of centers of p-stars and . Overall, the instance returned by Subroutine 1 upon termination meets conditions (N1)–(N3), consequently is -nice. ∎
Degree reduction.
We are now ready to present the crucial subroutine of our algorithm that reduces by eliminating all vertices of degree that are not in toroidal cycles. (See Figs. 11 and 12 for the possible relations between virtual vertices of degree .)
- Subroutine 2. Input: a normal and -nice instance of atomic embeddability, where and .
- (iv)
While there exists a pipe of degree such that or is a p-path, do the following. Suppose w.l.o.g. that is a p-path.
- (a)
If is not a multiple edge apply Contract(). 2. (b)
Else there exists a pair of pipes and joining with . Let and , resp., be virtual vertices in and corresponding to for . Note that and are the poles of the p-path ; and both and are fixed due to (N2), as is not in a toroidal cycle. Apply Stretch() and Stretch(), where is a set of consecutive edges in the rotation at , for . If becomes nonplanar, report that the instance is not atomic embeddable and exit the subroutine. 3. (v)
For every pipe of degree that corresponds to virtual vertices and in and , respectively, do:
- (a)
If both and have fixed rotations (in and , resp.), then check whether the two rotations are compatible. If they are incompatible, then report that is not atomic embeddable and exit the subroutine. Otherwise apply Stretch(), where is a set of consecutive edges in the rotation of . 2. (b)
If neither nor has a fixed rotation, then apply Contract(). This contracts into a new atom, denoted by , and combines and into a new graph . If is nonplanar, report that is not atomic embeddable and exit the subroutine. 3. (c)
Else assume w.l.o.g. that has fixed rotation in , and is incident to edges in this cyclic rotation order. Successively apply Stretch(), turning vertex into an induced binary tree with vertices. If is nonplanar, report that the instance is not atomic embeddable and exit the subroutine. 4. (vi)
For every ordinary vertex , , with that has fixed rotation, apply Stretch(), where is a set of consecutive edges in the rotation of . 5. (vii)
For every ordinary vertex , , with that is part of a 1- or 2-cut, apply Detach().
This completes the description of Subroutine 2. In Section 2.8 we show that Subroutine 2 terminates and analyse its running time. In Lemma 14 below, we prove that if it terminates, it returns an instance with . We first clarify when an operation Stretch(.) can create a proper 1- or 2-cut.
Lemma 13**.**
Let be a vertex in such that , and assume that operation Stretch() produces an instance in which is replaced by an edge . If is not a proper 1-cut in , then neither nor is a proper 1-cut in . If neither is a proper 1-cut nor belongs to a proper 2-cut in , then neither nor belongs to a proper 2-cut in .
Proof.
For the sake of contradiction suppose w.l.o.g. that is a proper 1-cut in . If we contract the edge back into the vertex , the vertex is a proper 1-cut in . Indeed, if is the -bridge containing , then contains at least 3 edges since . Thus, the bridge gives rise to a -bridge after we contract .
Similarly, suppose that or belongs to a proper 2-cut of . If we contract the edge back into the vertex , no loops are created, since is not a multiple edge. We show that the vertex belongs to a proper 2-cut in or is a proper 1-cut. The proper 2-cut or 1-cut in is constructed as follows. We put and if and , respectively, and we put and , otherwise. The proper 2-cut is, in fact, a proper 1-cut if .
To see that is a proper 1-cut if , we observe that and apply the definitions of a proper 1-cut and proper 2-cut. Otherwise, w.l.o.g. , and thus, . Let denote the -bridge containing edge. The bridge is not a (subdivided) edge, since and . Thus, after contracting , the bridge gives rise to at least one -bridge that is not a subdivided edge. Hence, is a proper 2-cut. ∎
Lemma 14**.**
For a -nice instance of atomic embeddability, if Subroutine 2 terminates, then it either returns an equivalent normal instance such that , or reports that is not atomic embeddable.
Proof.
Let . We show that every step of Subroutine 2 maintains a -nice normal instance equivalent to until it terminates; and it either returns such an instance or reports that is not atomic embeddable. Subroutine 2 maintains a normal instance until termination, since it does not create virtual vertices of degree 2 and Split(.) is applied automatically whenever a local graph disconnects into two or more components.
Step (iv)(iv.a) produces an equivalent instance by Lemma 7: Each Contract(.) operation merges a local graph with a p-path and produces a new local graph , where is isomorphic to , so the instance remains -nice. In Step (iv)(iv.b), the two invocation of Stretch(.) produce an equivalent instance by Lemma 6. At the end of Step (iv), none of the local graphs outside of toroidal cycles is a p-path of degree .
In Step (v)(v.a), the rotation of the virtual vertices and must be compatible in any atomic embedding by Observation 1. If they are compatible, then operation Stretch() produces an equivalent instance by Corollary 1; and the resulting instance is still -nice since no new proper 1-cut or 2-cut is introduced in and by Lemma 13.
In Step (v)(v.b), both and are p-star, centered at , and resp., since instance is -nice, and p-paths of degree have already been eliminated. By Lemma 7, Contract produces an equivalent instance. The resulting instance is still -nice, since the maximum degree of is less than ; and is planar if is atomic embeddable by Observation 1.
In Step (v)(v.c), operation Stretch() for a fixed vertex yields an equivalent instance by Corollary 1. If the rotation of is incompatible with a p-star centered at , Stretch() may turn into a nonplanar graph, and then is not atomic embeddable by Observation 1. Note that is a p-star, since p-paths have been eliminated in Step (iv). Successive Stretch(.) operations eliminate the only vertex of degree of , namely . The graph remains 3-connected by Lemma 13, and so the resulting instance is -nice.
The equivalence of Step (vi) follows by Lemma 6, and the resulting instance is still -nice, since operation Stretch() does not introduce a 1-cut in that would violate the -nice property by Lemma 13.
In Step (vii), operation Detach() is applied in a -nice instance, hence it produces an equivalent instance by Lemma 4, which obviously remains -nice.
For the remainder of the proof, assume that Subroutine 2 returns an instance . The operations in Subroutine 2 do not increase the maximum degree outside of toroidal cycles; and make no changes within toroidal cycles. Consequently, .
It remains to prove that , i.e., that Subroutine 2 eliminates vertices of degree from all local graphs outside of toroidal cycles; call these vertices -critical. Since is -nice, every -critical vertex in a local graph has a fixed rotation, or it is a center of a p-star, or a pole of a p-path. Steps (iv)–(vii) each eliminate one or two -critical vertices (possibly a pair of corresponding virtual vertices), and do not create any new -critical vertices. Steps (iv)–(v) eliminate all possible -critical virtual vertices; and Steps (vi)–(vii) eliminate all -critical ordinary vertices. Since Subroutine 2 maintains a -nice instance, it ultimately eliminates all -critical vertices, and so , as claimed. ∎
Algorithm.
We are given a normal instance of atomic embeddability.
- (I)
While , do the following.
- (a)
Call Subroutine 1 (which turns into a -nice instance) followed by Subroutine 2 (which reduces ). If Subroutine 1 or Subroutine 2 reports that the instance is not atomic embeddable return False and terminate the algorithm. 2. (II)
For each connected component of , let .
- (a)
If is a toroidal cycle of , decide atomic embeddability for using Corollary 2. 2. (b)
Else decide atomic embeddability for using Lemma 11. 3. (III)
If is atomic embeddable for all components of , then return True; else return False.
In Section 2.8 we show that the Algorithm terminates and analyse its running time. Here we show that if it terminates it correctly decides the atomic embeddability problem.
Lemma 15**.**
Suppose that Algorithm terminates for an instance . Then the algorithm returns True if and only if is atomic embeddable.
Proof.
Since the input is normal, it is a valid input for Subroutine 1 in the first iteration of Step I(I.a). By Lemma 12, Subroutine 1 returns a -nice instance and therefore the input for Subroutine 2 is valid. In any subsequent iteration of Step I(I.a), Subroutine 1 receives a valid input as Subroutine 2 returns a normal instance (however, this instance need not be -nice). By Lemma 12 and Lemma 14, the while loop in Step I terminates after at most iterations, and returns an equivalent instance (or correctly reports that is not atomic embeddable). If the Algorithm proceeds to Steps II–III, the correctness of the output follows from Corollary 2 and Lemma 11. ∎
2.8 Running Time Analysis
Potential Functions.
We measure the progress of the algorithm, for an instance , using three parameters defined as follows. Recall that denotes the disjoint union of all local graphs , .
- •
Let , that is, be the number of vertices of .
- •
let , i.e., the number of vertices of of degree 3 or higher.
- •
Let the potential of be
[TABLE]
where and if is a proper cut vertex, and if is part of a proper 2-cut but not a cut vertex, and and otherwise.
Note that if , that is, the vertices of local graphs of degree less than 3 do not contribute to the potential. Clearly for every , and so is a trivial upper bound. Our analysis hinges on the following charging scheme:
Overview.
We show below (Lemma 19) that each iteration of Step I(I.a) of the Algorithm decreases the potential. This readily implies that the while loop in Step I terminates (hence the Algorithm terminates, which completes the proof of correctness). Recall that Step I(I.a) runs Subroutines 1 and 2, that is, it applies Steps (i)–(vii). We show that both the number of elementary operations performed and the number of new vertices created in Steps (i)–(vii) are bounded from above by a constant times the decrease of the potential. Step (ii) does not change the potential, so we need additional machinery to bound its running time: We use the parameters and . We continue with the specifics.
Analysis.
Recall that each iteration of the while loop of Step I of the Algorithm, which calls Subroutine 1 followed by Subroutine 2. The two subroutine jointly perform Steps (i)–(vii). We use the following notation. Assume that is the input of Subroutine 1, and we obtain instances at the end of Step (i),,(vii). Denote by the union of all local graphs in the instance for . The following lemma is helpful for the analysis of Step (i).
Lemma 16**.**
Let be a proper 2-cut in a local graph such that ; and let be a nonseparable -bridge. Then one iteration of the while loop in Step (i) produces an instance such that and .
Proof.
If (resp., is ordinary), then operation Stretch(.) creates new vertex in ; and if it is virtual, it creates at most new vertices in . Overall at most new vertices are created, all of which are of degree 3 or higher. That is, .
In the following we analyze how the operation impacts the degree of vertices. If is an ordinary vertex, then Stretch(.) changes its degree from to ; and creates a new vertex of degree . If is a virtual vertex, corresponding to a pipe , then both virtual vertices corresponding to go through the same changes.
By Lemma 13, the new vertices created by Stretch(.) are not cut vertices (although they may participate in proper 2-cuts). If is a virtual vertex, then the corresponding virtual vertex in an adjacent atom might be a cut vertex or a vertex in a proper 2-cut. By Lemma 13, if or a new vertex created by Stretch() in is a proper cut vertex (resp., contained in of a proper 2-cut), then so is in . In particular, for any existing vertex in (including vertex ), the exponent cannot increase, cannot decrease. Consequently, the contribution of to the potential cannot increase.
The change in the potential incurred by is most
[TABLE]
which is nonpositive by convexity, and equals to zero if and only if . Since is a nonseparable -bridge, we have , and the two Stretch(.) operations at and jointly decrease the potential. ∎
Corollary 3**.**
Let be a normal instance of atomic embeddability and let . Then the while loop in Step (i) terminates and returns an instance , after at most iterations, such that .
Proof.
By Lemma 16, each iteration of the while loop in Step (i) decreases the potential. Consequently, the while loop terminates, and performs at most iterations. Each iteration applies up to two Stretch(.) operations, at or for some proper -cut, and increases the number of vertices by at most . By Lemma 16, the number of vertices increases by at most 4 times the decrease of the potential. Summation over all iterations of the while loop in Step (i) yields . ∎
We can now focus on Steps (ii)–(vii).
Lemma 17**.**
Let be an instance returned by Step (i). Then the while loop in Step (ii) terminates after at most iterations, and it returns an instance such that , , and .
Proof.
Let be an instance at the beginning of one iteration of the while loop in Step (ii). Since is normal, every local graph is connected. Let be a proper 2-edge-cut in , let and such that both and are in a -bridge . Note that each component of contains a vertex that has degree at least 3 in , otherwise one of the components would be a path, and the 2-edge-cut would not be proper. In one iteration of Step (ii), an operation Enclose(.) replaces with two local graphs obtained by removing edges and , and inserting two new paths and , where and are new ordinary vertices of degree 2. In particular, and the number of vertices of degree at least 3 do not change, and the total number of vertices in increases by 2.
It follows that and . Since each iteration in the while loop of Step (ii) increases the number of components of , but each new component contains at least one vertex of degree 3 or higher, the number of iterations is at most . Summation over all iterations yields . ∎
Now we are ready to show that Subroutine 1 terminates.
Corollary 4**.**
For an instance of atomic embeddibility of size , Subroutine 1 terminates.
Proof.
By Corollary 3 the while loop in Step (i) terminates. By Lemma 17, Step (ii) terminates and eliminates all proper 2-edge-cuts containing an edge that is incident to a vertex of degree . Finally, in the while loop of Step (iii), each iteration decreases the number of vertices of degree in local graphs that are not p-stars. Therefore this while loop terminates, as well. ∎
Note that Step (iii) increases the potential. We analyse the combined effect of Steps (iii)–(vii), and show that they jointly decrease the potential, and we can charge the number of operations, as well as the number of new vertices to the decrease of the potential. The following observation will be helpful.
Lemma 18**.**
Let and be positive integers such that , , and . Then we have
[TABLE]
Proof.
We distinguish among three cases. In Case 1, (hence for all ). Then the right hand side of (1) is less than . Clearly, for .
In Case 2, we assume that . First note that for every , we have , and so . Elementary calculation yields
[TABLE]
where we have dropped some nonegative terms, and used the inequality for .
In Case 3, assume . Then, using again, we have
[TABLE]
as claimed. ∎
Lemma 19**.**
Consider Steps (iii)–(vii) in an invocation of Subroutine 1 followed by Subroutine 2. We have , , and the number of operations performed in Steps (iii)–(vii) is .
Proof.
None of these steps increases the number of vertices of degree or higher in local graphs. Ultimately all vertices of degree outside of toroidal cycles are eliminated.
Overview.
Each operation in Steps (iii)–(vii) is associated to either a unique vertex of degree , or two virtual vertices of degree that correspond to the same pipe. In Step (iii) and Steps (vi)–(vii), this is vertex ; in Steps (iv)–(v), these are virtual vertices and corresponding to the pipe . We consider each vertex of degree in the instance , and analyse how the operations associated with change the potential and the total number of vertices over Steps (iii)–(vii). Let and , resp., denote the changes in and incurred by the operations associated with vertex . We claim that for every vertex of degree in , we have
[TABLE]
with equality if and only if is a a local graph where is in a toroidal cycle; and
[TABLE]
Note that (2) holds with a strict inequality for at least one vertex . Indeed, we have , and so there is a vertex of degree in some local graph of outside of toroidal cycles. Summation over all vertices of degree then yields
[TABLE]
Elimination of p-paths.
Recall that each iteration of Step (iv)(iv.a) applies Contract() on a pipe corresponding to virtual vertices in and in . Without loss of generality, assume that is a p-path with poles and . Operation Contract() eliminates and , and creates a new local graph where is isomorphic to . For the analysis of and , we assume that this operation eliminates and ; and vertex of survives in . Thus, the effect of Contract() is neutral for , although may become an ordinary vertex if is ordinary before the operation.
Inequalities (2)–(3) clearly hold for any vertex in toroidal cycles. For all other vertices of degree , we distinguish between three cases as follows.
Vertices of fixed rotation.
Let be a vertex of fixed rotation with in . If is an ordinary vertex, then Steps (i)–(vi) do not change , and in Step (vi) a Stretch() operation replaces with two vertices and , where , and . In this case, , and . If is a virtual vertex, then decreases in either Step (iv)(iv.b), (v)(v.a) or (v)(v.c). In Step (iv)(iv.b) or (v)(v.a) one Stretch(.) operation has the same effect on the potential as for ordinary vertices, , but it creates two new vertices, and so . In Step (v)(v.c), successive Stretch(.) operations replace with vertices of fixed orientation with degree 3. Thus, , and . In all cases, (2)–(3) follow.
Poles of p-paths.
Let be a pole of a p-path , with . Denote the other pole of the p-path by , where obviously . If both and are ordinary, then Steps (i)–(v) do not change . The Detach(.) operation in Step (vii) replaces with new vertices of degree 1. Thus, and , thus (2)–(3) follow.
Assume that or is a virtual vertex. Then a Contract(.) operation in Step (iv)(iv.a) eliminates both and . We have and .
Step (iv)(iv.b) applies Stretch(.) to a pair of virtual vertices and of . Thus, we have and .
Proper cut vertices.
Let be a proper cut vertex in with in some local graph . Assume has bridges , and for all . Step (iii) successively encloses the bridges. Note that remains a proper cut vertex of degree . Step (iii) creates new virtual vertices in the p-star centered at , where . Every new virtual vertex , , is part of a proper 2-cut .
Moreover, every virtual vertex , , corresponds to another virtual vertex in the local graph of an atom created by enclosing ; this local graph is isomorphic to , where plays the role of . In particular cannot be a cut vertex, but it may be contained in a proper 2-cut. At the end of Step (iii), we obtain a -nice instance in which none of the local graphs containing a virtual vertex , , is a p-path or a p-star contain any vertex of degree . Therefore Steps (iv)–(vii) do not change the degree of , and cannot become a cut vertex for any .
Next we consider the possible changes to the p-star centered at in Steps (iv)–(vii). Step (iv)(iv.a) may turn into an ordinary vertex as noted above (but it changes neither nor ). Since is a proper cut vertex of degree , the next step that can possibly modify the p-star is Step (v)(v.b), (v)(v.c), or (vii). In Step (v)(v.b), a Contract(.) operation eliminates vertex , and any vertex , may become a cut vertex. In Step (v)(v.c), successive Stretch(.) operations replace with vertices of degree 3. Since each of these vertices could be a proper cut vertex, they contribute to the potential. Finally, if is an ordinary vertex, then Detach() in Step (vii) replaces with vertices of degree 1, which do not contribute to the potential.
At the beginning of Step (iii), vertex contributes to . At the end of Subroutine 2, the contribution of , together with the virtual vertices and , over all , is at most
[TABLE]
By Lemma 18, .
Let us estimate the number of new vertices created in these steps. In Step (iii), the Enclose(.) operations create a pair of virtual vertices for each bridge of (i.e., vertices), and up to ordinary subdivision vertices. In Step (v)(v.c), Stretch(.) operations create new vertices; and in Step (vii), the Detach() operation increases the number of vertices by . Therefore, . Since , inequalities (2) and (3) follow. ∎
Lemma 20**.**
For an instance of atomic embeddability of size , Algorithm terminates, it performs operations, and runs in time.555Optimizing the running time analysis further, which we believe is possible, is beyond the scope of this work.
Proof.
Consider one iteration of the while loop of Step I, which calls Subroutines 1 and 2. By Corollary 3, Step (i) terminates, performs operations, and returns and instance with and . By Lemma 17, Step (ii) terminates, performs operations, and returns an instance with and . Similarly, by Lemma 19, the sequence of Steps (iii)–(vii) terminates, performs operations, and returns an instance with .
Using the definition of the potential, we can bound its initial value by
[TABLE]
The while loop in Step I of the Algorithm terminates after iterations, since each iteration decreases by Lemmas 12 and 14. In each iteration, the potential decreases, and increases by at most constant times the decrease of the potential by Lemmas 16, 17 and 19. In particular, for every instance in intermediate phases of Step I, both and are bounded by .
Each operation in Steps (i)–(vii) can be implemented in time, where is the instance for which the operation is applied (this allows for planarity testing, and recomputing block trees and SPQR-trees after each operation). As noted above, we have . The overall running time of all invocations of Step (i)–(vii) is .
By Lemmas 9 and 11, Steps II–III of the Algorithm run in time. ∎
Theorem 1**.**
There is an algorithm that determines whether a simplicial map is atomic embeddable in time polynomial in the number of edges and vertices in and .
Proof.
Let be an instance of atomic embeddability of size , where is the number of edges and vertices in and . The Preprocessing algorithm runs in time and returns an equivalent normal instance of size by Lemma 3. The main Algorithm for terminates in time by Lemma 20, and determines whether is atomic embeddable by Lemma 15. Since and are equivalent, this also determines whether is atomic embeddable. ∎
3 Beyond Atomic Embeddings
Since atomic embeddability is tractable, it makes sense to consider its generalizations in which every atom can have genus higher than 0.
We consider the generalized atomic embedding problem for a simplical map , where and are multigraphs without loops. The only difference from atomic embeddibility is that we define the surface as follows: For each atom , we construct from an oriented surface of genus without boundary (rather than a 2-sphere), and remove holes. Hence, an instance for generalized atomic embeddability is a pair , where is a simplicial map and .
Problem 4** (Generalized atomic embeddability).**
Given a simplicial map , where and are multigraphs without loops, and a function , decide whether a generalized atomic embedding of with respect to exists.
In this section, we show that generalized atomic embeddability is NP-hard, and therefore also NP-complete, even when for all atoms , and the number of vertices in is at most 7 for each atom with .
The NP-hardness proof is based on the embeddings of on a torus. For an embedding of on a torus, we say that two vertices and of the same vertex class (i.e., with the same degree) have the same rotation if the rotation of is and the rotation at is , where is a vertex class of .
Lemma 21**.**
In every embedding of on the torus the four cubic vertices do not all have the same rotation; subject to the previous claim, any rotations for the four cubic vertices can be realized by a toroidal embedding.
Proof.
The first author and Kynčl [23, Theorem 7(b)] recently proved that in every embedding of on the torus there exist two cubic vertices that do not have the same rotation.
It remains to prove that in the following two cases there exists an embedding of on the torus. In one case, exactly 2 of the 4 cubic vertices have the same rotation; and in the other case, exactly 3 of the 4 cubic vertices have the same rotation. Desired toroidal embeddings are given in Fig. 13(middle) and (right). ∎
Theorem 2**.**
Generalized Atomic Embeddability* is NP-hard.*
Proof.
We reduce Generalized Atomic Embeddability from Not-All-Equal 3SAT, which is known to be NP-complete. An instance of Not-All-Equal 3SAT is given by a pair , where is a finite set of boolean variables and is a finite set of clauses, each of which is a conjunction of three literals. Each literal is either a variable or the negation of , denoted by . An instance is positive if there exists an assignment such that at least 1 and at most 2 literals are true in every clause.
Given an instance of Not-All-Equal 3SAT, we construct an instance for Generalized atomic embeddability, and show that it is positive if and only if is positive. Let .
We construct an instance , where , . Let the multigraph be a p-star with a center , and additional atoms , such that there are 6 pipes between and each , for . In particular, all pipes are incident to the center .
We put and . We describe via a construction of local graphs , , , . For ease of presentation, we describe the local graphs as semi-directed graphs (in which some edges are directed and others are undirected). However, in the eventual instance , all local graphs are undirected (by replacing every directed edge with an undirected edge.)
The local graphs are each isomorphic to . Let be a disjoint union of the semi-directed graphs , for all , where is a path of length 1 and is a directed cycle whose length is equal to four times the number of occurrences of in the clauses in . Let and denote the two vertex disjoint directed induced cycles in of length equal to the length of , whose orientation is inherited from ; see Fig. 14 for an illustration.
Next, we define the pipes in by designating the pairs of corresponding virtual vertices in the local graphs; furthermore, for if a pipe corresponds to virtual vertices and in two local graphs, we also specify a bijection between the set of edges incident to and the set of edges incident to . All vertices in local graphs that are not designated to be virtual will be ordinary. This uniquely determines the instance .
For each clause , , we define three pipes in . Assume that . Recall that is isomorphic to . Label the three vertices of degree 4 in by , [math], and resp.; two arbitrary cubic vertices by the literal ; and the remaining two cubic vertices by the literals and , respectively. Let every cubic vertex be virtual, and let each vertex with label correspond a vertex in if and a vertex in if . We construct the bijection between the edges incident to and the edges incident to as follows: Let the edge between and the vertex of with label , [math], and , resp., correspond to the incoming, undirected, and outgoing edge incident to in . This completes the definition of the instance
It remains to prove that is a positive instance if and only if is a positive instance. Assume that is a positive instance of Generalized atomic embeddibility. Let be a generalized atomic embedding of with respect to . Since , the restriction of on yields an embedding of in the plane; and an embedding of in the torus for all . We construct a satisfying assignment based on the embedding of as follows. We put if the incoming, undirected, and outgoing edges incident to a vertex in appear in this counterclockwise order in the rotation of in the embedding of ; and we put otherwise. Note that the truth value of is independent of the choice of . Also note that a literal of the clause , , is satisfied if and only if the edges between the vertex labeled by and the vertices labeled by , [math] and in appear in this clockwise order in the rotation at in the embedding of . Note that Observation 1 holds also for generalized atomic embeddability. By Lemma 21 and Observation 1, every clause must be satisfied by at least 1 and at most 2 literals, and hence, is positive.
Now assume that is a positive instance of Not-All-Equal 3SAT. We can easily reverse the argument in the previous paragraph as follows. Let be a satisfying assignment witnessing that the instance is positive. We define a toroidal embedding of , for all , as follows. For every literal , the edges between a vertex labeled by and the vertices labeled by , [math], and in appear in this clockwise order in the rotation of in the embedding of if and only if is satisfied by . Lemma 21 and Observation 1 imply that we can construct the desired embeddings of on tori. This also determines a desired spherical embedding of , which concludes the proof. ∎
4 Thickenability and Connected SEFE-2
In this section, we give a polynomial-time reduction of atomic embeddability (Problem 3), as well as Connected sefe-2 (defined below) to thickenability (Problem 2). Recall that an instance of atomic embeddability is given by a simplicial map . The instance is positive if its output answer is True.
Thickenability.
In the following, we express thickenability as a combinatorial problem, of which atomic embaddability is a proper generalization, and then reduce atomic embaddability to this problem.
Let denote a 2-polyhedron, where the multigraph is the 1-skeleton of , and is the set of facets in , each represented by a cycle in . Let . A 2-polyhedron embeds in an orientable 3-manifold (such as ) if the following holds. The multigraph embeds in so that the facets are mapped into pairwise interior disjoint topological discs , resp., in such that for every the boundary of , denoted by , consists of the embedded cycle . The representation of in given by the discs is an embedding of . The restriction of the embedding of to the boundaries of these discs gives the embedding of .
For every , the link of in is a multigraph , where the vertex set is the multiset of edges in incident to , and the multiset of edges is in a bijection with the set of facets in that are incident to and we give it next. Every pair corresponds to an edge in whose multiplicity equals the number of facets in that contain both and .
If is thickenable, then the intersection of its embedding in a manifold with a sufficiently small 2-sphere centered at (the embedding of) a vertex is a spherical embedding of the link . Indeed, the 2-sphere intersects edges of incident to in points, and it intersects facets in incident to in Jordan arcs between these points.
Given a polyhedron , the family , where is a planar (spherical) embedding of , is compatible if, for every joining vertices and , the rotation at in is opposite to the rotation of in . The observation in the previous paragraph proves the “only if” part of the following theorem.
Theorem 3** (Neuwirth [39]).**
The 2-dimensional polyhedron is thickenable if and only if there exists a family of compatible embeddings of the vertex links of .
We show that testing the condition of Theorem 3 generalizes atomic embeddability and connected sefe-2.
Reduction.
For a given instance of atomic embeddibility, we define a 2-dimensional polyhedron , and then show that is thickenable if and only if is a positive instance of atomic embeddibility. Let denote the 2-dimensional polyhedron, where and are defined as follows.
Roughly speaking, is obtained by doubling the multigraph and connecting each pair of corresponding vertices in the two copies of by new multiple edges, where every such edge corresponds to a vertex of . Hence, the vertex set of is , and we define its edge set as
[TABLE]
The facets in are in bijection with the edges in . Formally,
[TABLE]
Thus, for every edge of , if maps the vertices and to the same atom (resp., different atoms) of , then the edge corresponds to a facet of bounded by 2 (resp., 4) edges.
It remains to prove that the polyhedron has the desired property.
Lemma 22**.**
For every instance of atomic embeddability, the 2-dimensional polyhedron is thickenable if and only if is a positive instance.
Proof.
In order to prove the “only if” part, we assume that the polyhedron is thickenable. By Theorem 3, there exists a family of compatible spherical embeddings of the links . Let be a family of pairwise disjoint 2-spheres, and let be compatible embeddings for all . We construct an atomic embedding of on with respect to in two steps as follows.
First, for every , we drill a small hole on around (the embeedding of) every vertex of of the form . Note that for every such vertex of , we have by construction. Let denote the edges that are incident to in , for some . Formally, we remove from the 2-sphere a small open disc , thereby shortening edges incident to in into Jordan arcs , resp., ending on , which is the boundary of the closure of . Let denote the resulting 2-sphere with the removed disc(s) for all .
Second, for every edge , we identify the curves with via a homeomorphism that identifies the endpoints of and for every . A desired homeomorphism exists since the embeddings are compatible. Let denote the surface obtained by the previous identifications, where each is interpreted at . Note that we have just constructed a desired atomic embedding. Indeed, a vertex is embedded by as on ; an edge where is embedded by as ; and an edge where is embedded as the union of on and on , where , and corresponds to as described in the definition of . This completes the proof of the “only if” part.
For the converse, assume that we are given an atomic embedding of on . Clearly, the previous construction can be reversed to construct a subfamily of compatible spherical embeddings of the links , for all . By taking the mirror image of this construction, we obtain , for all . The union of and , for all , gives the desired family of compatible spherical embeddings. By Theorem 3, is thickenable. ∎
An immediate consequence of Lemma 22 is the main result of this section.
Theorem 4**.**
Atomic Embeddability* reduces to thickenability in polynomial time.*
Simultaneous embedding with fixed edges (SEFE-2).
In the following we discuss an implication of Theorem 4 to the problem of simultaneous embeddability of two graphs sefe-2, which is formally described as follows.
Problem 5**.**
sefe-2.* Given two (planar) graphs, and , decide whether there exists a planar embedding of such that both and are embeddings.*
The Connected sefe-2 is a special case of sefe-2 in which is connected. Angelini and Da Lozzo [4] showed that connected sefe-2 is polynomial-time equivalent to c-planarity. Since c-planarity is a special case of Atomic Embeddability, together with Theorem 4, this immediately implies the following.
Corollary 5**.**
Connected sefe-2* reduces in polynomial time to thickenability.*
5 Acknowledgment
The first author would like to thank Arnaud de Mesmay for pointing him to Johannes Carmesin’s work. Thanks are extended to Johannes Carmesin for kindly discussing this work with him, and to Jan Kynčl for careful reading of the manuscript.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] Hugo A. Akitaya, Greg Aloupis, Jeff Erickson, and Csaba D. Tóth. Recognizing weakly simple polygons. Discrete & Computational Geometry , 58(4):785–821, 2017. doi:10.1007/s 00454-017-9918-3 . · doi ↗
- 2[2] Hugo A. Akitaya, Radoslav Fulek, and Csaba D. Tóth. Recognizing weak embeddings of graphs. ACM Trans. Algorithms , 15(4):50:1–50:27, 2019. doi:10.1145/3344549 . · doi ↗
- 3[3] Patrizio Angelini, Giuseppe Di Battista, Fabrizio Frati, Maurizio Patrignani, and Ignaz Rutter. Testing the simultaneous embeddability of two graphs whose intersection is a biconnected or a connected graph. J. Discrete Algorithms , 14:150–172, 2012. doi:doi.org/10.1016/j.jda.2011.12.015 . · doi ↗
- 4[4] Patrizio Angelini and Giordano Da Lozzo. SEFE = C-Planarity? Comput. J. , 59(12):1831–1838, 2016. doi:10.1093/comjnl/bxw 035 . · doi ↗
- 5[5] Patrizio Angelini and Giordano Da Lozzo. Clustered planarity with pipes. Algorithmica , 81(6):2484–2526, 2019. doi:10.1007/s 00453-018-00541-w . · doi ↗
- 6[6] S. B. Belyi. Self-nonintersecting and non intersecting chains. Mathematical notes of the Academy of Sciences of the USSR , 34(4):802–804, 1983. Translated from Matematicheskie Zametki , 34(4):625–628, 1983. doi:10.1007/BF 01157400 . · doi ↗
- 7[7] Thomas Bläsius, Annette Karrer, and Ignaz Rutter. Simultaneous embedding: Edge orderings, relative positions, cutvertices. Algorithmica , 80(4):1214–1277, 2018. doi:10.1007/s 00453-017-0301-9 . · doi ↗
- 8[8] Thomas Bläsius, Stephen G. Kobourov, and Ignaz Rutter. Simultaneous embedding of planar graphs. In Roberto Tamassia, editor, Handbook of Graph Drawing and Visualization . Chapman and Hall/CRC, 2013.
