Abstract
We investigate the following problem: Given two embeddings G _{1} and G _{2} of the same abstract graph G on an orientable surface S, decide whether G _{1} and G _{2} are isotopic; in other words, whether there exists a continuous family of embeddings between G _{1} and G _{2}.
We provide efficient algorithms to solve this problem in two models. In the first model, the input consists of the arrangement of G _{1} (resp., G _{2}) with a fixed graph cellularly embedded on S; our algorithm is linear in the input complexity, and thus, optimal. In the second model, G _{1} and G _{2} are piecewiselinear embeddings in the plane, minus a finite set of points; our algorithm runs in O(n ^{3/2}logn) time, where n is the complexity of the input.
The graph isotopy problem is a natural variation of the homotopy problem for closed curves on surfaces and on the punctured plane, for which algorithms have been given by various authors; we use some of these algorithms as a subroutine.
As a byproduct, we reprove the following mathematical characterization, first observed by Ladegaillerie (Topology 23:303–311, 1984): Two graph embeddings are isotopic if and only if they are homotopic and congruent by an oriented homeomorphism.
Introduction
Deciding whether a curve in a space can be deformed to another one is a fundamental topological task. Since the problem is undecidable in general, even in twodimensional simplicial complexes and 4manifolds [33, pp. 242–247], one has to put restrictions on the ambient space. The case of surfaces has been much investigated recently (see references below), since it is at the same time nontrivial, interesting, and tractable, and since the underlying mathematics, notably in the field of combinatorial group theory, are well understood.
This paper also studies deformations on surfaces, but instead of curves, we consider graphs drawn on surfaces: Given two embeddings (crossingfree drawings) of a graph G on a surface, can we deform one continuously to the other without introducing intersections between edges during the process?
As a motivating special case, consider a finite set of obstacle points P in the plane and a graph G embedded on \(\mathbb {R}^{2}\setminus P\) in two different ways, G _{1} and G _{2}. Does there exist a “morph” between G _{1} and G _{2} (possibly moving the vertices and bending the edges) that avoids passing over any obstacle? To the best of our knowledge, no algorithm is known for this purpose. This is relevant for morphing applications: To compute a morphing between two images, it is helpful to first build a deformation between compatible graphs representing the most salient features of the images. In such applications, it is sometimes desirable to add some topological requirements on the morphing, e.g., to force some area of the deforming image to always cover a fixed point of the plane during the deformation. Such requirements can be encoded using obstacle points, since a face of the graph containing an obstacle point has to contain it during the whole deformation.
Another motivation for this problem comes from geographic information systems and map simplification. When simplifying a road network, it is crucial that the features of the map (cities, mountains) stay on the same side of the roads. This can be tested by considering these features as obstacle points and testing whether the road networks obtained before and after straightening are isotopic; see, e.g., Cabello et al. [6].
More generally, assume that we have a triangulated surface in \(\mathbb {R}^{3}\), and two embeddings G _{1} and G _{2} of the same graph G on that surface (not necessarily on the skeleton of the triangulation). Each graph G _{ i } is encoded by its combinatorial arrangement with the triangulation. Can we continuously move G _{1} to G _{2}? In this setting, the graphs G _{1} and G _{2} might represent textures on the surface, and the question is whether one can continuously move one texture so that it coincides with the other.
Related Work
A homotopy between two paths is a continuous family of paths with the same endpoints between them. A homotopy between two cycles (closed curves) is a continuous family of cycles between them.^{Footnote 1} Dey and Guha [12], and later Lazarus and Rivaud [28], as well as Erickson and Whittlesey [17], study the problem of deciding whether two paths or cycles on a surface S are homotopic. Both problems can be solved in optimal linear time if the input curves are represented as walks in a graph embedded on S. Cabello et al. [6] give efficient algorithms for testing homotopy of paths in the special case where the surface S is a punctured plane (a plane, minus a finite set of obstacle points) and the input paths are represented by polygonal paths in the plane.
A related problem, to which a large body of research is devoted, is that of computing shortest homotopic paths or cycles. It was first studied by Hershberger and Snoeyink [23] for a triangulated surface where the vertices lie on the boundary, and revisited by Efrat et al. [13] and Bespamyatnikh [2] for paths in a punctured plane. These algorithms, in particular, allow to decide whether two paths are homotopic, and have a better complexity than the algorithm by Cabello et al. [6] in some cases. Results on the shortest homotopic path/cycle problem are also known for combinatorial surfaces [9, 10]: It is solvable in polynomial time [8].
An isotopy between two simple curves (paths or cycles without selfintersections) is a homotopy that keeps the deforming curve simple at each step. If two simple curves are isotopic, they are homotopic. The converse does not hold in general [19], though it holds for simple paths with endpoints on the boundary and for simple cycles not bounding a disk [15]; in these cases, it is equivalent to test homotopy or isotopy. More generally, an isotopy with fixed vertices between two graph embeddings is a continuous family of graph embeddings between them, where the vertices are not allowed to move. It is known that one can compute shortest graph embeddings with fixed vertices in polynomial time [7, 8], and similar techniques allow to test whether two graph embeddings are isotopic with fixed vertices in polynomial time.
Two homeomorphisms from S to S are isotopic if there is a continuous family of homeomorphisms connecting them. The mapping class group of a surface (without boundary) S is, roughly, the set of isotopy classes of all orientationpreserving homeomorphisms from S to S. See, e.g., Farb and Margalit [18] for a recent and exhaustive survey on this topic. Although we use little of this vast theory, it is quite connected to our problem: If G _{1} and G _{2} are cellularly embedded on S, a homeomorphism of S that maps G _{1} to G _{2} represents a unique element of the mapping class group, and our problem amounts to testing whether this element is the identity. Hence it is closely related to the word problem in mapping class groups, which can be solved in quadratic time [21, 31]. However, these algorithms take as input the collection of Dehn twists corresponding to a mapping class, which is an input incomparable to ours. Note that if S is an npunctured sphere, the mapping class group of S is the pure braid group with n strands, which has garnered considerable algorithmic attention in recent years, in particular due to its possible applications to cryptography [26].
Our Results
In this paper, we study the problem of deciding whether two embeddings G _{1} and G _{2} of the same abstract graph G on a surface S are isotopic; in other words, whether there exists a continuous family of embeddings of G (possibly moving the vertices of G) connecting G _{1} with G _{2}.
In more detail, the input to the algorithm is a description of the surface S, the graph G, and the graph embeddings G _{1} and G _{2}. All surfaces are assumed to be compact, connected, and orientable; they may have boundary. An embedding maps each vertex (or edge, or halfedge) of G to the corresponding feature on the surface. In particular, the correspondence between the vertices (or edges, or halfedges) of G _{1} and G _{2} is given.
Our algorithmic results come in two flavors, depending on the model used. In the general model, G _{1} and G _{2} are embeddings of G on an arbitrary surface S. To represent them, we use a model similar to the crossmetric surface model [8]: A graph embedding is represented by the intersections it forms with a given cellularly embedded graph. More specifically, we assume that S has a fixed graph H cellularly embedded on it (i.e., each face of H is homeomorphic to a disk; for example, H may be a triangulation of S); the input to the algorithm is the combinatorial map of the arrangement of G _{1} with H (resp., G _{2} with H).^{Footnote 2} We emphasize that the input does not consider the crossings between G _{1} and G _{2}. We give a lineartime (and thus optimal) algorithm to decide whether G _{1} and G _{2} are isotopic:
Theorem 1
Let S be an orientable surface, possibly with boundary. Let H be a fixed graph cellularly embedded on S. Let G _{1} and G _{2} be two graph embeddings of the same graph G on S, each in general position with respect to H. Given the combinatorial map of the arrangement of G _{1} with H (resp., G _{2} with H), of complexity k _{1} (resp., k _{2}), we can determine whether G _{1} and G _{2} are isotopic in O(k _{1}+k _{2}) time.
Let us emphasize that the surface S is not fixed in this result; the constant in the O(⋅) notation does not depend on S.
We also study the complexity of the problem in the case where S is the plane, minus a finite set P of obstacle points, and G _{1} and G _{2} are piecewiselinear graph embeddings of G in \(\mathbb {R}^{2}\setminus P\). In this case, the input is the point set P together with the embeddings G _{1} and G _{2}, where each edge of each embedding is represented as a polygonal path. (Again, the embeddings G _{1} and G _{2} may intersect arbitrarily.) In this setting, we prove the following result.
Theorem 2
Let P be a set of p points in the plane, and let G _{1} and G _{2} be two piecewiselinear graph embeddings of the same graph G in \(\mathbb {R}^{2}\setminus P\), of complexities (number of segments) k _{1} and k _{2} respectively. We can determine whether G _{1} and G _{2} are isotopic in \(\mathbb {R}^{2}\setminus P\) in time O(n ^{3/2}logn) time, where n is the total size of the input. In more detail, the running time is, for any ε>0,
Let us emphasize that the isotopy is a continuous family of topological embeddings; one may assume that all these embeddings are piecewiselinear, but we claim no upper bound on their complexities.
Overview of the Techniques
If two graph embeddings G _{1} and G _{2} of the same graph G are isotopic, then clearly (1) there is an oriented homeomorphism of the surface that maps G _{1} to G _{2};^{Footnote 3} and (2) if γ is a cycle in G (possibly with repeated vertices and edges), then its images in G _{1} and G _{2} are homotopic.
It was shown by Ladegaillerie [27] that such necessary conditions are, in fact, sufficient. However, the second condition is not algorithmic, since there are infinitely many cycles in G. A close inspection of Ladegaillerie’s proof reveals that O(g+b) pairs of cycles need to be tested for homotopy, where g and b denote the genus and number of boundary components of the surface. However, in Ladegaillerie’s construction, the complexity of the family of cycles is not explicitly given. With some work, and using some of our techniques, one might be able to obtain an explicit algorithm using his construction, but the running time would certainly be larger, by at least an additional O(g) factor (since Ladegaillerie’s decomposition contains a pants decomposition), if not more.
Using a very different method, we reprove Ladegaillerie’s characterization in a strengthened form (Theorem 4 below): We provide an explicit set of cycles Λ in G of linear overall complexity that have to be tested for homotopy. Our algorithmic results follow, since one can perform efficiently the homeomorphism test (this essentially amounts to checking equality of two combinatorial maps, see Sect. 2.2), as well as the test of homotopy between two given cycles (using known algorithms or variants of them [6, 12, 28]).
We note that it is not straightforward to find a suitable set Λ in G of overall linear complexity satisfying the above condition. In particular, a natural candidate for Λ would be the set of all facial cycles in G _{1} (and thus in G _{2}). However, Fig. 1 shows that the condition is not fulfilled, even in the case where the surface is the sphere with four punctures.
The paper is organized as follows. After some preliminaries (Sect. 2), we characterize the existence of an isotopy between two stable arrangements of cycles, containing no disk with less than four vertices on its boundary (Sect. 3). We then prove the aforementioned strengthened form of Ladegaillerie’s result (Sect. 4); the idea for the proof is to compute from G _{1} and G _{2} two stable arrangements of cycles in their tubular neighborhoods, which are isotopic if and only if G _{1} and G _{2} are isotopic, and to apply the characterization for stable cycles. We then deduce our main computational results in Sect. 5. In Sect. 6, we briefly indicate how our algorithms and results extend to the case where we require some vertices of the graph to be fixed throughout the isotopy.
Preliminaries
Here, we review some topological notions. We refer the reader to Hatcher [22], Stillwell [33], or any previous paper on related topics [8] for standard background in algebraic topology used in the present paper, and Farb and Margalit [18] for the connection between covering spaces, hyperbolic geometry, and surface homeomorphisms.
Background
Curves and Graphs on Surfaces
Henceforth, S is a compact, connected, orientable surface with genus g and b boundary components; its Euler characteristic is χ(S)=2−2g−b. A path, respectively a cycle, on a surface S is a continuous map p:[0,1]→S, respectively a continuous map γ:S ^{1}→S, where S ^{1} is the unit circle. An arc is a path intersecting the boundary of S exactly at its endpoints. A curve denotes a path or a cycle. Paths and cycles are simple if they are onetoone. We emphasize that, according to our definition, a cycle in a graph is a closed walk possibly with repeated vertices and edges (in contrast to the graphtheoretic notion).
An embedding of a graph G on a surface S is, informally, a crossingfree drawing of G on S. A graph embedding is cellular if its faces, namely, the connected components of the complement of the image of the graph, are homeomorphic to open disks. If G is embedded cellularly on a surface S and if we denote by v,e, and f the respective numbers of its vertices, edges and faces, we have v−e+f=χ(S)=2−2g−b.
A (finite) family of cycles on S is in general position if the cycles are in the interior of S, there are finitely many (self)intersection points, and each intersection is a transverse crossing between exactly two pieces of cycles. Similarly, a (finite) family of graph embeddings on S is in general position if all embeddings are in the interior of S, there are finitely many intersection points between two different embeddings, and each intersection is a transverse crossing of the interiors of exactly two edges. Classical approximation techniques, see for example Epstein [15, Appendix], allow us to approximate every edge in a graph embedding by a piecewise linear edge using an ambient isotopy. In particular, all graph embeddings in this paper can be assumed to be piecewiselinear. By doing small perturbations if necessary, this allows us to assume that, moreover, all the graph embeddings we consider are in general position, and we will always make this assumption unless stated otherwise.
The simultaneous drawing of a family of cycles or of graph embeddings in general position on S gives a set of vertices (original vertices or intersection points) and edges (connecting two such vertices); this graph is called the arrangement of the family. (Here we also allow edges that are simple cycles without any vertex on them.)
Homeomorphisms and Isotopies
At several occasions, we will consider a homeomorphism h that maps a cycle c:S ^{1}→S into another one, c′:S ^{1}→S. Unless stated otherwise, this expression means that h∘c=c′, namely, h pointwise maps c to c′. However, we will sometimes need weaker concepts. We say that h maps c to c′ not necessarily pointwise, but only as sets, if they do so up to reparameterization; namely, if there is a homeomorphism φ:S ^{1}→S ^{1} such that h∘c∘φ=c′. If furthermore the homeomorphism φ is increasing (intuitively, h maps c to the cycle c′ not necessarily pointwise, but the orientations of h(c) and c′ are the same), we say that h maps c to c′ not necessarily pointwise, but preserving the orientations of the cycles.
Often we will also have an abstract G and two embeddings G _{1} and G _{2} of G on a surface S; we say that a homeomorphism h maps G _{1} to G _{2} if it maps each edge of G _{1} (pointwise) to the corresponding edge of G _{2}.
Two embeddings G _{0} and G _{1} of the same abstract graph G on S are isotopic if there is a continuous family of embeddings (G _{ t })_{ t∈[0,1]} between G _{0} and G _{1}. In more detail, the data of an embedding is given by the choice of a point for each vertex and a path connecting the appropriate vertices for each edge (with some conditions asserting that no crossing occurs); a family (G _{ t }) of embeddings is continuous if all these maps vary continuously over t. (The vertices may, in particular, move.)
Two homeomorphisms h _{0} and h _{1} from S to S are isotopic if there is a continuous family of homeomorphisms (h _{ t })_{ t∈[0,1]} connecting them; the family (h _{ t }) is called an (ambient) isotopy between them. By a common abuse of language, a homeomorphism isotopic to the identity is also called an (ambient) isotopy. For A⊆S, we say that a homeomorphism h is an ambient isotopy relatively to A if there is a continuous family of homeomorphisms between h and the identity such that each homeomorphism is the identity on A.
It holds that two smooth embeddings of the cycle S ^{1} on S are isotopic if and only if there exists an ambient isotopy of S mapping one to the other (provided the two embeddings are in the interior of S); this follows from tools in differential topology (e.g., vector fields); see for instance Farb and Margalit [18, Proposition 1.11] or Hirsch [24, Theorem 1.3]. In the case of (piecewiselinear) graph embeddings, the same tools might yield the same result, but we did not find any proof in the literature. It is not an issue though, since our proof also implies the statements of Theorems 1 and 2 in which graph isotopy is replaced with ambient isotopy (see Corollaries 3 and 4).
We will need the following basic lemma.
Lemma 1
(Alexander’s Lemma; see, e.g., Farb and Margalit [18, Lemma 2.1])
Let D be a disk and h:D→D be a homeomorphism fixed on the boundary of D. Then h is an ambient isotopy relatively to the boundary of D.
Proof
We can assume that D is the unit closed disk in the plane. The continuous family of embeddings between h and the identity can be explicitly defined by
for 0≤t<1, and F(x,1)=x for each x∈D. □
Covering Spaces and Hyperbolic Geometry
If S has a negative Euler characteristic and has no boundary, it can be provided with a hyperbolic metric; this naturally induces a hyperbolic metric on its universal cover \(\widetilde{S}\), which is then isometric to the open hyperbolic disk D _{2}. This open disk is classically compactified with a boundary ∂D _{2} [18, Chap. 1], and a noncontractible cycle on S lifts into an arc in D _{2}∪∂D _{2}. We call its intersections with the boundary the endpoints of the lift or, according to the orientation of the lift, its source and its target. Two such lifts in D _{2} have common endpoints if and only if they stay at a bounded distance from each other. If S has boundary, \(\widetilde{S}\) is isometric to a totally geodesic subspace of D _{2}.
It is folklore [5, Lemma 1.6.5] that if two cycles on a surface S are homotopic, they have lifts in D _{2} with the same endpoints. We also recall that on a hyperbolic surface, every cycle is homotopic to a unique geodesic [18, Proposition 1.3].
Combinatorial Maps for Noncellular Embeddings
To each embedding G _{1} of an abstract graph G on S corresponds a combinatorial map, storing the combinatorial information of that embedding. For graphs cellularly embedded, this notion is well known, and there are several essentially equivalent data structures available to store such combinatorial maps on surfaces [25], like the gem representation [14, 29] and the halfedge data structure of Cgal.^{Footnote 4} All these data structures have linear complexity in the number of edges of the graph. The gem representation stores four flags per edge; intuitively, if the edge is oriented, two flags close to its head, one to its left and one to its right, and similarly for the tail. More formally, a flag represents an incidence between a vertex, an edge, and a face of the embedding. Three involutions allow to move from flag to an “incident” flag in the graph: The first one, i _{ v }, keeps the same edgeface incidence and moves to the opposite vertex; the second one, i _{ e }, keeps the same vertexface incidence and moves to the opposite edge; the last one, i _{ f }, keeps the same vertexedge incidence and moves to the opposite face. Also, each flag has a pointer to the underlying vertex, edge, and face of G.
Two combinatorial maps of the same graph G are isomorphic if there is a bijection φ between their sets of flags F _{1} and F _{2}, commuting with the three involutions, and such that the underlying vertex (resp., edge) of a flag f in F _{1} is the same as that of φ(f); such a bijection is called a map isomorphism. It is not hard to test whether two combinatorial maps representing two cellular embeddings G _{1} and G _{2} of the same abstract graph G on S are isomorphic in linear time. Furthermore, we have the following lemma.
Lemma 2
The combinatorial maps representing two cellular embeddings G _{1} and G _{2} of the same abstract graph G on S are isomorphic if and only if there exists a homeomorphism of S mapping G _{1} to G _{2}.
Proof
If there exists a homeomorphism of S mapping G _{1} to G _{2}, then obviously the combinatorial maps of G _{1} and G _{2} are isomorphic. Conversely, any isomorphism of combinatorial maps extends naturally to a homeomorphism between the tubular neighborhoods of the graphs. (Informally, one can build a disk for each vertex and a strip for each edge of G, and attach these disks and strips as prescribed by the combinatorial map of G _{1}, so that their union forms a tubular neighborhood of G _{1}. And one can similarly do the same for G _{2}, the gluings being combinatorially the same since the combinatorial maps are isomorphic.) This homeomorphism between the two tubular neighborhoods extends by radial extension in every disk, and since all the faces are disks, we obtain therefore a homeomorphism of the whole surface S. □
We adapt the gem representation (Fig. 2) to handle graphs that are not cellularly embedded, by adding the following information. (For simplicity of exposition, we only consider graphs without isolated vertices; it is not hard to extend the data structure to handle this case.) First, each face may be incident to several cycles of G, and stores a list containing one flag of each such cycle. Conversely, each flag has a pointer to the face it belongs to. Also, a face may have nonzero genus and contain some boundary components of S, so we store this genus and number of boundary components of S.
Two such extended combinatorial maps ^{Footnote 5} are isomorphic if, in addition to the conditions above for standard combinatorial maps, the corresponding faces have the same genus and the same number of boundary components of the surface. The corresponding bijection will be called an extended map isomorphism. As in the cellular case, one can check whether two extended combinatorial maps of two embeddings G _{1} and G _{2} of G are isomorphic in linear time in their complexity. And as in the standard case, we have the following lemma.
Lemma 3
Two extended combinatorial maps of G _{1} and G _{2} are isomorphic if and only if there exists a homeomorphism of the surface mapping G _{1} to G _{2}.
Proof
The proof is similar to that of Lemma 2. The isomorphism extends to a homeomorphism between the neighborhoods of the graphs G _{1} and G _{2}; since each face of G _{1} has the same topology as the corresponding one in G _{2}, this homeomorphism extends naturally to the whole surface. □
Our construction does not depend on whether S is orientable. If S is oriented, a flag has a natural orientation, depending on whether we turn clockwise or counterclockwise around the vertex of the flag when starting on the edge of the flag, close to the vertex, and moving towards the face of the flag. Furthermore, each of the three involutions reverses the orientation. An orientation of an extended combinatorial map assigns an orientation “clockwise” or “counterclockwise” to each flag such that each involution reverses the orientation of the flag. There exists an orientationpreserving isomorphism between two oriented extended combinatorial maps if they are isomorphic as extended combinatorial maps and the bijection between the flags preserves the orientation. This can also be tested in linear time. Equivalently, there exists an oriented homeomorphism of the surface mapping one graph embedding to the other.
Isotopies of Stable Families of Cycles
Let Γ be a family of cycles in general position on S. A kgon in Γ, for k≥1, is an open disk on S whose boundary is formed by exactly k subpaths of Γ. A 0gon is a disk whose boundary is a single simple cycle in Γ. In general, kgons may contain and may be crossed by other pieces of the arrangement of Γ; if this is not the case, we say that the kgon is empty.
We say that Γ is stable if its arrangement contains no empty kgon for k≤3. In this section, we prove the following result.
Theorem 3
Let S be an orientable surface and let Γ _{1}=(γ _{1,1},…,γ _{1,n }) and Γ _{2}=(γ _{2,1},…γ _{2,n }) be two stable families of cycles on S in general position such that:

