# Automorphism groups of maps in linear time

By a map we mean a 2-cell decomposition of a closed compact surface, i.e., an embedding of a graph such that every face is homeomorphic to an open disc. Automorphism of a map can be thought of as a permutation of the vertices which preserves the vertex-edge-face incidences in the embedding. When the underlying surface is orientable, every automorphism of a map determines an angle-preserving homeomorphism of the surface. While it is conjectured that there is no "truly subquadratic” algorithm for testing map isomorphism for unconstrained genus, we present a linear-time algorithm for computing the generators of the automorphism group of a map, parametrized by the genus of the underlying surface. The algorithm applies a sequence of local reductions and produces a uniform map, while preserving the automorphism group. The automorphism group of the original map can be reconstructed from the automorphism group of the uniform map in linear time. We also extend the algorithm to non-orientable surfaces by making use of the antipodal double-cover.

## Authors

• 30 publications
• 15 publications
• 4 publications
• 7 publications
09/20/2019

### Linear-Time Recognition of Double-Threshold Graphs

A graph G = (V,E) is a double-threshold graph if there exist a vertex-we...
08/19/2021

### Improved Linear-Time Algorithm for Computing the 4-Edge-Connected Components of a Graph

We present an improved algorithm for computing the 4-edge-connected comp...
06/24/2020

### A Linear-Time Algorithm for Discrete Radius Optimally Augmenting Paths in a Metric Space

Let P be a path graph of n vertices embedded in a metric space. We consi...
04/03/2018

### Holiest Minimum-Cost Paths and Flows in Surface Graphs

Let G be an edge-weighted directed graph with n vertices embedded on an ...
11/20/2018

### The domino problem is undecidable on surface groups

We show that the domino problem is undecidable on orbit graphs of non-de...
04/07/2019

### Linear-Time and Efficient Distributed Algorithms for List Coloring Graphs on Surfaces

In 1994, Thomassen proved that every planar graph is 5-list-colorable. I...
09/26/2017

### Recognizing Weak Embeddings of Graphs

We present an efficient algorithm for a problem in the interface between...
##### This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

## 1 Introduction

By a topological map we mean a -cell decomposition of a closed compact surface, i.e., an embedding of a graph into a surface such that every face is homeomorphic to an open disc. An automorphism of a map is a permutation of the vertices which preserves the vertex-edge-face incidences. In this paper, we study symmetries of maps, which are captured by their automorphism groups.

Topologically, we can think of symmetries of maps as symmetries of the underlying surface. For example, if the underlying surface is orientable, then every map automorphism induces an orientation preserving homeomorphism of the surface. Hence, to every map there is a corresponding action of a discrete group on its underlying surface. Conversely, given a finite discrete group of automorphisms acting on , one can construct a vertex-transitive map such that is a subgroup of the automorphism group of . With some effort we can even force . Therefore, studying automorphisms groups of maps is equivalent to studying finite groups of automorphisms of surfaces. This motivates the study of the automorphism groups of maps from the computational point of view. Our main result reads as follows.

###### Theorem 1.1.

For a map on a surface of genus , generators of the automorphism group of can be found in time , where is some computable function and is the size of the map.

There are two other algorithmic problems related to computing the generators of the automorphism group: the map isomorphism problem and the graph isomorphism problem. While the map isomorphism problem can be solved in quadratic time (see Section 2), the complexity of the graph isomorphism problem is among the central problems of theoretical computer science for which the complexity is unknown. In what follows, we discuss the relations between these problems in detail.

Graph isomorphism problem (GI). Many algebraic, combinatorial, and topological structures can be encoded by (possibly infinite) graphs, while preserving the automorphism group [29]. The graph isomorphism problem is therefore of a special importance. Also, in complexity theory, it is the prime candidate problem to be between between P and NP-complete problems. If the graph isomorphism was NP-complete, then would the polynomial-time hierarchy collapse to its second level [30]. This is considered to be an evidence for the contrary. GI is polynomial-time equivalent to the problem of computing the generators of the automorphism group [25]. Currently, the best upper bound for the complexity of these problems is due to Babai [3]. By fixing some natural parameters, it is often possible to obtain a polynomial-time algorithm for various restricted classes of graphs, e.g, graphs of bounded degree [23, 12]

