The graph isomorphism problem on geometric graphs

The graph isomorphism (GI) problem asks whether two given graphs are isomorphic or not. The GI problem is quite basic and simple, however, it’s time complexity is a long standing open problem. The GI problem is clearly in NP, no polynomial time algorithm is known, and the GI problem is not NP-complete unless the polynomial hierarchy collapses. In this paper, we survey the computational complexity of the problem on some graph classes that have geometric characterizations. Sometimes the GI problem becomes polynomial time solvable when we add some restrictions on some graph classes. The properties of these graph classes on the boundary indicate us the essence of difﬁculty of the GI problem. We also show that the GI problem is as hard as the problem on general graphs even for grid unit intersection graphs on a torus, that partially solves an open problem.


Introduction
For any two given graphs G 1 = (V 1 , E 1 ) and G 2 = (V 2 , E 2 ) with |V 1 | = |V 2 |, the graph isomorphism (GI) problem asks whether there exists a one-to-one mapping φ between two given graphs.That is, G 1 and G 2 are isomorphic if and only if there exists a bijective function φ : V 1 → V 2 such that {u, v} ∈ E 1 if and only if {φ(u), φ(v)} ∈ E 2 .Although the GI problem is quite natural, determining its time complexity is a long standing open problem.The problem is clearly in NP, but it is not known to be NP-complete or not.
From the viewpoint of the computational complexity, it is not likely that the GI problem is NP-complete.If it is NP-complete, the polynomial hierarchy collapses to its second level (Boppana et al. (1987)).On the other hand, it is known that the GI problem is hard for the class DET (and hence NL) (Torán (2004)).Some comprehensive survey of the structural complexity of the GI problem can be found in Köbler et al. (1993).When we turn to develop an exponential time algorithm, it is known that the GI problem can be solvable in 2 O( √ n log n) time (Zemlyachenko et al. (1985); Babai and Luks (1983)).Recently, Grohe investigates the GI problem from the viewpoint of a group theoretic approach with structural graph theory (Grohe (2012(Grohe ( , 2013))): for example, the Weisfeiler-Lehman algorithm (a simple combinatorial algorithm) solves the GI problem for graph classes with excluded topological subgraphs in polynomial time (Grohe and Marx (2012)).
We here remark that the GI problem has a hereditary property.More precisely, for any graph classes C 1 and C 2 with C 1 ⊂ C 2 , if the GI problem is polynomial time solvable for the class C 2 , so is for C 1 .On the other hand, if it is as hard as on general graphs for the class C 1 , so is for C 2 .(We note that this property does not hold on the recognition problem for these graph classes.This fact will be discussed in the concluding remarks.)The hereditary property leads us to the notion of GI-completeness: The GI problem on the class C is said to be GI-complete if it is as hard as on general graphs under polynomial time reduction (see, e.g., Uehara et al. (2004)).Last few decades, many graph classes have been proposed and investigated (Brandstädt et al. (1999); McKee and McMorris (1999); Spinrad (2003); Golumbic (2004)).Typical examples are interval graphs, that are intersection graphs of intervals, and chordal graphs, that are intersection graphs of subtrees of a tree.The GI problem can be solved in linear time for interval graphs, while the problem for chordal graphs is GI-complete.If we can clarify the gap between these graph classes, it indicates the essential difficulty of the GI problem.
In 1970s, some efficient algorithms were developed for the GI problem on basic graph classes, which include planar graphs (Hopcroft and Tarjan (1974)), interval graphs (Booth and Lueker (1976)).(We note that Myrvold and Kocay pointed out that some early papers for planar graphs share common errors Myrvold and Kocay (2011).)Since the Reingold's log-space algorithm for undirected connectivity (Reingold (2008)), some log-space algorithms for planar graphs (Datta et al. (2009)) and interval graphs (Köbler et al. (2011)) are also developed.For circular arc graphs, once Hsu reported O(nm) time algorithm in 1995 (Hsu (1995)), however, a counterexample for the algorithm is found recently (Curtis et al. (2012)), and the time complexity of the GI problem for the circular arc graphs becomes open again.
In this paper, we focus on some graph classes that have geometric representations.That is, these graph classes consist of intersection graphs of geometric objects (e.g., intervals, trees, orthogonal rays).We introduce some graph classes including relatively new ones, and the current status of the GI problem for these graph classes.To demonstrate some basic techniques, we prove that the GI problem is GI complete for unit grid intersection graphs on a torus, which partially solves an open problem.

Preiminalies
The neighborhood of a vertex v in a graph For a graph G = (V, E), a sequence of distinct vertices v 0 , v 1 , . . ., v l is a path, denoted by (v 0 , v 1 , . . ., v l ), if {v j , v j+1 } ∈ E for each 0 ≤ j < l.The length of a path is the number of edges on the path.For two vertices u and v, the distance of the vertices, denoted by dist(u, v), is the minimum length of the paths joining u and v.A cycle consists of a path (v 0 , v 1 , . . ., v l ) of length at least 2 with an edge {v 0 , v l }, and denoted by (v 0 , v 1 , . . ., v l , v 0 ).The length of a cycle is the number of edges on the cycle (equal to the number of vertices).
Two graphs G = (V, E) and G = (V , E ) are isomorphic if and only if there is a one-to-one mapping φ : V → V such that {u, v} ∈ E if and only if {φ(u), φ(v)} ∈ E for every pair of vertices u, v ∈ V .We denote by G ∼ G if G and G are isomorphic.The graph isomorphism (GI) problem is to determine if G ∼ G for given graphs G and G .A graph class C is said to be GI-complete if there is a polynomial time reduction from the GI problem for general graphs to the GI problem for C. Intuitively, the GI problem for the class C is as hard as the problem for general graphs if C is GI-complete.
An edge that joins two vertices of a cycle but is not itself an edge of the cycle is a chord of that cycle.A graph is chordal if every cycle of length at least 4 has a chord.A graph G = (V, E) is bipartite if and only if V can be partitioned into two sets X and Y such that every edge joins a vertex in X and the other vertex in Y .A bipartite graph is chordal bipartite if every cycle of length at least 6 has a chord.

Geometric graph classes and their relationship
In this paper, we will discuss about intersection graphs of geometrical objects.Representatively, interval graphs are characterized by intersection graphs of intervals, and it is well known that chordal graphs are intersection graphs of subtrees of a tree (see, e.g., Spinrad (2003)).
A bipartite graph G = (X, Y, E) is a grid intersection graph if every vertex x ∈ X and y ∈ Y can be assigned to line segments I x and J y in the plane, parallel to the horizontal and vertical axis respectively, so that for all x ∈ X and y ∈ Y , {x, y} ∈ E if and only if I x and J y cross each other.We call (I, J ) a grid representation of G, where A grid representation is unit if all line segments in the representation have the same (unit) length.A bipartite graph is a unit grid intersection graph if it has a unit grid representation.Otachi, Okamoto, and Yamazaki show some relationship between (unit) grid intersection graphs and other graph classes (Otachi et al. (2007)); one of them is that interval bigraphs are included in the intersection of unit grid intersection graphs and chordal bipartite graphs.
In a grid intersection graph, if each line segment can be replaced by a ray, or half-infinite line, we obtain an orthogonal ray graph.The notion of orthogonal ray graphs is recently introduced by Ueno (Shrestha et al. (2010)), motivated by an application of VLSI design.He also proposed the notions of 2D and 3D orthogonal ray graphs which are the restricted orthogonal ray graphs with respect to the directions of rays (2D allows two directions, and 3D allows three directions among four possible directions).Based on their characterization of 2D orthogonal ray graphs, the GI problem for 2D orthogonal ray graphs can be solved in polynomial time.We here note that in (Shrestha et al., 2010, Corollary 14), they use the result for circular arc graphs by Hsu (Hsu (1995)), which contains a bug as mentioned in Introduction.However, their characterization in (Shrestha et al., 2010, Theorem 12) can avoid the bug.More precisely, the characterization in Shrestha et al. (2010) shows that 2D orthogonal ray graphs are characterized by circular arc graphs with two cliques (that is, each vertex belongs to one of these two cliques), and Eschen proposed a polynomial time algorithm for the GI problem in this case (see Curtis et al. (2012) further details).Moreover, recently, Chaplick et.al also give alternative characterizations supporting that the GI problem can be solved in polynomial time for 2D orthogonal ray graphs (Chaplick et al. (2013)).
We summary the situation in Fig. 1.

GI completeness of unit grid intersection graph on a torus
The main theorem in this section is the following: Theorem 1 The GI problem is GI-complete even for the class of connected unit grid intersection graphs on a torus.
The proof is done by a reduction from the GI problem for general connected graphs to the GI problem for connected unit grid intersection graphs on a torus.Similar idea can be found in Babel et al. (1996); Uehara et al. (2004); Uehara (2008Uehara ( , 2013)).
Proof: We first start the GI problem for general connected graph G 0 = (V 0 , E 0 ) with |V 0 | = n and |E 0 | = m.(we will refer the graph G 0 in Fig. 2(1) as an example).From G 0 , we first add extra vertices V 1 with associated edges E 1 as follows: (1) For each vertex v of degree 1 in V 0 , we add v and (Intuitively, each edge in G 1 is divided into two edges joined by a new vertex; see Fig. 2(2)(3)).Then, e ∈ E 0 have degree 2 in G 2 by its two endpoints in V 0 ∪ V 1 .Moreover, by the definition of V 1 , we can observe that v is in V 1 if and only if v has degree 1 in G 2 , and v is in V 0 if and only if v has degree at least 3 in G 2 .It is easy to see that G 0 ∼ G 0 if and only if G 2 ∼ G 2 , for any graphs G 0 and G 0 with resulting graphs G 2 and G 2 , respectively.(1) G 0 Fig. 2: Reductions from G0 to G1, G1 to G2, and from G2 to G3.
Now, we construct a new bipartite graph G 3 = (X 3 , Y 3 , E 3 ) that is a unit grid intersection graph on a torus from the bipartite graph and only if G 3 ∼ G 3 in the same manner.(For the G 2 in Fig. 2(3), the resulting graph is shown in Fig. 2(4).We illustrate G 3 in the figure by unit grid intersection model since its corresponding intersection graph has too many edges.Intuitively, each connection in G 2 is represented by a non-crossing in G 3 .) The vertex set X 3 is defined by The other vertex set Y 3 consists of |E 2 | pairs of vertices.For each edge e = {u, v} ∈ E 2 , Y 3 contains a pair of e u and e v .Precisely, Y 3 is defined by the set {e u |u ∈ e ∈ E 2 }.To make the idea clearer, we consider Y 2 as the set consists of the pairs [e] = {e u , e v } for each edge in E 2 .Now we define the edge set E 3 of G 3 .First we mention that each of , and e u is also joined to all vertices in (E 0 ∪ E 1 ) ⊂ X 3 but e ∈ (E 0 ∪ E 1 ).The other vertex e v is joined to almost all vertices in the same manner.This completes the construction of G 3 .It is easy to see that the resulting graph has n + m + 2m + 1 = n + 3m + 1 vertices, hence it is a polynomial time reduction.Now we show that (1) G 0 ∼ G 0 if and only if G 3 ∼ G 3 , and (2) G 3 is a unit grid intersection graph on a torus.
(1) We show that when G 3 is given, we can reconstruct G 0 from G 3 up to isomorphism.Since G 3 is connected and bipartite, two vertex sets X 3 and Y 3 are easy to find.Now, all vertices in Y 3 has the same degree |X 3 | − 2. On the other hand, by the construction of G 1 and G 3 , each vertex in Moreover, since G 0 is not trivial, X 3 contains at least one vertex from V 0 , which has degree at most |Y 3 | − 3. Therefore, checking the degrees, we can distinguish Y 3 from X 3 , and we can extract V 0 and V 1 from X 3 .This is enough information to reconstruct G 0 from G 3 .We first determine the vertices in V 1 by their degree equal to 1, and remove with associate edges in E 1 .Then the remaining graph contains only V 0 and E 0 .
(2) Now we show that G 3 is a unit grid intersection graph on a torus (see Fig. 2(4)).We first arrange the vertices in Y 3 as the set of vertical lines.For each pair [e] = {e u , e v }, the corresponding lines are arranged to be adjacent.The ordering among the pairs is arbitrary.Next we arrange the vertices in as horizontal lines.We here split V 0 , V 1 , E 0 , and E 1 on the representation, but their ordering is arbitrary.Now we determine the positions of two endpoints for each line segments.For each [e] = {e u , e v }, two endpoints of the vertical line corresponding to e u are arranged to avoid crossing the vertex u itself in (V 0 ∪ V 1 ) ⊂ X 3 .The other line corresponding to e v is arranged in the same manner.It is easy to see that it is possible for all vertices in Y 3 (as shown in bottom half area of Fig. 2(4)).For each vertex e ∈ (E 0 ∪ E 1 ) ⊂ X 3 , two endpoints of the horizontal line corresponding to e are arranged to avoid crossing the pair [e] itself in Y 3 .It is possible for all vertices in (E 0 ∪ E 1 ) ⊂ X 3 since two corresponding line segments are adjacent (as shown in top half area of Fig. 2(4)).We also arrange two endpoints of the horizontal lines representing the vertices in (V 0 ∪ V 1 ) ⊂ X 3 in a trivial way (as shown in bottom left area of Fig. 2(4)).
We can put this arrangement onto a torus (by gluing the corresponding gray arrows in Fig. 2(4)).Changing its scale, all gaps can be the same length > 0. Thus all line segments are of unit length.
Hence the GI problem for unit grid intersection graphs on a torus is as hard as the GI problem for general graphs.Thus the GI problem is GI-complete for unit grid intersection graphs on a torus. 2

Concluding Remarks
In this paper, we show a hierarchy of graph classes with respect to the computational complexity of the GI problem.We give a partial answer to the unit grid intersection graphs: it is GI-complete if they are on a torus.The computational complexity of the GI problem for the following classes are still open: unit grid intersection graphs on a plane, orthogonal ray graphs, and 3D orthogonal ray graphs.One of basic problems for graph classes is the recognition problem.That is, for any given graph G and some graph class C, the recognition problem asks if G is a member of C or not.The recognition problem is not hereditary, but we need useful structures to recognize a class, and they are also helpful for solving the GI problem.From this viewpoint, it is worth listing the computational complexity of the recognition problem for these graph classes.The class of bipartite permutation graphs is well-investigated, and it can be recognized in polynomial time (see, e.g., Spinrad et al. (1987); Kratsch et al. (2003)).It is also known that convex bipartite graphs can be recognized in linear time (see Brandstädt et al. (1999)).The class of 2D orthogonal ray graphs is also recognized in polynomial time (Shrestha et al. (2010); Chaplick et al. (2013)).The class of chordal bipartite graph can be recognized in O(min{m log n, n 2 }) time (Hoffman et al. (1985); Lubiw (1987); Paige and Tarjan (1987); Spinrad (1993)).On the other hand, the recognition problem of grid intersection graphs is NP-complete (Kratochvil (1994)), and recently, the NP-completeness for unit grid intersection graphs is also shown by Mustat ¸ȃ and Pergel (2013).The recognition problems for the classes of orthogonal ray graphs and 3D orthogonal ray graphs are open.When we discuss computational complexity of the GI problem for a graph class, we have to take care of computational complexity of the recognition problem, especially, when it is NP complete.Now suppose that the recognition problem is NP complete for some class C. Then we have to suppose that given graph is in C a priori without geometric representation.In the case, even if we know a graph G is in a class C, it is not clear if we can construct its geometric representation efficiently, and if we can use some property of the class provided by the representation.Therefore, we may not be able to use its geometric property to solve the GI problem according to the assumption of the input of the problem (it can be natural to assume that graphs are given in some explicit representations).
Another interesting hierarchy of graph classes is shown in Fig. 3.Both of permutation graphs and interval graphs are recognizable in linear time; precisely, their geometric representations can be constructed in linear time (see Kratsch et al. (2003) for recent results with references).The classes of simple triangle graphs, triangle graphs, and trapezoid graphs are natural generalization of these classes.However, computational complexity of the GI problem are still open for these classes.Surprisingly, though the recognition problems for the classes of trapezoid graphs and simple triangle graphs are polynomial time solvable (see Mertzios and Corneil (2009)), the recognition problem for the class of triangle graphs is NP-complete (Mertzios (2012)).
For permutation graphs and interval graphs, using the canonical tree structures based on their geometric representations, the GI problem can be solved in linear time.However, the computational complexity of the GI problem of the other three superclasses are still open.

Fig. 1 :
Fig. 1: Hierarchy of the graph classes and computational complexity of the GI problem.