1.
There exists an oriented homeomorphism h of S mapping each cycle γ _{1,j } of Γ _{1} to the corresponding cycle γ _{2,j } of Γ _{2} not necessarily pointwise, but preserving the orientations of the cycles, and

2.
Each cycle of Γ _{1} is homotopic to the corresponding cycle of Γ _{2}.
Then there is an isotopy of S that maps each cycle of Γ _{1} to the corresponding cycle of Γ _{2}, not necessarily pointwise, but preserving the orientations of the cycles.
We note that conversely, if there exists an ambient isotopy of S mapping Γ _{1} to Γ _{2}, then conditions (1) and (2) are satisfied.
As a side remark, we will actually use this result in a setting where we know that h maps each cycle of Γ _{1} pointwise to the corresponding cycle of Γ _{2}; however, even under this stronger hypothesis, it does not always hold that there exists an isotopy of S that maps each cycle in Γ _{1} pointwise to the corresponding cycle of Γ _{2}; see Fig. 3. The following corollary adds another hypothesis to ensure that this does not happen. It will be not used directly in this paper, but inspires the techniques used in Sect. 4.
Corollary 1
Let S be an orientable surface and let Γ _{1}=(γ _{1,1},…,γ _{1,n }) and Γ _{2}=(γ _{2,1},…γ _{2,n }) be two stable families of cycles on S in general position such that:

1.
There exists an oriented homeomorphism h of S mapping each cycle γ _{1,j } of Γ _{1} to the corresponding cycle γ _{2,j } of Γ _{2} not necessarily pointwise, but preserving the orientations of the cycles, and

