For every surface S (orientable or non-orientable), we give a linear time algorithm to test the graph isomorphism of two graphs, one of which admits an embedding of face-width at least 3 into S. This improves a previously known algorithm whose time complexity is n O(g) , where g is the genus of S. This is the first algorithm for which the degree of polynomial in the time complexity does not depend on g.The above result is based on two linear time algorithms, each of which solves a problem that is of independent interest. The first of these problems is the following one. Let S be a fixed surface. Given a graph G and an integer k ≥ 3, we want to find an embedding of G in S of face-width at least k, or conclude that such an embedding does not exist. It is known that this problem is NP-hard when the surface is not fixed. Moreover, if there is an embedding, the algorithm can give all embeddings of face-width at least k, up to Whitney equivalence. Here, the face-width of an embedded graph G is the minimum number of points of G in which some non-contractible closed curve in the surface intersects the graph. In the proof of the above algorithm, we give a simpler proof and a better bound for the theorem by Mohar and Robertson concerning the number of polyhedral embeddings of 3-connected graphs.The second ingredient is a linear time algorithm for map isomorphism and Whitney equivalence. This part generalizes the seminal result of Hopcroft and Wong that graph isomorphism can be decided in linear time for planar graphs.
The Graph Isomorphism ProblemThe graph isomorphism problem asks whether or not two given graphs are isomorphic. It is one of the most fundamental problems in the theory of algorithms and in complexity theory. It is probably the most notorious problem whose algorithmic complexity is still largely undecided. While some complexity theoretic results indicate that this problem is not NP-complete (if it were, the polynomial hierarchy would collapse to its second level, see [13,8,26,27,65]), no polynomial time algorithm is known for it, even with extended resources like randomization or quantum computing.On the other hand, there is a number of important classes of graphs on which the graph isomorphism problem is known to be solvable in polynomial time. For example, in 1990, Bodlaender [9] gave a polynomial time algorithm for graph isomorphism of graphs of bounded tree-width. Many NPhard problems can be solved in polynomial time, even linear time, when input is restricted to graphs of tree-width at most k [3,10]. So, Bodlaender's result may not be surprising, but the time complexity in [9] is O(n k+2 ), and no one could improve the time complexity to O(n O(1) ) so far. This indicates that even for graphs of bounded tree-width, the graph isomorphism problem is not trivial at all.In this paper, we are interested in planar graphs and, more generally, graphs of bounded genus. In 1966, Weinberg [71] gave a very simple O(n 2 ) algorithm for the graph isomorphism problem of planar graphs. This was improved by Hopcroft and ...