, bounded eigenvalue multiplicity

[4], tree-width [22], etc.

Graph isomorphism problem for graphs of bounded genus. First observe that every graph can be embedded into a surface of sufficiently large genus, which also provides an important parametrization of all graphs. The first polynomial-time algorithm testing isomorphism of bounded genus graphs was given by Miller [26]. Only recently, a linear-time algorithm was announced [20]. This already implies that the generators of the automorphism group of a graph of bounded genus can be computed in polynomial time. However, an interesting question, which remained open, is whether linear time can be achieved here as well. The first unavoidable step is to show that for a map on a fixed surface of genus it is possible to compute the automorphism group in linear time, which is our main result.

Map isomorphism problem. As already noted, the map isomorphism problem can be solved easily in quadratic time. For the spherical maps, the quadratic bound on the complexity of the isomorphism problem was first improved in [17] to . In 1974, Hopcroft and Wong in [18] described an algorithm solving the problem for the spherical maps in linear time. Existence of a linear-time algorithm solving the map isomorphism for maps of bounded genus was announced in [21].

It turns out that a small modification of our algorithm for computing the generators of the automorphism group of a map also gives a linear-time algorithm solving the map isomorphism problem for maps of bounded genus. In fact the set of all isomorphisms can be expressed as a composition where is an isomorphism. It follows that our main result also gives a description of all isomorphisms . On the other hand, a linear-time algorithm for map isomorphism yields only a quadratic-time algorithm for determining the automorphism group. In this sense, our results should be considered as a non-trivial generalization of [18] and [21].

Since neither [18], nor [21], presents essential details of the algorithm, our second aim is to fill in this gap. Although one of the basic ideas of our algorithm is similar to that in [18] and [21], it should be stressed that our algorithm is not just a technical improvement of the aforementioned algorithms. It requires new ideas and elaborate analysis about map automorphisms.

Polyhedral graphs. The interaction among the above problems can be nicely demonstrated if we are restricted to polyhedral graphs. Recall that by Steinitz’ Theorem, a graph is polyhedral if and only if it is planar and -connected. Whitney’s theorem [33] states that -connected planar graphs have (combinatorially) unique embeddings in the sphere. Consequently, the isomorphism problem for -connected planar graphs is equivalent to the isomorphism problem of spherical maps and they can be solved in linear time by the Hopcroft-Wong algorithm [18].

The automorphism groups of -connected planar graphs as abstract groups are well-understood. They are exactly the spherical groups [24], i.e., finite subgroups of the group of orthogonal matrices. However, it is not obvious how to modify the algorithm of Hopcroft and Wong [18] to compute the generators of the automorphism group. In fact, Colbourn and Booth [8] posed this as an open problem. Our main result, Theorem 1.1, solves this in much greater generality and our approach provides a new insight into the algorithm of Hopcroft and Wong [18].

Simultaneous conjugation problem. The problems of testing isomorphism of maps and computing the generators of the automorphism group of a map are surprisingly related to the problem of simultaneous conjugation. In the latter problem, the input consits of two sets of permutations and on the set , each of which generates a transitive subgroup of the symmetric group. The goal is to find a permutation such that , for . Let us observe that this problem is a generalization of the map isomorphism problem. If and are involutions, , and the set is identified with the set of darts of a map on a surface (see Section 2 for definitions), then this problem is exactly the map isomorphism problem. If further and , we get the map automorphism problem.

Since mid 1970s it has been known that the simultaneous conjugation problem can be solved in time  [11, 16]. A faster algorithm, with running time , was found only recently [7]. This implies an algorithm for the isomorphism and automorphism problems on maps of unrestricted genus. In complexity theory, this is not considered to be a “truly subquadratic” algorithm. This motivates the following conjecture.