2.
Each cycle of Γ _{1} is homotopic to the corresponding cycle of Γ _{2}.
If there is only one orientationpreserving map automorphism of Γ _{1}, namely the identity, then there is an ambient isotopy of S mapping each cycle of Γ _{1} to the corresponding cycle of Γ _{2} pointwise.
Proof
Theorem 3 shows that there is an ambient isotopy mapping each cycle of Γ _{1} to the corresponding cycle of Γ _{2} that is not necessarily pointwise, but preserves the orientation of each cycle. Hence this ambient isotopy induces an orientationpreserving map isomorphism between Γ _{1} and Γ _{2}. But the extended combinatorial maps of Γ _{1} and Γ _{2} are the same, since there exists an oriented homeomorphism between them. We thus get an orientationpreserving map automorphism of Γ _{1}, and it has to be the identity. This means that each vertex of the arrangement of Γ _{1} is mapped to the corresponding vertex of the arrangement of Γ _{2}, and similarly for each edge of these arrangements (which are mapped with the same orientation). After an isotopy in a neighborhood of these edges, we get a pointwise ambient isotopy. □
The remaining part of this section is devoted to the proof of Theorem 3 if the surface S has negative Euler characteristic. The proof for the remaining surfaces uses slightly different tools and is deferred to Sect. 7.
Basic Consequences of Euler’s Formula
The following lemmas are simple consequences of Euler’s formula.
Lemma 4
Assume just for this lemma that S is a sphere. Let G be a connected (hence cellularly embedded) graph on S, such that every vertex has degree four. Then there are at least three faces in G with degree smaller than four.
Proof
Let v, e, and f denote the number of vertices, edges, and faces of G. The sum of the degrees of all faces is 2e, which, by Euler’s formula v−e+f=2 and doublecounting of the vertexedge incidences 4v=2e, equals 4f−8. Since every face has degree at least one, if at most two faces have degree smaller than four, the sum of the degrees of all faces is at least 4f−6. This is a contradiction. □
A trivial corollary is the following:
Corollary 2
Assume just for this corollary that S is a sphere, a disk, or an annulus. Let G be a connected graph embedded on S, such that every vertex has degree four. Then there is at least one face in G with degree smaller than four.
Proof
Let \(\bar{S}\) be the sphere obtained from S by attaching a disk to each of the boundary components of S. The graph G is embedded on \(\bar{S}\), and by Lemma 4 it contains at least three faces (on \(\bar{S}\)) with degree smaller than four. At least one of these faces does not contain the disks attached to S, since there are at most two such disks. □
Lemma 5
Let Γ be a stable family of cycles in a surface S. Then no kgon can exist in Γ for k≤3.
Proof
Consider a hypothetical kgon D for Γ, with k≤3. We prove that D strictly contains another k′gon with k′≤3, which is a contradiction, since by induction this would give an infinite family of kgons in a finite graph.
Assume first that D has exactly k vertices on its boundary; in other words, no cycle crosses the boundary of D. Since D cannot be an empty kgon, there must be a connected component Γ′ of the arrangement of Γ that is entirely inside D. Corollary 2 implies that Γ′ contains empty k′gons with k′≤3 inside D, and thus D contains a smaller k′gon, as desired.
Assume now that D has at least k+1 vertices on its boundary, i.e., it intersects at least another cycle in Γ. Consider the restriction of the arrangement of Γ to the closed disk D, and let G be the connected component of that restriction that contains the boundary of D. To prove the lemma, it suffices to prove that G has an interior face of degree at most three. We now assume that every interior face of G has degree at least four, and will reach a contradiction.
G has two types of edges: e _{ext} external edges lying on the boundary of the kgon, and e _{int} internal edges. Similarly, it has three types of vertices: v _{int} vertices in the interior of the kgon, v _{flat} degreethree vertices on the boundary of the kgon, and v _{extr}=k degreetwo vertices on the boundary of the kgon. Let f denote the number of interior faces of G in the plane. By doublecounting arguments, we obtain:
Euler’s formula implies
With (1), this gives v _{extr}≥4 which yields a contradiction and concludes the proof. □
Following the Geodesics
We recall that Γ _{1}=(γ _{1,1},…,γ _{1,n }) and Γ _{2}=(γ _{2,1},…γ _{2,n }) are two stable families of cycles on S in general position satisfying the hypotheses of Theorem 3. Since we assume that the Euler characteristic of S is negative, we can endow S with a hyperbolic metric and identify \(\widetilde{S}\) with a subset of the open hyperbolic disk. For each j, if γ _{1,j } is not nullhomotopic, let g _{ j } be the unique geodesic homotopic to it. (Some g _{ j }’s may be identical.)
The following result uses a proposition by de Graaf and Schrijver [11, Proposition 13], the proof of which is based on a slight refinement of Ringel’s theorem [32] for arrangements of curves in the disk. It allows us to push each curve in Γ _{1} and Γ _{2} in the neighborhood of the corresponding geodesic.
Proposition 1
No cycle in Γ _{1} and Γ _{2} is nullhomotopic. Furthermore, for i=1,2, for each ε>0, up to replacing Γ _{ i } with its image by an ambient isotopy of S, we may assume that each cycle γ _{ i,j } has a lift that belongs to an εneighborhood of a lift of g _{ j }.
Proof
It follows from the aforementioned result by de Graaf and Schrijver [11, Proposition 13] that the cycles γ _{ i,j } in Γ _{ i } can be moved through Reidemeister moves (not increasing the number of crossings) and ambient isotopies into cycles which have lifts that are εclose to some lift of a geodesic α _{ j } if γ _{ i,j } is not nullhomotopic, and εclose to a point of \(\widetilde {S}\) otherwise. As Γ _{ i } is stable, no Reidemeister move at all is possible, so the only possible moves are actually isotopies of the surface.
Now, assume that γ _{ i,j } is nullhomotopic. For ε small enough, γ _{ i,j } is a contractible cycle in a disk; hence if it is simple, it forms a 0gon; and if it is nonsimple, by Corollary 2, it contains a kgon for some k≤3. This contradicts the stability of Γ _{1} and Γ _{2}, hence no cycle γ _{ i,j } is nullhomotopic.
Now, since lifts of γ _{ i,j } and α _{ j } are εclose, they share the same endpoints and thus α _{ j } is the unique geodesic homotopic to γ _{ i,j }, which shows that α _{ j }=g _{ j } and concludes the proof. □
So henceforth we assume that Γ _{1} and Γ _{2} satisfy the conclusion of the above proposition.
The union of the geodesics g _{ j } forms a graph, possibly with simple cycles without vertices, on the surface S; we denote by E and V its edges and vertices, see Fig. 4. (Simple cycles without vertex are considered to be closed edges.) Each vertex has even degree, and each geodesic arriving at a vertex from an edge leaves it via the opposite edge.
Now, following ideas by de Graaf and Schrijver [11], we introduce a polygonal decomposition of an εneighborhood of the graph (V,E); see Fig. 4. With each edge e∈E we associate an edge polygon P _{ e } (actually, a quadrilateral), and with each vertex v∈V of degree 2d we associate a vertex polygon P _{ v } with 2d sides, such that each edge e=uv lies in the interior of P _{ e }∪P _{ u }∪P _{ v } and v lies in the interior of P _{ v }, and such that the union of all the polygons forms a tubular neighborhood of the cycles g _{ i }.^{Footnote 6} We can assume that all the polygons are mutually disjoint, except for P _{ e } and P _{ u } for u a vertex incident to e, which share an edge.
Let us call a corridor the polygonal neighborhood of a single geodesic g _{ i }, that is ⋃P _{ e }∪⋃P _{ u } for all e and u in g _{ i }. Every cycle in Γ _{ i } belongs to a single corridor.
The following proposition is proved using Lemmas 4 and 5 and by standard bigon flipping arguments.
Proposition 2
For i=1,2, up to replacing Γ _{ i } with its image under an ambient isotopy of S, we may assume that:

each maximal piece of a cycle in Γ _{ i } within a polygon is simple, and has its endpoints on opposite sides of the polygon;

two such pieces cross at most once; moreover, if they cross, then the four endpoints of these two pieces are all in different sides of the polygon (in particular, the polygon is a vertex polygon).
Proof
If a maximal piece of Γ _{ i } within a polygon is nonsimple, it forms a 1gon, which is impossible (Lemma 5). If two pieces cross twice, they form a 2gon, which is impossible for the same reason.
If such a piece has its endpoints on two different sides of a polygon that are not opposite in that polygon, that polygon is a vertex polygon, and the corresponding cycle does not belong to a single corridor, which is impossible by construction.
If such a piece p has its endpoints on the same side s of a polygon, without loss of generality assume that the disk D bounded by s and p contains no other piece with both endpoints on s. Thus the pieces inside D are simple, pairwise disjoint (otherwise these two pieces would form a 3gon with p), and connect s to p; so with an isotopy of the surface, we can push p across s, decreasing the total number of intersections between the cycles and the sides of the polygon. After finitely many such operations, no such piece p exists.
There only remains to prove that there cannot be any (self)intersection among cycles in the same corridor C. We distinguish two cases:

If C contains at least one vertex polygon, some cycle crosses every cycle in C; if there were a (self)intersection in C, there would be a 3gon.

On the other hand, if the corridor C contains no vertex polygon, then C is an annulus. Consider the arrangement of the cycles in Γ, and assume there is a crossing. One connected component of this arrangement is a graph where all vertices have degree four. Thus, by Corollary 2, Γ contains a kgon for k≤3, contradicting Lemma 5. □
We can now assume that Γ _{1} and Γ _{2} satisfy the conclusion of Proposition 2. It follows that all the arcs of Γ _{ i } in a given edge polygon P _{ e } are simple, disjoint, and belong to different cycles. Moreover, each polygon P _{ v } is actually a quadrilateral, because otherwise three arcs in P _{ v } coming from six different sides would cross inside P _{ v }, yielding a 3gon because of the general position assumption, which is impossible (Lemma 5). Finally, within each polygon P _{ v }, the arcs intersect in a gridlike fashion, as in Fig. 4.
A Technical Result on Corridors
Henceforth, let us choose an arbitrary orientation on S. Let C be a corridor, oriented in the direction of its geodesic g; let C _{ l } and C _{ r } be the left and right boundaries of C, respectively. We recall that h is the oriented homeomorphism specified in the hypotheses of Theorem 3.
Let \(\varGamma_{1}^{C}\) be the subfamily of cycles in Γ _{1} that belong to C, and let \(\varGamma_{2}^{C}\) be its image by h. Recall that \(\varGamma_{i}^{C}\) has no crossing in an edge polygon P _{ e }. For i=1,2, the ordering of \(\varGamma_{i}^{C}\) along C is defined as follows: Consider an arc in an edge polygon P _{ e }, going from C _{ l } to C _{ r }, crossing each cycle in \(\varGamma_{i}^{C}\) exactly once, and record the index of the cycles in Γ _{ i } encountered, in this order along the arc. By construction, this ordering does not depend on the choice of the polygon and arc.
Lemma 6
The orderings of \(\varGamma_{1}^{C}\) and \(\varGamma_{2}^{C}\) are the same.
Proof
We first claim that the oriented homeomorphism h:S→S lifts to an oriented homeomorphism \(\widetilde{h}:\widetilde {S}\rightarrow \widetilde {S}\). Indeed, if we denote by π the projection \(\pi: \widetilde {S}\rightarrow S\) and apply the lifting theorem [22, Proposition 1.33] to h∘π, we get^{Footnote 7} a continuous map \(\widetilde{h}:\widetilde {S}\rightarrow \widetilde {S}\) satisfying \(\pi\circ \widetilde {h}=h\circ\pi\). Let \(x\in \widetilde {S}\) and \(y=\widetilde{h}(x)\). Similarly, we lift h ^{−1} to a continuous map \(\widetilde {h^{1}}\) such that \(\widetilde {h^{1}}(y)=x\). Then \(\widetilde {h^{1}}\) and \(\widetilde {h}\) are inverse continuous maps on \(\widetilde {S}\), so \(\widetilde {h}\) is a homeomorphism. Furthermore, \(\widetilde{h}\) is oriented because h is oriented.
Let \(\widetilde{g}\) be the lift of a geodesic inside a lift \(\widetilde{C}\) of C. The homeomorphism \(\widetilde{h}\) maps \(\widetilde{g}\) into a possibly different lift of C. However, up to composing \(\widetilde{h}\) with a deck transformation of \(\widetilde {S}\), we may assume that \(\widetilde{h}\) maps \(\widetilde{g}\) into \(\widetilde{C}\). Furthermore, \(\widetilde{g}\) and its image by \(\widetilde{h}\) have the same orientation in \(\widetilde{C}\), because otherwise the endpoints of each lift of \(\varGamma_{1}^{C}\) in \(\widetilde{C}\) would be exchanged under \(\widetilde{h}\), which is not the case since h preserves the homotopy classes of the cycles in \(\varGamma_{1}^{C}\). Therefore, \(\widetilde{h}\) maps \(\widetilde{g}\) to a path in \(\widetilde {C}\) with the same source and target. Since \(\widetilde{h}\) is oriented, the orderings of the cycles in \(\widetilde{\varGamma}_{1}^{C}\) and \(\widetilde{\varGamma}_{2}^{C}\), from left to right in \(\widetilde{C}\), are the same. It follows that they are also the same in C. □
End of the Proof
Proof of Theorem 3
Let P _{ v } and P _{ e } be incident vertex and edge polygons, respectively, and let p be the path that is their common boundary. We first build an isotopy of the surface such that, when restricting to p, the image of each cycle in Γ _{1} is the same as the corresponding cycle in Γ _{2}. For this purpose, note that the restriction of Γ _{1} to p is a finite set of points, and similarly for Γ _{2}; furthermore, the numbers of points are the same (by Lemma 6). We can easily push the intersection points on p so that they coincide, by an isotopy of S that is the identity outside a neighborhood of p. Lemma 6 now implies that, after this isotopy, each arc in P _{ e } corresponds to the same cycle in Γ _{1} and Γ _{2}.
We can do this operation for every intersection p of a vertex and an edge polygon. Now, within each edge polygon, the arcs of Γ _{1} are simple, pairwise disjoint and in the same order as the arcs of Γ _{2}; thus, there exists a homeomorphism from P _{ e } to P _{ e } that is the identity on its boundary and maps the image of Γ _{1} inside P _{ e } to the image of Γ _{2} inside P _{ e }. By Alexander’s Lemma, this homeomorphism is an ambient isotopy. Now, within each edge polygon P _{ e }, the images of Γ _{1} and Γ _{2} are the same, and each arc corresponds to the same cycle in Γ _{1} and Γ _{2}.
Now, within each vertex polygon P _{ v }, the endpoints of the arcs of Γ _{1} and Γ _{2} coincide; moreover, they form combinatorially isomorphic arrangements of arcs (namely, grids) inside P _{ v }. The same argument as above shows that an isotopy of P _{ v } maps the arcs of Γ _{1} to the arcs of Γ _{2}.
Finally, we have found an ambient isotopy i of S that maps each cycle γ _{1,j } in Γ _{1} to the corresponding cycle γ _{2,j } in Γ _{2}, as sets but not necessarily pointwise. Furthermore, since i(γ _{1,j }) is homotopic to γ _{1,j }, it is also homotopic to γ _{2,j }, so the ambient isotopy i preserves the orientations of the cycles. □
Isotopies of Graph Embeddings
In this section, we prove the following result.
Theorem 4
Let G _{1} and G _{2} be two graph embeddings of a graph G on an orientable surface S. Assume that there is an oriented homeomorphism h of S mapping G _{1} to G _{2}. There exists a family Λ of cycles in G such that the following holds: If, for each cycle γ in Λ, the images of γ in G _{1} and G _{2} are homotopic, then there exists an ambient isotopy of S taking G _{1} to G _{2} pointwise.
Furthermore, the cycles in Λ use each edge of G at most four times in total and, given only the combinatorial map of G _{1} on S, one can compute the cycles of Λ in linear time in the complexity of that combinatorial map.
Note that, by the homeomorphism condition, the combinatorial maps of G _{1} and G _{2} on S have to be the same. We also emphasize that in contrast to Theorem 3, the ambient isotopy we obtain is pointwise.
Conversely, if G _{1} and G _{2} are isotopic (in particular, if there is an ambient isotopy taking G _{1} to G _{2}), there must exist an oriented homeomorphism mapping one to the other, and the images of any cycle of G in G _{1} and G _{2} are homotopic. Therefore, Theorem 4 implies Ladegaillerie’s result [27] stated in the introduction, and also:
Corollary 3
Let G _{1} and G _{2} be two graph embeddings of a graph G in the interior of an orientable surface S. Assume that there exists an isotopy between G _{1} and G _{2}. Then there exists an ambient isotopy of S between G _{1} to G _{2}.
In our proof of Theorem 4, if the input graph embeddings are piecewiselinear with respect to a fixed triangulation of S (which we can assume, after an ambient isotopy, by using techniques as in Epstein [15, Appendix]), our ambient isotopy can be chosen so as to be piecewiselinear. In particular:
Corollary 4
Let G _{1} and G _{2} be two piecewiselinear graph embeddings of a graph G in the interior of an orientable surface S. Assume that there exists a (not necessarily piecewiselinear) isotopy between G _{1} and G _{2}. Then there exists a piecewiselinear ambient isotopy of S between G _{1} to G _{2}.
For the proof of Theorem 4, the difficulty of the construction resides in the fact that the families Λ _{1} and Λ _{2} (the images of Λ in G _{1} and G _{2}) must have small complexity. In a sense, Λ _{1} forms a topological decomposition of the tubular neighborhood of G _{1} using cycles. However, all known topological decompositions of surfaces made of cycles (like pants decompositions [9], octagonal decompositions [8], or systems of loops [16]) have worstcase complexity Ω(gn), where n is the complexity of the surface; our construction has linear size in the complexity of the object studied. We suspect that our construction can be useful for other purposes as well.
Preprocessing Step
For the proof of Theorem 4, we assume for simplicity of exposition that G _{1} and G _{2} are known. It is immediate to check that, actually, only the combinatorial map of G _{1} on S is needed in the constructions.
Proposition 3
Without loss of generality, we may assume that (1) G _{1} has a single face, or none of its faces is a disk, and (2) G _{1} has no vertex of degree zero or one. Via the oriented homeomorphism h, the same holds for G _{2}.
Intuitively, the proof is simple: Whenever e is an edge of G bounding two different faces, at least one of which is a disk, removing e in G _{1} and G _{2} does not change whether G _{1} and G _{2} are isotopic. Similarly, removing vertices of degree zero has no effect on the existence of an isotopy.
In more detail, we will need the following two lemmas.
Lemma 7
Let e be an edge of G bounding two different faces, at least one of which is a disk, in the embedding G _{1} (and thus also in G _{2}). Let \(G'_{1}\) and \(G'_{2}\) be the embedded graphs obtained after the removal of e. Then G _{1} and G _{2} are ambient isotopic if and only if \(G'_{1}\) and \(G'_{2}\) are ambient isotopic.
Proof
The direct implication is obvious. Now, assume we have an isotopy i mapping \(G'_{1}\) to \(G'_{2}\); we want to deduce that there is an isotopy mapping e _{1} to e _{2} (the images of e in G _{1} and G _{2}). By composition with i, we may assume that \(G'_{1}=G'_{2}\). By the existence of h, we know that e _{1} and e _{2} are arcs with the same endpoints in the same face of \(G'_{1}=G'_{2}\); furthermore, that face is split into two pieces, one of which is a disk, by e _{1} (resp., e _{2}).
The rest of the proof is illustrated in Fig. 5. Since one of the faces bounded by e _{1} is a disk, e _{1} can be isotoped (with fixed extremities) to a neighborhood of the curve c closing this disk, and the same goes for e _{2}. After this isotopy, consider a disk neighborhood of c containing both e _{1} and e _{2}. Since these two edges have the same endpoints in this disk, the Jordan–Schönflies theorem implies that there is a homeomorphism of the disk, fixed on the boundary, that maps one to another; then, by Alexander’s Lemma, that homeomorphism can be obtained by an isotopy of the disk.
□
Lemma 8
Let v be a vertex of G of degree one, and let e be its incident edge. Let \(G'_{1}\) and \(G'_{2}\) be the embedded graphs obtained after the removal of e and v. Then G _{1} and G _{2} are ambient isotopic if and only if \(G'_{1}\) and \(G'_{2}\) are ambient isotopic.
Proof
Again, one direction is trivial; the converse can be proved using similar ideas as the previous lemma. Here, the topological statement that is used is the following: Let p be a point on the boundary of a disk, and let e _{1} and e _{2} be two simple paths having p as an endpoint and intersecting the boundary of the disk exactly at p; then there is an ambient isotopy of the disk, fixed on its boundary, that maps e _{1} to e _{2}. This again follows by an application of the Jordan–Schönflies theorem and Alexander’s Lemma (by first extending e _{1} and e _{2} to simple arcs with the same endpoints). □
Proof of Proposition 3
We show below how to build in linear time a subgraph G″ of G satisfying the desired properties and such that, if \(G''_{1}\) (resp., \(G''_{2}\)) denotes the restriction of G _{1} (resp., G _{2}) to G″, then G _{1} and G _{2} are ambient isotopic if and only if \(G''_{1}\) and \(G''_{2}\) are ambient isotopic. This is enough to prove the proposition.
Let G=(V,E). We initially set E′:=E, and, for each edge of E′ in turn, we remove it from E′ if and only if it is incident to two distinct faces of (V,E′), at least one of which is a disk (in the embedding G _{1} or G _{2}). This is easy to do in linear time, by initially labeling each face of (V,E′) with its topology (genus and number of boundary components) and maintaining this labeling during the process.
Let \(G'_{1}\) and \(G'_{2}\) be the embeddings of (V,E′) induced by G _{1} and G _{2}, respectively. Lemma 7 implies that G _{1} and G _{2} are isotopic if and only if \(G'_{1}\) and \(G'_{2}\) are isotopic. Furthermore, if \(G'_{1}\) has at least two faces, one of which is a disk, there exists an edge in \(G'_{1}\) incident to a disk and to another face; such an edge would have been removed in the process, which is a contradiction. So the first condition is satisfied.
Moreover, we can, in linear time, iteratively remove all degreeone vertices with their incident edges, until no degreeone vertex remains. (Put all degreeone vertices in any listtype data structure; while the structure is nonempty, extract any vertex; if it still has degree one, remove it with its incident edge; if the opposite vertex on that edge has now degree one, add it to the structure; repeat.) Lemma 8 implies that G _{1} and G _{2} are isotopic if and only if these new graph embeddings, \(G''_{1}\) and \(G''_{2}\), are isotopic.
Finally, if \(G''_{1}\) (and \(G''_{2}\)) have isolated vertices, we can safely remove them: Since there is a homeomorphism of S taking G _{1} to G _{2}, the isolated vertices belong to the same faces in both embeddings. □
Proposition 3 leads us to distinguish two cases, leading to slightly different constructions depending on whether after the preprocessing, G _{1} has a single face, or none of its faces are disks. We describe the latter first, as the former will build on it; it will be described in Sect. 4.3.
Proof of Theorem 4 if no Face is a Disk
In this section, we prove Theorem 4 in the special case where no face of G _{1} (or, equivalently, G _{2}) is a disk. We can assume without loss of generality that G _{1} satisfies the properties of Proposition 3.
Construction of the Stable Family Γ
We first build a family Γ of cycles in G whose images in G _{1} or G _{2} are slight perturbations of stable families Γ _{1} and Γ _{2}. If the images of each cycle in Γ in G _{1} and G _{2} are homotopic, then this almost implies that G _{1} and G _{2} are isotopic, which suffices to prove Theorem 4. Unfortunately, this is not entirely true, and we need to test a larger family Λ⊃Γ for homotopy.
Proposition 4
In linear time, we can construct a family of cycles Γ in G such that:

each edge of G is used at most twice by all the cycles in Γ;

there exists a stable family Γ _{1} on S whose cycles are homotopic (by an arbitrarily small perturbation) to the cycles in the images of Γ in G _{1};

G _{1} does not meet the interior of the faces of the arrangement of Γ _{1} that are not disks.
Proof
It is actually simpler to explain the construction of Γ _{1} first; see Fig. 6 for an example. For simplicity of notation, we let G _{1}:=(V,E). Recall that the cyclomatic number of a connected graph is the minimum number of edges one needs to delete to obtain a tree. Equivalently, it equals its number of edges, minus its number of vertices, plus one.
Let (V′,E′) be a connected component of (V,E). By Proposition 3, we can assume that each vertex has degree at least two; in particular, (V′,E′) has cyclomatic number at least one.

If (V′,E′) has cyclomatic number one, then it must be a single cycle. In this case, we add that cycle to Γ _{1}.