###### Conjecture 1.2.

There is no for which there is an algorithm for testing isomorphism of maps of unrestricted genus in time .

An interesting open subproblem is to prove a conditional “truly superlinear” lower bound for any of the mentioned problems. There has been some progress in the direction of providing a lower bound. In particular it is known that the communication complexity of the simultaneous conjugation problem is , for

, and that under the decision tree model the search version of the simultaneous conjugation problem has lower bound of

[6].

Novelty of our approach. We first deal with the oriented maps on orientable surfaces. The idea is to apply a series of local elementary reductions, which reduce the size of the map, but preserve the automorphism group. Each elementary reduction modifies a particular part of a map using vertex deletions and edge contractions. All the vanishing structural information necessary to reconstruct the automorphism group is in each step preserved by using special labels. When no further reductions are possible, we say that the map is irreducible. Then the generators of the automorphism group of the input map can be reconstructed from the generators of the automorphism group of the associated irreducible map in linear time. An important technical aspect is that we use an algebraic description of maps which is very convenient when working with automorphisms and it also makes the proofs formal.

In [18] and [21] the approach is to first reduce an input map to a -valent map, for some . To proceed further, they introduce another set of reductions which apply only to -valent maps and produce an irreducible homogeneous map, where every vertex is of degree and every face is of degree . This latter set of reductions is hard to formalize, and it is unclear whether they preserve the map automorphisms. In our work, we relax the set of irreducible maps to uniform maps

, where the cyclic vector of face degrees at each vertex is the same. This allows us to keep the simpler and more manageable set of reductions. For surfaces of fixed negative Euler characteristics this is sufficient, since the size of a uniform irreducible map is bounded by a function of the genus. If the Euler characteristics is non-negative, we reduce the problem to spherical cycles in case

, or to toroidal triangular, or quadrangular grids in case . To solve the problem for these highly symmetric maps we introduce special algorithms. The linear algorithm for the toroidal case is highly non-trivial and contains a lot of new ideas. See Section 5.3 for details.

Another conceptual contribution is the periodic reduction (Section 4), which appears in [18] only in its simplest instance and it does not appear in [21]. This concept is of crucial importance, and in fact, this is exactly the tool which allows to jump from the spherical case to a general surface. Finally, an essential contribution is the use of the antipodal double-cover to extend the main result to maps on non-orientable surfaces.

Linear time bound. Obtaining a linear bound on the complexity of our algorithm is delicate and a lot of details need to be taken into account. In particular, it is necessary to prove that the number of elementary reductions is linear, to prove that the time spent on every elementary reduction is proportional to the size of the part of the map removed by the reduction. Particular attention has to be paid to the management and computation of labels. For the sphere and the torus there are infinite classes of irreducible maps and special algorithms must be designed and their linearity established.

Structure of the paper. In Section 2, we give the necessary background in the theory of maps. Most importantly, we recall a purely algebraic definition of a map, which defines it as a permutation group generated by three fixed-point-free involutions. After this preparation, we give a more detailed overview of the whole algorithm in Section 3. Sections 46 form the technical part of the paper. In Section 4, we describe all the elementary reductions, in Section 5, we deal with the irreducible maps, and in Section 6 we consider maps on non-orientable surfaces. We summarize the algorithm and analyze its complexity in Section 7.

## 2 Preliminaries

A map is an embedding of a connected graph to a surface such that every connected component of is homeomorphic to an open disc. The connected components are called faces. By , , and we denote the sets of vertices, edges, and faces of , respectively. We put , , and . An automorphism of a map is a permutation of the vertices which preserves the vertex-edge-face incidences.

Recall that connected closed compact surfaces are characterized by two invariants: orientability and the Euler characteristic . For the orientable surfaces, the latter can be replaced by the (orientable) genus , which is the number of tori in the connected sum decomposition of the surface, and for the non-orientable surfaces by the non-orientable genus , which is the number of real projective planes in the connected sum decomposition of the surface. The following is well-known.

###### Theorem 2.1 (Euler-Poincaré formula).