Otherwise, (V′,E′) has cyclomatic number at least two. We add to Γ _{1} the cycles that are the boundaries of a tubular neighborhood of (V′,E′). Let E″ be the edge set of a spanning tree of (V′,E′). For each edge e∈E′∖E″, we introduce a “crossover” as in Fig. 6 (top) on the two pieces of Γ _{1} that run along edge e: Instead of locally having two pieces of cycles that run along edge e without touching it, we now have two pieces of cycles in the neighborhood of edge e that cross at a single interior point of e. Of course, this operation may change the number of cycles of Γ _{1} and create selfintersections. See Fig. 6.
We now prove that Γ _{1} is a stable family. By construction, for each connected component, the cycles in Γ _{1} do not intersect the chosen spanning tree of (V′,E′). Let f be a face of the arrangement of the cycles in Γ _{1}. We have to prove that f is not a kgon with k≤3. Following the definition of Γ _{1}, we observe that f is either an inner disk, namely, a disk containing entirely a spanning tree (V′,E″) of some connected component of (V,E), or is contained entirely in a single face of (V,E).

Assume first that f is an inner disk, containing the spanning tree (V′,E″). By construction, (V′,E′) has cyclomatic number at least two, so E′∖E″≥2. Each edge e∈E′∖E″ corresponds to a single crossing between cycles of Γ _{1}, and this crossing appears twice along the boundary of f; so f has 2E′∖E″≥4 crossings of Γ along its boundary.

Otherwise, f has the same topology as a face of (V,E), and therefore cannot be a disk.
Hence Γ _{1} is a stable family. It follows from the construction that the computation of Γ _{1} takes linear time in the complexity of the combinatorial map of G _{1}. The cycles in Γ _{1} have been constructed in a tubular neighborhood of the graph G _{1}; more precisely, by construction, they run along a side of the edges of G _{1}, swapping side whenever they run along an edge not in a spanning tree. Therefore (by retracting the tubular neighborhood) they naturally correspond to a family of cycles Γ in G, and deducing the family Γ from Γ _{1} takes linear time. All these cycles use each edge of G at most twice. Furthermore, also by construction, G _{1} is included in Γ _{1} and in the faces of Γ _{1} that are disks. □
The basic idea of the proof is as follows. Assume that each cycle in Γ _{1} is homotopic to the corresponding cycle in Γ _{2}. Theorem 3 implies that, after an ambient isotopy of S, we can assume that each cycle in Γ _{1} coincides with the corresponding cycle in Γ _{2} not necessarily pointwise, but with the same orientation. If this was the case pointwise, then, since G _{ i } is “surrounded” by cycles in Γ _{ i }, this would imply that G _{1} and G _{2} almost coincide and could be moved one into the other by another isotopy. However, the first isotopy does not necessarily map Γ _{1} to Γ _{2} pointwise, and we need to test that a few more pairs of cycles are homotopic to ensure that it is the case.
Fixing the Map Automorphism
We now prove:
Proposition 5
In linear time, we can construct a family of cycles Λ in G such that:

each edge of G is used at most thrice by all the cycles in Λ.