Let be a map on a surface . Then

 v(M)−e(M)+f(M)=χ(S)={2−2g,if S has genus % g;2−γ,if S has non-orientable genus γ.

In what follows, we give an algebraic description of a map, which defines it as a group generated by three fixed-point-free involutions acting on flags. A flag is a triple representing a vertex-edge-face incidence. The involutions are simply instructions on how to join the flags together to form a map. There are several advantages: (i) in such a form, maps can be easily passed to an algorithm as an input, (ii) verifying whether a mapping is an automorphism reduces to checking several commuting rules, and (iii) group theory techniques can be applied to obtain results about maps. For more details see for example [19] and [14, Section 7.6].

Oriented maps. Even though our main concern are all maps, a large part of our algorithm deals with maps on orientable surfaces, where the algebraic description is simpler. An oriented map is a map on an orientable surface with a fixed global clockwise orientation. Every oriented map can be combinatorially described as a triple . Here, is the set of darts, where each edge gives rise to two darts. The permutation , called rotation, is the product , where each cyclically permutes the darts based at , following the chosen clockwise orientation around . The dart-reversing involution is an involution of that, for each edge, swaps the two oppositely directed darts arising from the edge.

Formally, a combinatorial oriented map is any triple , where is a finite non-empty set of darts, is any permutation of darts, is a fixed-point-free involution of , and the group is transitive on . By the size of the map, we mean the number of darts . We require transitivity because we consider connected maps which correspond to decompositions of surfaces.

The group is called the monodromy group of . The vertices, edges, and faces of are in one-to-one correspondence with the cycles of , , , respectively. By “a dart is incident to a vertex ” we mean that . Similarly, “ is incident to a face ” means that belongs to the boundary walk of defined by the respective cycle of . Note that each dart is incident to exactly one face. For convenience, we frequently use a shorthand notation , for . The dual of an oriented map is the oriented map .

Apart from standard map theory references, we need to introduce labeled maps. A planted tree is a rooted tree embedded in the plane, i.e., by permuting the children of a node we get different trees. We say that a planted tree is integer-valued if each node is assigned some integer. A dart-labeling of an oriented map is a mapping , where is the set of rooted integer-valued planted trees. A labeled oriented map is a -tuple . The dual map is the map defined as .

Two labeled oriented maps and are isomorphic, in symbols , if there exists a bijection , called an (orientation-preserving) isomorphism from to , such that

 ψR1=R2ψ,ψL1=L2ψ,andℓ1=ℓ2ψ. (2.1)

The set of all (orientation-preserving) isomorphisms from to is denoted by . The (orientation-preserving) automorphism group of is the set , and we denote it by . Algebraically, is just the centralizer of the monodromy group in , the group of all permutations in that commute with those in . Note that, in general, the permutations and are not automorphisms of the map or of the underlying graph. The following statement, well-known for unlabeled maps, extends easily to labeled maps.

###### Theorem 2.2.

Let and be labeled oriented maps with sets of darts and , respectively. For every and every , there exists at most one isomorphism mapping to . In particular, is fixed-point-free (semiregular) on .

###### Corollary 2.3.

Let and be labeled oriented maps with sets of darts and , respectively. If and , then it can be checked in time whether there is an isomorphism mapping to .

Chirality. The mirror image of an oriented map is the oriented map . Similarly, the mirror image of labeled oriented map is the map , where is the mirror image of for each .

An oriented map is called reflexible if . Otherwise the maps and form a chiral pair. For example, all the Platonic solids are reflexible. The set of all isomorphisms from to is defined as . Similarly, we put .

Maps on all surfaces. Let be a map on any, possibly non-orientable, surface. In general, a combinatorial non-oriented map is a quadruple , where is a finite non-empty set of flags, and are fixed-point-free111It is possible to extend the theory to maps on surfaces with boundaries by allowing fixed points of . involutions such that and the group acts transitively on . By the size of the map we mean the number of flags .

Each flag corresponds uniquely to a vertex-edge-face incidence triple . Geometrically, it can be viewed as the triangle defined by , the center of , and the center . The group is called the non-oriented monodromy group of . The vertices, edges, and faces of correspond uniquely to the orbits of , , and , respectively. Similarly, an isomorphism of two non-oriented maps and is a bijection which commutes with .

The even-word subgroup has index at most two in the monodromy group of . If it is exactly two, the map is called orientable. For every oriented map it is possible to construct the corresponding non-oriented map . Conversely, from an orientable non-oriented map it is possible to construct two oriented maps and .

Test of orientability. For a non-oriented map , it is possible to test in linear time if is orientable [13, 27]. The barycentric subdivision of is constructed by placing a new vertex in the center of every edge and face, and then joining the centers of faces with the incident vertices and with the center of the incident edges. The dual of is -valent map, i.e., every vertex is of degree .

###### Theorem 2.4.

A map is orientable if and only if the underlying -valent graph of the dual of the barycentric subdivision of is bipartite.

Degree types and refined degree types. By the degree of a face we mean the length of its boundary walk. A face of degree will be called a -face. By a cyclic vector of length we mean the orbit in the action of the cyclic group on a set of -dimensional vectors shifting cyclically the entries of vectors. The -dimensional vectors are endowed with the lexicographic order, therefore we can represent each cyclic vector by its minimal representative. For a vector we denote by its length.

Let be an oriented map and let be a vertex of degree . Let be its neighbors, listed according to the chosen orientation. The degree type of is the minimal representative of the respective cyclic vector of degrees of the neighbors of , where minimality is defined as follows. We set if , or if and is lexicographically smaller than .

Following the clockwise orientation, the cyclic vector of degrees of faces incident with a vertex is called the local type of . The refined degree of , denoted , is the minimal representative of the local type, where the order of local types is defined in the same was as above for degree types. Note that . The refined degree type of is the lexicographically minimal representative of the cyclic vector , where are the neighbors of listed in the order following the clockwise orientation. Similarly as above, we set if , or if and is lexicographically smaller than .

For our paper, the following observation will be important: the degree types and the refined degree types are preserved by map isomorphisms. In particular, the respective decomposition(s) of the vertex-set of a map has the following property: the set of vertices of the same (refined) degree type is a union of orbits in the action of .

Light vertices. A map is called face-normal, if all its faces are of degree at least three. It is well-known that every face-normal map on the sphere or on the projective plane has a vertex of degree at most . Using the Euler-Poincaré formula, this can be generalized for other surfaces.

###### Theorem 2.5.

Let be a closed compact surface with Euler characteristic and let be a face-normal map on . Then there is a vertex of valence at most .

###### Proof.

A bound for maximum degree is achieved by a triangulation, thus we may assume that is a triangulation. We have . By plugging this in the Euler-Poincaré formula and using the Handshaking lemma, we obtain , where is the average degree. By manipulating the equality, we get . Since , the right hand side is maximized for . We conclude that . ∎

We say that a vertex is light if its valence is at most , for . If then the vertex is light if its valence is at most .

Uniform and homogeneous maps. A map is uniform222In [2] Babai uses the term semiregular instead of uniform. if the local types (or equivalently, the refined degrees) of all vertices are the same. A map is homogeneous of type if every vertex is of degree and every face is of degree . A dipole is a -vertex spherical map which is dual to a spherical cycle. A bouquet is a one-vertex map that is a dual of a planted star (a tree with at most one vertex of degree ).

###### Example 2.6.

The face-normal uniform spherical maps are: the Platonic solids, the Archimedean solids, pseudo-rhombicuboctahedron, prisms, antiprisms, and cycles of length at least . It easily follows from Euler’s formula that the spherical homogeneous maps are the Platonic solids, cycles, and dipoles.

## 3 Overview of the algorithm

Using the background provided in the previous section, we are able to give more detailed overview of the whole algorithm. Our algorithm applies a set of local reductions defined formally in Section 4. For a given input map oriented map it produces a sequence of labeled maps , where and is a uniform map. We informally introduce particular parts of the algorithm

Priorities. The elementary reductions are ordered by a priority. Each reduction has a list of darts, or of vertices and darts is attached. The attached list determines the part of the considered map which is going to be modified by the respective reduction. In each step a reduction with highest priority with non-empty attached list is executed. When performing an elementary reduction, the finite set of lists attached to the elementary reductions are reconstructed.

The reduction process is multilevel. Firstly, the map is reduced to a face-normal map. Secondly, a face-normal map is reduced to a -valent map. Thirdly, a -valent map is reduced to a uniform map. Finally, special algorithms are used to deal with some infinite series of uniform maps. The number of operations used there is controlled by the sum , which in each step decreases. Formally the reductions are described as transformations of the combinatorial labeled maps . This is needed to produce exact proofs that the isomorphism relation is in each step preserved. In what follows we explain them informally to help the reader.

Normalization. At the first level, called , the input map is changed to become face-normal. This is done by performing two types of elementary reductions: the first one deletes sequences of -faces attached to a vertex; see Figure 1. The second one replaces a sequence of -faces by a single edge, see Figure 2. Normalization terminates with a face-normal map, or with a bouquet, or with a dipole. The reader can find a detailed explanation of Normalization in Subsection 4.1.

From face-normal to -valent maps. Assume we have a face-normal map that is not -valent. By Euler’s theorem it contains a non-empty list of light vertices. Moreover, by connectivity there are edges joining a vertex of minimum degree to a vertex of higher degree. Suppose at each vertex of minimum degree one can canonically identify a unique edge of this sort. Then the set of these edges forms a union of orbits in the action of the group of orientation preserving automorphisms. One can prove that induces a disjoint union of stars, see Lemma 4.5. When these assumptions are satisfied, a reduction called is executed for a degree-type . The reduction contracts each star with pendant light vertices of degree type to the central vertex. There are just finitely many classes of to consider, the list of all possible that can occur on a sphere can be found in Subsection 4.2. The algorithm executes for being minimal.

It may happen that the reduction cannot be used, because we are not able to identify in a canonical way the edges that are going to be contracted. The algorithm recognises this by checking that the lists attached to are empty for all . Further analysis shows that this happens when all the light vertices are either joined to the vertices of higher degree (such vertices are said to be of large degree type), or they are of periodic type. Therefore we first get rid of vertices of large type by expanding each such vertex of degree to a -face; see Figure 3. The respective reduction is called . After that the algorithm either returns to , or, if the map remains face-normal, applies again.

If , , and cannot be executed, we obtain a -valent map, or vertices with periodic degree types. In this situation the algorithm employs the reduction . This reduction is the most complex, see Figure 5. The process of reduction of a face-normal map to a -valent map is described in detail in Subsection 4.2.

From -valent maps to uniform. If the map is a -valent face-normal map (for some ), none of the above reductions applies. In particular, we cannot use the difference in degrees of end-vertices of edges to determine the set of edges to be contracted. The original Hopcroft-Wong algorithm at this stage introduces new kinds of reductions that are difficult to describe both formally and informally. Here our algorithm differs essentially. The main new idea consists in the observation that there is no need to introduce new reductions for face-normal -valent maps, but the reductions , and can be used, where instead of degrees and degree types, we use the refined degrees (local types) and refined degree types to identify the part of map which is going to be modified. If we obtain a map which is not -valent, then we return back to the degree type version of the reductions, or to . We repeat this process until the map becomes uniform, i.e., it has the same refined degree type at each vertex.

Labels. The elementary reductions are defined in a way that the set of darts of the reduced map is a subset of the set of darts of the input map. For some of the reductions we have . Moreover, the deleted darts always form a union of orbits in the action of the orientation preserving automorphism group. For each reduction we show that for a given isomorphism , its restriction is an isomorphism between the reduced maps. To reverse the implication, labels attached to darts of the maps are introduced. It transpires that the best data-structures for the labels are planted rooted trees with nodes labeled by integers. They have several advantages. Firstly, the management of the labels is efficient. Secondly, the main concepts of the theory of oriented maps easily extend to labeled maps. Thirdly, the labels can be used for a backward reconstruction of the input map from the associated reduced map. More details on the labels can be found in Section 7.

Uniform maps. If is at least , then by Euler’s formula, the number of uniform maps is bounded by a function of , and the generators of the automorphism group can be computed by brute force. Similarly for the finite families of uniform maps on the sphere. For all the infinite classes of spherical and toroidal maps, we describe special algorithms in Section 5.

Non-oriented maps. The input of the whole algorithm is a non-oriented map . First, we compute its Euler characteristic by performing a breadth-first search. Then, we test whether it is orientable using Theorem 2.4. If is orientable, then we construct the associated oriented maps and and use the sketched algorithm to compute and to find any . The group is reconstructed from and . If is not orientable, then we reconstruct from the automorphisms of the antipodal double-cover of ; for more details see Section 6.

## 4 From oriented maps to uniform oriented maps

In this section, we describe in detail a set of elementary reductions defined on labeled oriented maps, given by a quadruple . The output of each elementary reduction is always a quadruple , satisfying , , and . We show that if none of the reductions apply, the map is a uniform oriented map. This defines a function which assigns to a given oriented map a unique labeled oriented map with . Since the darts of form a subset of the darts of , by semiregularity, every generator of can be extended to a generator of in linear time. We deal with the uniform oriented maps in Section 5.

After every elementary reduction, to ensure that , we need to define a new labeling . To this end, in the whole section, we assume that we have an injective function , where is the set of all integer-valued planted trees. Moreover, we assume that the root of contains the integer , corresponding to the current step of the reduction procedure. After every elementary reduction, this integer is increased by one. In Section 7, we show how to evaluate in linear time.

### 4.1 Normalization

By Theorem 2.5, there is always a light vertex in a face-normal map. The purpose of the following reduction is to remove faces of valence one and two, unless the whole map is a bouquet or a dipole which we define to be irreducible. This reduction is of the highest priority and it is applied until the map is one of the following: (i) face-normal, (ii) bouquet, (iii) dipole. In the cases (ii) and (iii), the whole reduction procedure stops with a uniform map. In the case (i), the reduction procedure continues with further reductions. We describe the reduction formally.

Reduction: Priority: 0 Input: Oriented map which is not face-normal. Output: Oriented map which is face-normal, or a bouquet, or a dipole such that .

For technical reasons we split the reduction into two parts: deletion of loops, denoted by , and replacement of a dipole by an edge, denoted by .

Reduction . If with contains loops, we remove them. Let be the list of all maximal sequences of darts of the form , where , for , for , and . By definition, , hence and bound a -face; see Figure 1. Moreover, for each such sequence , all the darts are incident to the same vertex . We say that the unique vertex with , for some darts , is incident to . We call the darts and the bounding darts of the sequence . Note that it may happen that , however, for every , we have since otherwise and the map is a bouquet.

The new map is defined as follows. First, we put , and . Let with bounding darts and . If is incident to , then we put , else we put . Moreover, we put and , where is the current step, , for , and , for . For every which is not a bounding dart in , we put . We obtain a well-defined map with no faces of valence one; see Figure 1.

###### Lemma 4.1.

Let , where , be labeled oriented maps. Let and . Then . In particular, .

###### Proof.

If has no -faces or if is a bouquet, then and there is nothing to prove. Otherwise, let be an isomorphism. We prove that is an isomorphism of and . Since preserves the set of -faces, the mapping is a well-defined bijection. We check the commuting rules (2.1) for .

By the definition of , , for . Thus, we have . As concerns the permutations and , we need to check the commuting rule only at the darts preceding a sequence of -faces (in the clockwise orientation). With the above notation, using the definition of and , and the fact that is an isomorphism, we get

 ψ′R′1x0=ψ′R1(L1R1)kx0=ψR1(L1R1)kx0=R2(L2R2)kψx0=R2(L2R2)kψ′x0=R′2ψ′x0.

Finally, for and , we have, by the definition of ,

 ℓ′1(x0)=Label(t,ℓ1(x0),…,ℓ1(xk))=Label(t,ℓ2(ψx0),…,ℓ2(ψxk))=ℓ′2(ψ′x0)

if and only if

 ℓ1(xi)=ℓ2(ψxi), for i=0,…,k,

which is satisfied since is an isomorphism. Similarly, .

Conversely, let be an isomorphism. With the above notation, we have

 xi=R1(L1R1)ix0andxk+1=R′1x0.

Since is injective, it follows that there are in such that

 yi=R2(L2R2)iψ′x0.

Here we employ the fact that is increased after every elementary reduction. This forbids the existence of an isomorphisms taking a bounding dart to a dart that is not bounding, i.e., takes the set of bounding darts onto the set of bounding darts. We define an extension of by setting , for . It is straightforward to check that . ∎

Reduction . If with contains dipoles as submaps, we replace them by edges. Let be the list of all maximal sequences of darts, , satisfying , , and either or ; see Figure 2. Let be the inverse sequence. There are vertices and such that and , for some . At least one of the sets , is non-empty since otherwise and is a dipole. We say that are incident to , respectively; see Figure 2

The new map is defined as follows. First, we put . Let . If and are incident to and , respectively, then we put and , else we put . Next, we put , , and if . Finally, we put and , where is the current step, and , for . We put for . We obtain a well-defined map with no -faces; see Figure. 2.

###### Lemma 4.2.

Let , where , be labeled oriented maps. Let and . Then . In particular, .

###### Proof.

Let be an isomorphism. We prove that is an isomorphism of and . Since preserves the set of -faces, the mapping is a well-defined bijection. We check the commuting rules (2.1) for .

By the definition of , and . We have

 ψ′L′1x1=ψ′L1Rk−11x1=ψL1Rk−11x1=L2Rk−12ψx1=L′2ψ′x1,

and

 ψ′L′1x−1k=ψ′L1Rk−11x−1k=ψL1Rk−11x−1k=L2Rk−12ψx−1k=L′2ψ′x−1k.

It follows that .

For and , it follows that we need to check the commuting rule only at the darts and bounding a sequence of -faces in . With the above notation, using the definition of and , and the fact that is an isomorphism, we get

 ψ′R′1x1=ψ′Rk−11x1=ψRk−11x1=Rk−12ψx1=R′2ψx1=R′2ψ′x1.

For , the verification of the commuting rules looks the same.

For and , we have, by the definition of ,

 ℓ′1(x1)=Label(s,ℓ1(x1),…,ℓ1(xk))=Label(s,ℓ2(ψx1),…,ℓ2(ψxk))=ℓ′2(ψ′x1)

if and only if

 ℓ1(xi)=ℓ2(ψxi), for i=1,…,k,

which is satisfied since is an isomorphism. Similarly, we check that .

Conversely, let be an isomorphism. With the above notation, we have

 xi=Ri−11x1andx−1i=Ri−1x−1k,

for . Since is injective, it follows that there are in such that

 yi=Ri−12ψ′x1

determining a sequence of -faces. We define an extension of of by setting , for . It is straightforward to check that the extension . ∎

### 4.2 Face-normal maps

Let be a face-normal oriented map with a vertex of minimum degree . By Theorem 2.5, is bounded by a function of , where is the genus of the underlying surface of . Let be the neighbors of , and let be its degree type, where , for . We have for all , . We say that has

• large type if for all ,

• small type if there exists with and , and

• homogeneous type if , for .

A small degree type is called periodic if it can be written in the form

 (d,m1…,mk,…,d,m1,…,mk),

where and the sequence occurs at least twice. A small degree type is called aperiodic, if it is not periodic.

###### Example 4.3.

For example, if is a face-normal spherical map, then and the only possible periodic type is , where .

For a spherical map and any suitable integers , the following are all the possible aperiodic types: , , , , , , , , ,