if we denote by Λ _{1} and Λ _{2} the images of Λ in G _{1} and G _{2}, if every cycle in Λ _{1} is homotopic to its counterpart in Λ _{2}, then an ambient isotopy of S maps Γ _{1} to Γ _{2} pointwise.
We will need the following rather independent lemma in the course of the proof.
Lemma 9
Let C be a family of simple cycles on S, pairwise disjoint except at a single point p, where two cycles may or may not cross. Assume that no component of S∖C is a disk bounded by one or two cycles. Then the cycles in C are pairwise (freely) nonhomotopic.
Proof
We will use the fact that two simple homotopic cycles cross transversely an even number of times (because they form bigons [18, Proposition 1.7]).
First, no cycle in C is contractible; otherwise, it would bound a disk on the surface. The cycles inside that disk are all contractible, and therefore do not cross at p because of the aforementioned fact. Taking an innermost such cycle, we obtain a component of S∖C bounded by one cycle, contradicting the assumption.
Assume now for the sake of a contradiction that two cycles c _{1} and c _{2} are homotopic. They meet at point p without crossing transversely. After a local perturbation, these cycles become disjoint, and therefore bound an annulus [15, Lemma 2.4]. Thus, the unperturbed cycles can be viewed as two loops ℓ _{1} and ℓ _{2} based at p that bound a disk. There may be other cycles inside that disk, but in all cases a face inside it is a disk bounded by one or two cycles, which is impossible. □
Proof of Proposition 5
The family Λ is the union of the stable family Γ defined in Proposition 4 and of the family Φ defined as follows. Recall that in the proof of Proposition 4, we considered each connected component (V′,E′) of the graph G=(V,E) in turn. If (V′,E′) had cyclomatic number at least two, we considered the edge set E″ of a spanning tree of (V′,E′). A fundamental cycle of (V′,E′) is a simple cycle in (V′,E′) containing exactly one edge in E′∖E″. We put in Φ an arbitrary fundamental cycle for each connected component (V′,E′) of cyclomatic number at least two. The fundamental cycles of a connected component (V′,E′) can be extended towards an arbitrary root p of the spanning tree (V′,E″) and then slightly perturbed on S so that they become simple and pairwise disjoint except at p, where they may or may not cross. The faces of this new family C of perturbed cycles correspond to the faces of (V′,E′). Moreover, C satisfies the hypotheses of Lemma 9: Indeed, if there is a disk in S∖C bounded by one or two cycles, there must be at least one connected component of G _{1} inside it because no face of G _{1} is a disk; but then this connected component is contractible, which is absurd since the preprocessing removed all the contractible components of G _{1}. Hence, the fundamental cycles of any given connected component (V′,E′) are pairwise nonhomotopic.
Clearly the family Λ=Γ∪Φ can be computed in linear time and uses each edge of G at most thrice. Assume that, for each cycle λ in Λ, the images of λ in G _{1} and G _{2} are homotopic. There remains to prove that some isotopy of S maps Γ _{1} to Γ _{2} pointwise.
By Proposition 4, Γ _{1} is a stable family, and of course Γ _{2}:=h(Γ _{1}) as well. Since each cycle in Γ _{1} is homotopic to the corresponding cycle in Γ _{2}, Theorem 3 implies that some isotopy of S takes Γ _{1} to Γ _{2}, not necessarily pointwise, but preserving the orientations of the cycles.^{Footnote 8} Therefore, up to composing with this isotopy, we can assume that each cycle in Γ _{1} coincides, as a set, with the corresponding cycle in Γ _{2}, and with the same orientation. Hence, this isotopy induces an orientationpreserving map isomorphism i between Γ _{1} and Γ _{2}, and since Γ _{1} and Γ _{2} have the same extended combinatorial maps, i can be viewed as an orientationpreserving map automorphism of Γ _{1}. As each cycle in Γ _{1} is isotoped to the corresponding cycle in Γ _{2}, i maps each connected component of Γ _{1} to itself, and it maps each crossing of Γ _{1} to a crossing of Γ _{1}.
We now want to ensure that i is the identity map automorphism, which would imply the existence of a pointwise ambient isotopy between Γ _{1} and Γ _{2} (as in the proof of Corollary 1). However, this is not necessarily the case, as was pictured in Fig. 3.
Let (V′,E′) be a connected component of G; let \(\varGamma'_{1}\) be the arrangement of the cycles of Γ _{1} corresponding to that connected component. If (V′,E′) has cyclomatic number one, by construction, \(\varGamma'_{1}\) is just a cycle, which i maps to itself, preserving its orientation; so i is the identity map automorphism on \(\varGamma'_{1}\).
Otherwise, (V′,E′) has cyclomatic number at least two. We first note that \(\varGamma'_{1}\) is connected; indeed, the inner disk D of (V′,E′) is bounded by all cycles in \(\varGamma'_{1}\). Moreover, the faces of Γ _{1} that are disks are exactly the inner disks; so i maps inner disks to inner disks, and therefore maps D to itself.
Let v be the vertex of \(\varGamma'_{1}\) corresponding to the cycle φ in Φ=Λ∖Γ (see Fig. 7). If i maps v to another vertex v′ of \(\varGamma'_{1}\), as the inner disk is mapped to itself, i necessarily maps φ to a cycle in the inner disk crossing v′ once, i.e. another fundamental cycle in (V′,E′), which is, as shown above, not homotopic to φ; this is a contradiction. So i maps v to itself. Furthermore, if we orient the four edges incident to v with the orientation of the corresponding cycles, v has two outgoing edges, consecutive in the cyclic order around v, and two incoming edges, also consecutive. Since i maps each edge to another edge with the same orientation, it maps v to v, and it is an orientationpreserving map automorphism, it must thus map each edge incident to v to itself, with the same orientation. Since \(\varGamma'_{1}\) is connected, by propagation we deduce that i is the identity map automorphism on \(\varGamma'_{1}\), which concludes the proof.
□
End of Proof of Theorem 4
We now conclude the proof of Theorem 4 if none of the faces of G _{1} are disks.
According to the hypotheses, for all the cycles γ∈Λ, the images of γ in G _{1} and G _{2} are homotopic, which implies by Proposition 5 that we can assume that Γ _{1}=Γ _{2} pointwise. Then, each face of Γ _{1} is mapped by h to itself, because h is an oriented homeomorphism.
In particular, G _{1}∩Γ _{1}=G _{2}∩Γ _{2}. In every disk of S∖Γ _{1}=S∖Γ _{2}, the oriented homeomorphism h is the identity on the boundary; therefore, by Alexander’s Lemma, it is an ambient isotopy relatively to the boundary. This gives us an isotopy between G _{1} and G _{2} on every such disk, relatively to Γ _{1}=Γ _{2}. By gluing these isotopies together along their boundaries, we get an isotopy of S mapping G _{1} to G _{2}, because G _{1} and G _{2} are included in the closures of the faces of Γ _{1}=Γ _{2} that are disks (Proposition 4).
Since the family Λ covers each edge of G at most thrice, it has linear complexity. As it can be computed in linear time, this concludes the proof of Theorem 4 if none of the faces of G _{1} are disks.
Proof of Theorem 4 if the Only Face of G _{1} is a Disk
By Proposition 3, either (1) G _{1} has no face that is a disk, or (2) G _{1} has a single face, and that face is a disk. We proved Theorem 4 in case (1) in the previous section, and shall now deal with case (2). In other words, we assume that G _{1} is a cut graph.
In that case, the above construction does not seem to work: Since inner disks are not the only faces of Γ _{1} that are disks, there is no guarantee that an inner disk is mapped to itself in the proof of Proposition 5. To circumvent this issue, the highlevel idea is the following: We remove one cycle from G _{1} so that the only face of G _{1} is not a disk anymore but a cylinder, in which case the results from the previous section apply. We then check that the remaining cycle and its counterpart in G _{2} are homotopic, and prove that this guarantees the existence of an isotopy between G _{1} and G _{2}.
Since G _{1} is a cut graph, S has no boundary. Moreover, G is connected, and G _{1} is made of a spanning tree T=(V′,E′) (as in Sect. 4.2) and 2g additional edges. Let e be one of these edges (chosen arbitrarily); let γ _{ e } be the fundamental cycle with respect to T corresponding to edge e. Let G′ be the graph G with edge e removed, and let \(G'_{1}\) and \(G'_{2}\) be the restrictions of G _{1} and G _{2} to G′. Note that \(G_{1}'\) has a single face, which is a cylinder.
We can now apply the result of the previous section to \(G'_{1}\) and \(G'_{2}\): We obtain a family Λ′ of cycles in G′ with the property that, if their images in \(G'_{1}\) and \(G'_{2}\) are homotopic, then \(G'_{1}\) and \(G'_{2}\) are isotopic. Furthermore, Λ′ can be computed in linear time, and uses each edge of G′ at most thrice.
To prove Theorem 4 for our graph G, we take Λ:=Λ′∪{γ _{ e }}. Obviously, Λ can be computed in linear time and uses each edge of G at most four times in total. Assume now that the images of each cycle of Λ in G _{1} and G _{2} are homotopic. It suffices to prove that, under this condition, some ambient isotopy of S takes G _{1} to G _{2}. Since the images of each cycle in Λ′ in \(G'_{1}\) and \(G'_{2}\) are homotopic, we may assume that \(G'_{1}=G'_{2}\). There remains to prove that an isotopy of the surface allows to push the image e _{1} of e in G _{1} to the image e _{2} of e in G _{2}.
The surface obtained after cutting S along \(G'_{1}=G'_{2}\) is a cylinder C, and the images of e on C become arcs a _{1} and a _{2} with the same endpoints, one on each boundary, as shown on Fig. 8. (Indeed, if both endpoints were on the same boundary, a _{1} would bound two faces on C which would correspond to two faces on S, reaching a contradiction.) Now, to conclude, we only need to show that a _{1} and a _{2} are isotopic relatively to the boundary of this cylinder.
The end of the proof uses some elementary notions of homology, we refer to [22] for the background. Assume, for the sake of a contradiction, that a _{1} and a _{2} are nonisotopic arcs relatively to the boundary of C. This implies that they are nonhomotopic on C [15, Theorem 3.1]. Hence there exists an integer n≠0 such that a _{2} is homotopic to a _{1}⋅b ^{n}, where b is a loop that is a boundary of the cylinder C. Since the images of γ _{ e } in G _{1} and G _{2} are (freely) homotopic on S, they are \(\mathbb {Z}\)homologous. This implies that b ^{n}, and thus b, has zero \(\mathbb {Z}\)homology. By translating along the cylinder, b is homotopic on S to a simple cycle b′ that crosses e _{1} exactly once and crosses G _{1} nowhere else, as pictured on Fig. 8. Hence b′ is a simple cycle on S that crosses the image of γ _{ e } in G _{1} exactly once; thus b′ is nonseparating, and therefore cannot have zero \(\mathbb {Z}\)homology. This contradiction completes the proof of Theorem 4.
Algorithms
For Theorems 1 and 2, it suffices to be able to test the existence of an oriented homeomorphism, and of homotopies between the cycles in Λ, as computed by Theorem 4, in the indicated amount of time. We prove Theorems 1 and 2 in Sects. 5.1 and 5.2, respectively.
Surfaces: Proof of Theorem 1
Recall that, in Theorem 1, the input of the algorithm consists of a fixed graph H cellularly embedded on a fixed surface S, and of embeddings G _{1} and G _{2} of a graph G. Furthermore, k _{1} (resp., k _{2}) denotes the complexity of the combinatorial map of the arrangement of G _{1} (resp., G _{2}) with H.
Homeomorphism Test
For the case of graphs on surfaces, the existence of an oriented homeomorphism that maps G _{1} to G _{2} can be checked in O(k _{1}+k _{2}) time. Indeed, let us choose an arbitrary orientation on S; this induces an orientation of the combinatorial map of H, and hence an orientation of the combinatorial map of the arrangement of G _{ i } and H, for i=1,2. Computing the number of boundary components of S in each face, as well as the genus of each face (using the Euler characteristic), and “erasing” the graph H in both arrangements gives us oriented combinatorial maps for each G _{ i }. They are isomorphic if and only if there exists an oriented isomorphism of S between G _{1} and G _{2} (Lemma 3), and this can be checked in linear time.
Homotopy Tests
The homotopy tests can also be performed in O(k _{1}+k _{2}) time. Indeed, recall that the input to the algorithm consists of the combinatorial maps of the arrangement of G _{1} and H on one hand, and of G _{2} and H on the other hand, where H is a fixed cellular graph embedding; k _{1} and k _{2} denote the complexities of these two maps. In O(k _{1}+k _{2}) total time, we can compute the cyclically ordered list of edges of H crossed by each cycle of Λ in the embeddings G _{1} and G _{2}. This gives us a set of pairs of cycles in the dual graph H ^{∗} of H that have to be tested for homotopy. The total complexity of these cycles is O(k _{1}+k _{2}), and H ^{∗} has complexity O(k _{1}+k _{2}) as well. Lazarus and Rivaud, and later Erickson and Whittlesey [17, 28] prove that, after a preprocessing linear in the complexity of the cellular graph H ^{∗}, one can test homotopy of cycles in H ^{∗} in time linear in the complexities of these cycles. (An earlier paper by Dey and Guha [12] claims a similar result, except for some lowgenus surfaces, but Lazarus and Rivaud point out some problems in their proof.) These papers address only the case of surfaces without boundary, but the case of surfaces with boundary is easier, as the fundamental group is free; alternatively, homotopy tests for cycles on surfaces with boundary can be performed using an algorithm for surfaces without boundary by first attaching a handle to each boundary component, which does not change the outcomes of the homotopy tests.
This concludes the proof of Theorem 1.
Punctured Plane: Proof of Theorem 2
We now give our algorithm for the punctured plane model; so let G _{1} and G _{2} be two embeddings of a graph G in the punctured plane \(\mathbb {R}^{2}\setminus P\). Let \(\mathcal{P}\) be a set of disjoint open polygons (for example squares), one around each point of P, that avoid G _{1} and G _{2}; also, let B be a large closed square such that G _{1}, G _{2}, and the closure of \(\mathcal{P}\), are in the interior of B. By compactness, any isotopy between G _{1} and G _{2}, if it exists, must avoid neighborhoods of P and stay in a bounded area of the plane; therefore, such an isotopy exists if and only if such an isotopy exists in \(B\setminus \mathcal{P}\). In other words, since \(B\setminus \mathcal{P}\) is a surface with boundary, we are exactly in the topological setting of the previous sections, except that the input to the algorithm is given in a different form.
As above, our algorithm relies on two subroutines: a test for the existence of an oriented homeomorphism, and a test for homotopy between cycles. We actually give two algorithms for the latter problem, because, depending on the ratio between k _{1}+k _{2} and p, one is faster than the other.
Homeomorphism Test
To test whether there exists an oriented homeomorphism of the plane that maps G _{1} to G _{2} in \(\mathbb {R}^{2}\setminus P\), we compute the oriented combinatorial map of G _{1} in the punctured plane using a sweepline algorithm for G _{1}∪P in \(O((k_{1}+p) \log(k_{1}+p))\) time [1]. Then we apply the same procedure with G _{2} instead of G _{1}, and check that the two resulting oriented combinatorial maps are isomorphic.
First Algorithm for Homotopy Tests
We transform the input into the surface model. For this purpose, we compute a triangulation T of B in O(plogp) time (for example, a Delaunay triangulation). We can then easily determine the arrangement of G _{1} with T in O(k _{1} p) time, because each segment in G _{1} has O(p) crossings with T; that arrangement has complexity O(k _{1} p). We can apply the same procedure to G _{2}. After a slight modification of T that does not affect its complexity, we may assume that T is a triangulation of the bounding box, minus a set of small square obstacles. We can then test homotopy of cycles in time linear in the number of their crossings with T, either by computing and comparing their cyclically reduced crossing words with T (since the fundamental group is a free group) or by applying the algorithm by Lazarus and Rivaud or the one by Erickson and Whittlesey. This takes O((k _{1}+k _{2})p) time.
Second Algorithm for Homotopy Tests
To get a subquadratic running time in the input size, we improve the homotopy test by adapting an algorithm by Cabello et al. [6, Sect. 4]. Their algorithm tests homotopy for paths in the punctured plane, not homotopy for cycles; however, it can be modified to handle this case also. More precisely, we show below that, after O(p ^{1+ε}) preprocessing time (for any ε>0), one can test homotopy of two (possibly nonsimple) cycles γ _{1} and γ _{2} of complexities m _{1} and m _{2}, respectively, in \(O((m_{1}+m_{2})\sqrt{p}\log p)\) time.
The main idea is to replace the triangulation T in the first algorithm above with a cellular decomposition of B that has a nicer property: Each line in the plane crosses at most \(O(\sqrt{p})\) segments of that decomposition. Cabello et al. [6] show how to compute such a cellular decomposition in O(p ^{1+ε}) time. The two input cycles γ _{1} and γ _{2} cross this decomposition \(O((m_{1}+m_{2})\sqrt{p})\) times. Then, computing the cyclically ordered lists of edges of the decomposition crossed by these two cycles takes \(O((m_{1}+m_{2})\sqrt{p}\log p)\) time using ray shooting, as done also in the paper by Cabello et al. We conclude using the same method as in the first algorithm, with the cellular decomposition in place of the triangulation. This proves Theorem 2.
Graph Isotopies with Fixed Vertices
In this section, we briefly indicate how the previous techniques extend to the graph isotopy problem where, in addition, we require the isotopy to fix some vertices. Formally, for G _{1} and G _{2} two embeddings of a graph G=(V,E) on the interior of a surface S and a set V _{ f }⊆V such that the embeddings of V _{ f } are the same in both graphs, we want to test whether there exists an isotopy h _{ t } between G _{1} and G _{2} such that \(h_{t}_{V_{f}}\) is the identity for all t∈[0,1]. We call this the fixed vertices graph isotopy problem.
We will deal with this variant by applying our algorithm in the setting of surfaces with punctures. Surfaces with punctures are surfaces where we removed a finite number of points. We will denote such a surface by (S,P), where P is the set of punctures on the surface without punctures S. Although such punctured surfaces are not compact, they share many properties with usual surfaces. In particular, they can be endowed with a hyperbolic metric if their Euler characteristic is negative, where we define it by χ(S,P)=2−2g−b−P.
Theorem 5
([18, Theorem 1.2])
Consider any surface, perhaps with punctures or boundary. If its Euler characteristic is negative, then there exists a complete, finitearea Riemannian metric of constant curvature −1 on the surface, with the property that the boundary of the surface is totally geodesic.
Hyperbolic surfaces with punctures share many properties with usual hyperbolic surfaces; we refer the reader to [18] for details. We will mainly use the following proposition, which we give without proof. A cycle γ is homotopic into a neighborhood of a puncture if, for every neighborhood N of that puncture, there is a cycle homotopic to γ that lies entirely within N.
Proposition 6
([18, Proposition 1.3])
Let S be a hyperbolic surface. If α is a cycle in S that is not homotopic into a neighborhood of a puncture, then α is homotopic to a unique geodesic cycle γ.
In a nutshell, the strategy for solving the fixed vertices graph isotopy problem is to put punctures on the fixed vertices of G _{1} (or, equivalently, G _{2}). We essentially use the same algorithm as in the compact case, with some minor modifications listed below. To keep things simple, we only deal with the case where the resulting surface with punctures is hyperbolic; the remaining cases (the once or twice punctured sphere and the once punctured disk) are simpler and can be dealt with the same idea coupled with the techniques of Sect. 7.
Isotopies of Stables Families of Cycles
The analog of Theorem 3 still holds in the case of surfaces with punctures:
Theorem 6
Let (S,P) be an orientable surface with punctures and let Γ _{1}=(γ _{1,1},…,γ _{1,n }) and Γ _{2}=(γ _{2,1},…γ _{2,n }) be two stable families of cycles on (S,P) in general position such that:

1.
There exists an oriented homeomorphism h of (S,P) mapping each cycle γ _{1,j } of Γ _{1} to the corresponding cycle γ _{2,j } of Γ _{2} not necessarily pointwise, but preserving the orientations of the cycles, and

2.
Each cycle of Γ _{1} is homotopic to the corresponding cycle of Γ _{2}.
Then there is an isotopy of (S,P) that maps each cycle of Γ _{1} to the corresponding cycle of Γ _{2}, not necessarily pointwise, but preserving the orientations of the cycles.
Proof
The proof is essentially the same as for Theorem 3 (in the hyperbolic case). Indeed, all the properties related to hyperbolicity are maintained, with a small caveat stated in Proposition 6: For the cycles that are homotopic into the neighborhood of a puncture, there is no corresponding geodesic, as it would be infinitely small. But when we do local shortenings as in Proposition 1, the cycles homotopic to the neighborhood of a puncture are pushed into an εneighborhood of this puncture, and this allows us to define an annular corridor around it, where, using the same proof as Proposition 2, the cycles do not cross. Since each cycle γ of Γ _{1} is homotopic to h(γ), and h preserves the orientations of the cycles, each puncture with an annular corridor is mapped to itself by h. In this annular neighborhood, the orderings of Sect. 3.3 are the same because the oriented homeomorphism h maps the puncture to itself and can thus be extended to the annular corridor. The rest of the proof follows identically. □
Preprocessing
On a surface with punctures, we extend slightly our definition of graph embeddings to allow the graphs to hit punctures. Formally, a graph G=(V,E) is embedded on (S,P) in general position if it is embedded on S and G∩P⊆V. By a slight abuse of language, the faces of such an embedding will denote the faces of the usual embedding we obtain by removing the punctures under the vertices. The following lemma is straightforward.
Lemma 10
Let G=(V,E) be embedded as G _{1} and G _{2} on a surface S, such that both embeddings are identical for V _{ f }⊆V. Then G _{1} and G _{2} are isotopic with V _{ f } fixed if and only if G _{1} and G _{2} (seen as embeddings on (S,V _{ f })) are isotopic in (S,V _{ f }).
Proof
The same isotopy can be used in both settings. □
Thus, solving the fixed vertices graph isotopy problem amounts to solving the graph isotopy problem on surfaces with punctures, where the punctures are placed on the fixed vertices.
The preprocessing step is slightly altered. We obviously do not want to remove from the graphs degreeone vertices that are supposed to stay fixed during the isotopy, so we use the following proposition instead.
Proposition 7
Without loss of generality, we may assume that (1) G _{1} has a single face, or none of its faces is a disk, (2) G _{1} has no vertices of degree zero, and (3) The only vertices of G _{1} of degree one are on punctures.
The proof is the same, except that we do not touch the fixed vertices of degree one, i.e., vertices of degree one on punctures.
Construction of the Stable Family
Unlike the compact case, we do not distinguish two cases in the construction of the stable families Γ _{1} and Γ _{2}. It follows closely the one described in Proposition 4, but we need to ensure that there is at most one puncture in the disks we obtain.
As in the proof of Proposition 4, we build the stable family Γ _{1} corresponding to G _{1} and then map it to Γ _{2} by the homeomorphism that maps G _{1} to G _{2}. To build Γ _{1}, we consider each connected component of G _{1} in turn. Let (V′,E′) be such a connected component and let \(V'_{f}=V'\cap V_{f}\) be the set of vertices on the punctures. If \(V'_{f}=\emptyset\), we apply the same procedure as in the proof of Proposition 4. Otherwise, we compute a spanning forest (V′,E″) of (V′,E′), where each tree of the forest contains exactly one vertex of \(V'_{f}\). As in the proof of Proposition 4, we add to the stable family the cycles that are the boundaries of a tubular neighborhood of (V′,E′), but adding a “crossover” at each edge in E′∖E″.
To see that this results in a stable family Γ _{1}, note that (as before) the faces of the family are of two types:

inner disks, which contain some pieces of the graph G; such faces either contain exactly one puncture in their interior (in case they are built as indicated in the previous paragraph), or contain no puncture but have degree at least four (as in the proof of Proposition 4);

outer disks, which have the topology of the faces of the graph G _{1}, and thus, by the preprocessing step, cannot be disks, unless there is exactly one such disk, which must therefore be a cut graph of the surface S without boundary (and after disregarding the punctures). Such a disk has degree at least four if the surface has genus at least one; if the surface S is a sphere, the hyperbolicity hypothesis implies that there are at least three punctures, making at least two crossovers and thus an outer face of degree at least four.
Fixing the Map Automorphism
We now need to prove the counterpart of Proposition 5. Let (V′,E′) be a connected component of G _{1}. If V′ contains no puncture, then we proceed as in the proof of Proposition 5: After testing the homotopy class of a given fundamental cycle, we can certify that the map automorphism is fixed (or, in other words, that some ambient isotopy maps the stable cycles corresponding to (V′,E′) pointwise). We now consider the case where V′ contains at least one puncture.
Since each puncture is mapped to itself using the map automorphism, we know that each inner disk of (V′,E′) is mapped to itself. We use an argument similar to the proof of Proposition 5, but the counterpart of Lemma 9 is simpler in our case.
We choose an arbitrary fundamental path in (V′,E′), which connects two punctures (possibly identical) using exactly one edge not in the spanning forest (V′,E″). (Such an edge exists, since, after the preprocessing step, it cannot be that (V′,E′) is a tree with a single puncture.) Let v be the vertex of the arrangement of Γ _{1} corresponding to this fundamental path. We test whether this fundamental path is homotopic with fixed endpoints to its counterpart in G _{2} on the punctured surface, except that the punctures on the endpoints of the path are removed.
If these paths are not homotopic, clearly G _{1} and G _{2} are not isotopic, since any ambient isotopy between G _{1} and G _{2} (fixing a subset of the vertices) yields a homotopy of the fundamental path with fixed vertices.
On the other hand, assume that the images of the fundamental path in G _{1} and G _{2} are homotopic with fixed endpoints. Assuming that the cycles are homotopic in Γ _{1} and Γ _{2}, we obtain by Theorem 6 that some isotopy i maps each cycle in Γ _{1} to the corresponding cycle in Γ _{2}, not necessarily pointwise, but preserving the orientations of the cycles. As in the proof of Proposition 5, i can be viewed as an orientationpreserving map automorphism of Γ _{1}. We recall that \(\varGamma'_{1}\) denotes the arrangement of cycles of Γ _{1} corresponding to a connected component of G. To conclude, it suffices to prove that, for every connected component of G, this map automorphism restricts to the identity on \(\varGamma'_{1}\), and by connectedness of \(\varGamma'_{1}\) it actually suffices to prove that it maps v to itself. But if i were to map v into another vertex, it would map a fundamental path into a different one.
There just remains to prove that two different fundamental paths are not homotopic with fixed endpoints on this surface. Indeed, we can perturb them slightly so as to make them disjoint (except at their endpoints), so if they are homotopic, they bound a degreetwo disk. If this disk contains no other component of G _{1}, then G _{1} has a face that is a degreetwo disk, which is excluded by the preprocessing step and the hyperbolicity hypothesis. If it contains another component of G _{1}, this component is contractible and without fixed vertices, which is again excluded by the preprocessing.
Therefore i is the identity, which concludes the proof of the counterpart of Proposition 5.
End of Proof
The components of S∖Γ _{1}=S∖Γ _{2} are now punctured disks instead of disks, but we made sure that they only contain a single puncture. Hence, since Alexander’s Lemma also applies to oncepunctured disks [18, Sect. 2.2.1], the end of the proof remains the same.
Conclusion
In summary, some minor modifications of our algorithms can also handle the case where some vertices of the graph have to be fixed during the entire isotopy. In some cases, we need to use homotopy tests for paths instead of cycles (which is a computationally simpler problem, since it reduces to testing contractibility of cycles). In particular, here are the counterparts of Theorems 1 and 2:
Theorem 7
Let S be an orientable surface, possibly with boundary. Let H be a fixed graph cellularly embedded on S. Let G _{1} and G _{2} be two graph embeddings of the same graph G on S, each in general position with respect to H. Furthermore, let V _{ f } be a set of vertices of G. Given the combinatorial map of the arrangement of G _{1} with H (resp., G _{2} with H), of complexity k _{1} (resp., k _{2}), we can determine whether G _{1} and G _{2} are isotopic, fixing the vertices in V _{ f }, in O(k _{1}+k _{2}) time.
Theorem 8
Let P be a set of p points in the plane, and let G _{1} and G _{2} be two piecewiselinear graph embeddings of the same graph G in \(\mathbb {R}^{2}\setminus P\), of complexities (number of segments) k _{1} and k _{2} respectively. Furthermore, let V _{ f } be a set of q vertices of G. We can determine whether G _{1} and G _{2} are isotopic in \(\mathbb {R}^{2}\setminus P\), fixing the vertices in V _{ f }, in time O(n ^{3/2}logn) time, where n is the total size of the input. In more detail, the running time is, for any ε>0,
Moreover, the above proof implies that Corollaries 3 and 4 also extend to the case where some vertices of the graph embeddings have to be fixed: any isotopy between G _{1} and G _{2} extends to an ambient isotopy, and that ambient isotopy can be chosen piecewiselinear if G _{1} and G _{2} are piecewiselinear.
Actually, if it were known that two piecewiselinear graph embeddings are isotopic if and only if they are piecewiselinearly isotopic (with fixed vertices), our result of Sect. 3 would extend rather directly to the case of fixed surfaces, by the construction shown in Fig. 9, where each vertex of G that has to be fixed is replaced with a cycle of vertices and edges enclosing a boundary component of the surface: Any piecewiselinear isotopy with fixed vertices in the original graph corresponds to a piecewiselinear isotopy (without fixed vertices) in the new graph and conversely, so we can apply our results on graph isotopies without fixed vertices. However, this fact seems harder to prove for arbitrary continuous isotopies.
Exceptional Surfaces
In this section, we prove that Theorem 3 also holds for surface of nonnegative Euler characteristic. We note that in these cases we obtain a stronger theorem that in the general case, as the ambient isotopy we obtain maps the families of cycles pointwise. We split the proof in two parts depending on whether the surface is a plane with boundaries in Sect. 7.1 or a torus in Sect. 7.2. As a foreword, we note that the results of Lemmas 4, Corollary 2, and Lemma 5 and the first result of Proposition 1 (no cycle in a stable family is nullhomotopic) also hold in the nonnegative Euler characteristic case.
Sphere, Disk, and Annulus
Since the Euler characteristic of a surface is χ(S)=2−2g−b, the only cases where the surface is a plane with boundaries and has nonnegative Euler characteristic are the sphere, the disk, and the annulus. In these cases, the proof of Theorem 3 is a simple corollary of Lemmas 4 and 5. We even obtain a slightly stronger statement, because we can take the isotopy to map pointwise Γ _{1} to Γ _{2}:
Theorem 9
Let S be a sphere, a disk or an annulus and let Γ _{1}=(γ _{1,1},…,γ _{1,n }) and Γ _{2}=(γ _{2,1},…γ _{2,n }) be two stable families of cycles on S in general position such that:

1.
There exists an oriented homeomorphism h of S mapping each cycle γ _{1,j } of Γ _{1} to the corresponding cycle γ _{2,j } of Γ _{2} not necessarily pointwise, but preserving the orientations of the cycles, and

2.
Each cycle of Γ _{1} is homotopic to the corresponding cycle of Γ _{2}.
Then there is an ambient isotopy of S mapping each cycle of Γ _{1} to the corresponding cycle of Γ _{2} pointwise.
Proof
If the surface S is a sphere or a disk, all the cycles in Γ _{1} and Γ _{2} are nullhomotopic, which is impossible as noted above. Hence these families are empty and the theorem is trivial.
If the surface is an annulus, for i=1,2, we claim that there are no crossing points in Γ _{ i }, i.e., all the cycles are simple and two distinct cycles do not intersect each other. Indeed, if there were a crossing point, the connected component of Γ _{ i } containing it would form a planar graph such that every vertex has degree four. Hence, by Corollary 2, there would be at least a kgon with k≤3, contradicting, with Lemma 5, the stability of the family Γ _{ i }.
Thus, Γ _{1} is a family of disjoint simple cycles homotopic to the boundaries of the annulus, and the same holds for Γ _{2}. There is an isotopy of S mapping one family into the other if and only if they have the same ordering, as defined in the proof for the hyperbolic case. But this is exactly what the oriented homeomorphism between them ensures. This concludes the proof. □
Torus
The proof in the case of the torus is slightly more involved. Let us introduce a few definitions before delving into it. We choose a Euclidean metric on the torus, which induces one on its universal cover \(\mathbb{R}^{2}\). This allows to define translations on the torus, which are projections of the usual translations of \(\mathbb{R}^{2}\). Geodesics on the torus lift to straight lines in the plane, and two geodesics are homotopic if and only if these lines have the same slope, as a slope \(s=\frac{m}{n}\) determines a unique element (m,n) with m∧n=1 of the fundamental group of the torus. When we mention the slope of a geodesic on the torus, we refer to the slope of one of its lifts in the universal cover. Note that as a translation is an isometry, it maps a geodesic to another geodesic.
Theorem 10
Let S be a torus and let Γ _{1}=(γ _{1,1},…,γ _{1,n }) and Γ _{2}=(γ _{2,1},…γ _{2,n }) be two stable families of cycles on S in general position such that:

1.
There exists an oriented homeomorphism h of S mapping each cycle γ _{1,j } of Γ _{1} to the corresponding cycle γ _{2,j } of Γ _{2} not necessarily pointwise, but preserving the orientations of the cycles, and

2.
Each cycle of Γ _{1} is homotopic to the corresponding cycle of Γ _{2}.
Then there is an ambient isotopy of S mapping each cycle of Γ _{1} to the corresponding cycle of Γ _{2} pointwise.
Proof
For all the cycles γ in Γ _{1} or Γ _{2}, we start by applying de Graaf and Schrijver [11, Proposition 13] as in the proof of Proposition 1: Up to applying an isotopy of S, we can assume that γ is contained in the εneighborhood of one of its corresponding geodesics (or of a point, if γ is contractible). As in the proof of Proposition 1, we infer that γ is not contractible. Since in a torus, geodesic cycles are either simple or multiple concatenations of the same simple cycle, their εneighborhoods are annuli. Hence, every cycle in Γ _{1} and Γ _{2} can be assumed to lie in an annulus.
If one of these cycles γ∈Γ _{ i } is nonsimple, it forms a graph embedded on an annulus such that every vertex has degree four. By Corollary 2, one of the faces of this graph is a disk with degree lower than four, which with Lemma 5 contradicts the stability of Γ _{ i }. Thus all the cycles in Γ _{1} and Γ _{2} are simple. By the same argument, for i=1,2, two homotopic cycles in Γ _{ i } do not cross each other.
The isotopy can then be found as follows. We split the proof in two cases.
Case 1: If all the cycles in Γ _{1} are homotopic or inverse homotopic,^{Footnote 9} we just pick an arbitrary one, say γ _{1,1}, and apply the pointwise isotopy mapping it to γ _{2,1}, which exists because they are homotopic.^{Footnote 10} Cutting the surface along γ _{1,1}=γ _{2,1} gives an annulus. In this annulus, since all the other cycles in Γ _{1} and Γ _{2} are disjoint from these, the existence of an isotopy between them follows from the case of the annulus in Sect. 7.1. After gluing back the boundaries together, this gives the desired isotopy of the torus.
Case 2: If there are at least two homotopy classes (modulo inversion) in Γ _{1}, we pick two representatives, say γ _{1,1} and γ _{1,2}. As two couple of lines with the same slopes pairwise can be moved one to the other with a translation, by doing a translation of the torus, we can assume that γ _{1,1} and γ _{2,1} lie in the neighborhood of the same geodesic, as well as γ _{1,2} and γ _{2,2}, and furthermore that the crossing points between γ _{1,1} and γ _{1,2} lie in a εneighborhood of the corresponding crossing points between γ _{2,1} and γ _{2,2}.^{Footnote 11}
We are now in the same situation as in Sect. 3.2: Since both couples of cycles γ _{1,1} and γ _{2,1} and γ _{1,2} and γ _{2,2} lie in the εneighborhood of the same geodesic, if we take as stable families \(\varGamma'_{1}=\gamma_{1,1}\cup \gamma_{1,2}\) and \(\varGamma'_{2}=\gamma_{2,1} \cup \gamma_{2,2}\), we can similarly define corridors, as well as edge and vertex polygons. Then Proposition 2 holds with exactly the same proof. Since there is only one cycle of \(\varGamma'_{1}\) in each corridor, Lemma 6 also holds trivially. Hence by applying the same techniques, we can conclude that there exists an ambient isotopy mapping \(\varGamma'_{1}\) to \(\varGamma'_{2}\). Note that here, since the crossing points of the cycles in \(\varGamma'_{1}\) have been matched, the isotopy we obtain is also pointwise.
Finally, cutting along these cycles cuts the surface into one or more disks, and the isotopy between Γ _{1} and Γ _{2} is obtained by applying Alexander’s Lemma separately on each of these disks. □
Conclusion
We have given an optimal algorithm to test whether two graph embeddings of the same graph on an orientable surface are isotopic, where the vertices are allowed to move. On the other hand, the case of nonorientable surfaces remains open. Our characterization heavily relies on testing the existence of an oriented homeomorphism; it is not clear how to adapt this test in the nonorientable case.
Regarding the case of the punctured plane, the most obvious open question is to improve the running time of the algorithm. Bespamyatnikh [3, Theorem 7] describes an \(O(n^{4/3}\operatorname {polylog}(n))\)time algorithm for testing path homotopy; however, it is not clear that this algorithm extends to the homotopy test for cycles. One obstacle for this extension is that our cycles are not simple and may make turns always in the same direction: the algorithm by Bespamyatnikh [3, Sect. 5.5] considers maximal subpaths that always turn in the same direction, but in our case such maximal subpaths may be cycles without “starting” and “ending” points, for which the same approach does not seem to work.
Also, we only test the existence of a topological isotopy: The edges are allowed to bend during the deformation. It is easy to see that, in the presence of obstacles, the existence of a topological isotopy between two straightline embeddings does not imply the existence of a straightline isotopy, in contrast to the case without obstacle [4, 20]. Could it be that, in such a situation, there exists a straightline isotopy after splitting each edge in two (or a constant number of) segments? Computing such an isotopy efficiently may be a not easy task, but related techniques [30] might apply.
Finally, in both the surface model and the punctured plane model, computing shortest graph embeddings within a given isotopy class would be very interesting, and would generalize known results for computing shortest paths within a given homotopy class [2, 8–10, 13, 23], even though we expect the problem to be much harder.
Notes
 1.
This is sometimes referred to as free homotopy in textbooks, in opposition to fixed point homotopy, which we will only use in Sect. 6.
 2.
i.e., the graph obtained by overlaying G _{ i } and H.
 3.
assuming that G _{1} and G _{2} are in the interior of S, which is true by our general position assumption.
 4.
 5.
We will drop the adjective “extended” when it is obvious from the context.
 6.
In the case where a geodesic coincides with a boundary of the surface, one of the edges of each polygon of that geodesic actually lies on this boundary. Also, for simple cycles without vertex, we introduce an edge polygon with two opposite sides glued together.
 7.
The hypotheses are trivially fulfilled since the universal cover has trivial fundamental group.
 8.
Actually, if S has nonnegative Euler characteristic, the results in Sect. 7 show that the isotopy can be chosen so as to be pointwise, which concludes the proof of this proposition.
 9.
We say that γ _{1} and γ _{2} are inverse homotopic if γ _{1} is homotopic to \(\gamma_{2}^{1}\).
 10.
Simple and noncontractible cycles which are homotopic are also isotopic, as proved by Epstein [15, Theorem 2.1].
 11.
This is not necessarily the case a priori, since a given crossing point c between γ _{1,1} and γ _{2,1} can be matched to another crossing point than h(c). Note that this is why the result in the torus case in stronger than in the general case, in which the crossing points can not necessarily be matched.
References
 1.
Bentley, J.L., Ottmann, Th.: Algorithms for reporting and counting geometric intersections. In: IEEE Transactions on Computing, vol. 28, pp. 643–647 (1979)
 2.
Bespamyatnikh, S.: Computing homotopic shortest paths in the plane. J. Algorithms 49, 284–303 (2003)
 3.
Bespamyatnikh, S.: Encoding homotopy of paths in the plane. In: LATIN 2004: Theoretical Informatics, the 6th Latin American Symposium. Lecture Notes in Computer Science, vol. 2976, pp. 329–338. Springer, Berlin (2004)
 4.
Bing, R.H., Starbird, M.: Linear isotopies in E ^{2}. Trans. Am. Math. Soc. 237, 205–222 (1978)
 5.
Buser, P.: Geometry and Spectra of Compact Riemann Surfaces. Progress in Mathematics, vol. 106. Birkhäuser, Basel (1992)
 6.
Cabello, S., Liu, Y., Mantler, A., Snoeyink, J.: Testing homotopy for paths in the plane. Discrete Comput. Geom. 31, 61–81 (2004)
 7.
Colin de Verdière, É.: Raccourcissement de courbes et décomposition de surfaces. Ph.D. thesis, Université Paris 7 (2003). English translation available at http://www.di.ens.fr/~colin/03these.html
 8.
Colin de Verdière, É., Erickson, J.: Tightening nonsimple paths and cycles on surfaces. SIAM J. Comput. 39, 3784–3813 (2010)
 9.
Colin de Verdière, É., Lazarus, F.: Optimal system of loops on an orientable surface. Discrete Comput. Geom. 33, 507–534 (2005)
 10.
Colin de Verdière, É., Lazarus, F.: Optimal pants decompositions and shortest homotopic cycles on an orientable surface. J. ACM 54 (2007). Article 18
 11.
de Graaf, M., Schrijver, A.: Making curves minimally crossing by Reidemeister moves. J. Comb. Theory, Ser. B 70, 134–156 (1997)
 12.
Dey, T.K., Guha, S.: Transforming curves on surfaces. J. Comput. Syst. Sci. 58, 297–325 (1999)
 13.
Efrat, A., Kobourov, S.G., Lubiw, A.: Computing homotopic shortest paths efficiently. Comput. Geom. 35, 162–172 (2006)
 14.
Eppstein, D.: Dynamic generators of topologically embedded graphs. In: Proceedings of the 14th Annual ACMSIAM Symposium on Discrete Algorithms (SODA), pp. 599–608 (2003)
 15.
Epstein, D.B.A.: Curves on 2manifolds and isotopies. Acta Math. 115, 83–107 (1966)
 16.
Erickson, J., Whittlesey, K.: Greedy optimal homotopy and homology generators. In: Proceedings of the 16th Annual ACMSIAM Symposium on Discrete Algorithms (SODA), pp. 1038–1046 (2005)
 17.
Erickson, J., Whittlesey, K.: Transforming curves on surfaces redux. In: Proceedings of the 24th Annual ACMSIAM Symposium on Discrete Algorithms (SODA), pp. 1646–1655 (2013)
 18.
Farb, B., Margalit, D.: A Primer on Mapping Class Groups. Princeton University Press, Princeton (2011)
 19.
Feustel, C.D.: Homotopic arcs are isotopic. Proc. Am. Math. Soc. 17, 891–896 (1966)
 20.
Gotsman, C., Surazhsky, V.: Guaranteed intersectionfree polygon morphing. Comput. Graph. 25, 67–75 (2001)
 21.
HamidiTehrani, H.: On complexity of the word problem in braid groups and mapping class groups. Topol. Appl. 105, 237–259 (2000)
 22.
Hatcher, A.: Algebraic Topology. Cambridge University Press, Cambridge (2002). Available at http://www.math.cornell.edu/~hatcher/
 23.
Hershberger, J., Snoeyink, J.: Computing minimum length paths of a given homotopy class. Comput. Geom. 4, 63–98 (1994)
 24.
Hirsch, M.W.: Differential Topology. Graduate Texts in Mathematics, vol. 33. Springer, Berlin (1994). Corrected reprint of the 1976 original
 25.
Kettner, L.: Using generic programming for designing a data structure for polyhedral surfaces. Comput. Geom. 13, 65–90 (1999)
 26.
Ko, K.H., Lee, S.J., Cheon, J.H., Han, J.W., Kang, J.s., Park, C.: New publickey cryptosystem using braid groups. In: Advances in Cryptology—CRYPTO 2000. Lecture Notes in Computer Science, vol. 1880, pp. 166–183. Springer, Berlin (2000)
 27.
Ladegaillerie, Y.: Classes d’isotopie de plongements de 1complexes dans les surfaces. Topology 23, 303–311 (1984)
 28.
Lazarus, F., Rivaud, J.: On the homotopy test on surfaces. In: Proceedings of the 53rd Annual IEEE Symposium on Foundations of Computer Science (FOCS), pp. 440–449 (2012)
 29.
Lins, S.: Graphencoded maps. J. Comb. Theory, Ser. B 32, 171–181 (1982)
 30.
Lubiw, A., Petrick, M.: Morphing planar graph drawings with bent edges. Electron. Notes Discrete Math. 31, 45–48 (2008)
 31.
Mosher, L.: Mapping class groups are automatic. Ann. Math. 142, 303–384 (1995)
 32.
Ringel, G.: Teilungen der Ebene durch Geraden oder topologische Geraden. Math. Z. 64, 79–102 (1956)
 33.
Stillwell, J.: Classical Topology and Combinatorial Group Theory, 2nd edn. Springer, New York (1993)
Author information
Rights and permissions
About this article
Cite this article
Colin de Verdière, É., de Mesmay, A. Testing Graph Isotopy on Surfaces. Discrete Comput Geom 51, 171–206 (2014). https://doi.org/10.1007/s0045401395554
Received:
Revised:
Accepted:
Published:
Issue Date:
Keywords
 Computational topology
 Embedded graph
 Homotopy
 Isotopy
 Topological graph theory