Tractabilities and Intractabilities on Geometric Intersection Graphs

A graph is said to be an intersection graph if there is a set of objects such that each vertex corresponds to an object and two vertices are adjacent if and only if the corresponding objects have a nonempty intersection. There are several natural graph classes that have geometric intersection representations. The geometric representations sometimes help to prove tractability/intractability of problems on graph classes. In this paper, we show some results proved by using geometric representations.


Introduction
A graph G = (V, E) is said to be an intersection graph if and only if there is a set of objects such that each vertex v in V corresponds to an object O v and {u, v} ∈ E if and only if O v and O u have a nonempty intersection.Interval graphs are a typical intersection graph class, and widely investigated.One reason is that interval graphs have wide applications including scheduling and bioinformatics [1].Another reason is that an interval graph has a simple structure, and hence we can solve many problems efficiently, whereas the problems are hard in general [1,2].Some natural generalizations and/or restrictions on interval graphs have been investigated (see, e.g., [2][3][4]).One of the reasons why these intersection graphs are investigated is that their geometric representations sometimes give intuitive simple proof of the tractable/intractable results.On the tractable results, we can solve a problem by using their geometric representations.The geometric representation of a graph gives us an intuitive expression of how to solve a problem using the representation.On the other hand, on the intractable representation, we can express the difficulty of a problem using the geometric representation of a graph.This gives us an intuition of why the problem is difficult to solve.That is, the property of the graph representation also represents the intractableness of the problem.This extracts the essence of the difficulty of the problem and helps us to understand not only the property of the class of graphs, but also the difficulty of the problem.
In this paper, the author reorganizes and shows some related results about graph classes with geometric representations presented at two conferences [5,6] with recent progress.We will mainly consider threshold graphs, chain graphs, and grid intersection graphs.A threshold graph is a graph such that each vertex has a weight, and two vertices are adjacent if and only if their total weight is greater than a given threshold value.The vertex set of a threshold graph is partitioned into two groups such that "light" vertices induce an independent set while "heavy" vertices induce a clique.The threshold graphs form a proper subclass of interval graphs, and can be represented in a compact representation of O(n) space.A chain graph is a bipartite analogy of the notion of threshold graphs.From a threshold graph, we can obtain a chain graph by removing edges between heavy vertices.In a sense, a chain graph can be seen as a two dimensional extension of a threshold graph.From this viewpoint, a grid intersection graph is a two dimensional extension of an interval graph.More precisely, a bipartite graph G = (X, Y, E) is a grid intersection graph if and only if each vertex x ∈ X (and y ∈ Y ) corresponds to a vertical line (a horizontal line, resp.)such that two vertices are adjacent when they are crossing.
We first focus on a tractable problem on a graph that has a geometric representation.The bandwidth problem is one of the classic problems defined below.A layout of a graph G = (V, E) is a bijection π between the vertices in V and the set {1, 2, . . ., |V |}.The bandwidth of a layout π equals max{|π(u) − π(v)| | {u, v} ∈ E}.The bandwidth of G is the minimum bandwidth of all layouts of G.The bandwidth has been studied since the 1950s; it has applications in sparse matrix computations (see [7,8] for survey).From the graph theoretical point of view, the bandwidth of G is strongly related to the proper interval completion problem [9].The proper interval completion problem is motivated by research in molecular biology, and hence it attracts much attention (see, e.g., [10]).However, computing the bandwidth of a graph G is one of the basic and classic N P-complete problems [11] (see also [12,GT40]).Especially, it is N P-complete even if G is restricted to a caterpillar with hair length 3 [13].The bandwidth problem is N P-complete not only for trees, but also for split graphs [14] and convex bipartite graphs [15].From the viewpoint of exact algorithms, the problem seems to be a difficult one; Feige developed an O(10 n ) time exact algorithm for the bandwidth problem of general graphs in 2000 [16], and recently, Cygan and Pilipczuk improved it to O(4.383 n ) time (see [17][18][19] for further details).Therefore approximation algorithms for several graph classes have been developed (see, e.g., [15,[20][21][22][23]).Only a few graph classes have been known for which the bandwidth problem can be solved in polynomial time.These include chain graphs [24], cographs and related classes (see [25] for the details), interval graphs [26][27][28], and bipartite permutation graphs [6,29] (see [25] for a comprehensive survey).
One of the interesting graph classes for which the bandwidth problem can be solved efficiently is the class of interval graphs.In 1987, Kratsch proposed a polynomial time algorithm of the bandwidth problem for interval graphs [30].Unfortunately, the algorithm has a flaw, which has been fixed by Mahesh et al. [27].Kleitman and Vohra also show a polynomial time algorithm [26], and Sprague improves the time complexity to O(n log n) by sophisticated implementation of the algorithm [28].All the algorithms above solve the decision problem that asks if an interval graph G has bandwidth at most k for given G and k.Thus, using binary search for k, we can compute the bandwidth bw(G) of an interval graph G in O(M (n) • log bw(G)) time, where M (n) = O(n log n) is the time complexity to solve the decision problem [28].In the literature, it is mentioned that there are two unsolved problems for interval graphs.The first one is direct computation of the bandwidth of an interval graph.All the known algorithms are strongly dependent on the given upper bound k to construct a desired layout.To find a best layout directly, we need deeper insight into the problem and/or the graph class.The second one is to improve the time complexity to linear time.Since interval graphs have a relatively simple representation, many N P-hard problems can be solved in linear time including early results of recognition [31] and graph isomorphism [32].
Another interesting class consists of chain graphs.Chain graphs form a compact subclass of bipartite permutation graphs that plays an important role in developing efficient algorithms for the class of bipartite permutation graphs [33,34].The algorithm by Kloks, Kratsch, and Müller computes the bandwidth of a chain graph in O(n 2 log n) time [24].Their algorithm uses the algorithm for an interval graph as a subroutine, and the factor O(n log n) comes from the time complexity to solve the bandwidth problem for the interval graph in [28].
In this paper, we propose simple algorithms for the bandwidth problem for the classes of threshold graphs and chain graphs.
The first algorithm computes the bandwidth of a threshold graph G in O(n) time and space.We note that threshold graphs form a proper subclass of interval graphs, and can be represented in a compact representation of O(n) space.The algorithm directly constructs an optimal layout, that is, we give a partial answer to the open problem for interval graphs, and improve the previously known upper bound O(n log n log bw(G)) to optimal.
Extending the first algorithm for threshold graphs, we next show an algorithm that computes the bandwidth of a chain graph in O(n) time and space.This algorithm also directly constructs an optimal layout, and improves the previously known bound O(n 2 log n) in [24] to optimal.
More precisely, we first give a simple interval representation for a given threshold graph, and simplify the previously known algorithm for interval graphs.(We also show a new property of a previously known algorithm to show correctness.)Next, the simplified interval representation of a threshold graph is extended to the one of a chain graph in a nontrivial way.
Next we turn to the intractable problems on a graph that has a geometric representation.We focus on the class of grid intersection graphs that is a natural bipartite analogy and 2D generalization of the class of interval graphs; a bipartite graph G = (X, Y, E) is a grid intersection graph if and only if G is an intersection graph of X and Y , where X corresponds to a set of horizontal line segments, and Y corresponds to a set of vertical line segments.It is easy to see that the class of chain graphs is a proper subset of the class.Otachi, Okamoto, and Yamazaki investigate relationships between the class of grid intersection graphs and other bipartite graph classes [35].In this paper, we show that grid intersection graphs have a rich structure.More precisely, we show two hardness results.First, the Hamiltonian cycle problem is still N P-complete even if graphs are restricted to unit length grid intersection graphs.The Hamiltonian cycle problem is one of the classic and basic N P-complete problems [12].Second, the graph isomorphism problem is still GI-complete even if graphs are restricted to grid intersection graphs.(We say the graph isomorphism problem is GI-complete if the problem is as hard as to solve the problem on general graphs.)The results imply that (unit length) grid intersection graphs have so rich structure that many other hard problems may still be hard even on (unit length) grid intersection graphs.
We note that they are solvable in linear time on an interval graph [32,36].Hence we can observe that the generalized interval graphs have so rich structure that some problems become hard on the graphs.Intuitively speaking, the linear (or one dimensional) structure of an interval graph makes these problems tractable, and this two dimensional extension makes them intractable.Such results for intractability also can be found in the literature; the Hamiltonian cycle problem is N P-complete on chordal bipartite graphs [37], and the graph isomorphism problem is GI-complete on chordal bipartite graphs and strongly chordal graphs [38].
It is worth mentioning that, recently, the computational complexity of the graph isomorphism problem for circular arc graphs became open again.(A circular arc graph is the intersection graph of circular arcs, which is another natural generalization of an interval graph.)The first "polynomial" time algorithm was given by Wu [39], but Eschen pointed out a flaw [40].Hsu claimed an O(nm) time algorithm for the graph isomorphism problem on circular-arc graphs [41].However, recently, a counterexample to the correctness of the algorithm was found [42].

Preliminaries
The 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 is 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).A path P in G is said to be Hamiltonian if P visits every vertex in G exactly once.The Hamiltonian path problem is to determine if a given graph has a Hamiltonian path.The Hamiltonian cycle problem is defined similarly for a cycle.The problems are well known N P-complete problem (see, e.g., [12]).
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.In this paper, we will discuss about intersection graphs of geometrical objects.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., [2]).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 .We sometimes denote a bipartite graph by G = (X, Y, E) to specify the two vertex sets.A bipartite graph is chordal bipartite if every cycle of length at least 6 has a chord.
A graph (V, E) with V = {v 1 , v 2 , . . ., v n } is an interval graph if there is a finite set of intervals I = {I v 1 , I v 2 , . . ., I vn } on the real line such that {v i , v j } ∈ E if and only if I v i ∩ I v j ̸ = ∅ for each i and j with 0 < i, j ≤ n.We call the set I of intervals an interval representation of the graph.For each interval I, we denote by R(I) and L(I) the right and left endpoints of the interval, respectively (therefore we have L(I) ≤ R(I) and I = [L(I), R(I)]).An interval representation is called proper if and only if L(I) ≤ L(J) and R(I) ≤ R(J) for every pair of intervals I and J or vice versa.An interval graph is proper if and only if it has a proper interval representation.It is known that the class of proper interval graphs coincides with the class of unit interval graphs [43].That is, any proper interval graph has a proper interval representation that consists of intervals of unit length (explicit and simple construction is given in [44]).Moreover, each connected proper interval graph has essentially unique proper (or unit) interval representation up to reversal in the following sense (see, e.g., [45,Corollary 2.5]): Proposition 1 For any connected proper interval graph G = (V, E) without twins, there is a unique ordering (up to reversal) v 1 , v 2 , . . ., v n of n vertices such that G has a unique proper interval representation In other words, for a connected proper interval graph G = (V, E) without twins, there exists a vertex ordering v 1 , v 2 , . . ., v n such that every interval representation of G satisfies either We note that when G contains twins u and v, they correspond to the congruent intervals with L(I v ) = L(I u ) and R(I v ) = R(I u ).In a sense, the ordering is still unique even if G contains twins up to isomorphism if the graph is unlabeled.
For any interval representation I and a point p, N [p] denotes the set of intervals that contain the point p.
A graph G = (V, E) is called a threshold graph when there exist nonnegative weights w(v) for all v ∈ V and a threshold value t such that {u, v} ∈ E if and only if w(u) + w(v) ≥ t.
Let G = (X, Y, E) be a bipartite graph with X = {x 1 , x 2 , . . ., x n } and Y = {y 1 , y 2 , . . ., y n ′ }.The ordering of X has the adjacency property if and only if, for each vertex y ∈ Y , N (y) consists of vertices that are consecutive in the ordering of X.A bipartite graph G = (X, Y, E) is said to be a chain graph if and only if there are orderings of X and Y that fulfill the adjacency property, and the ordering of Intuitively, each vertex v in a permutation graph corresponds to a line segment ℓ v joining two points on two parallel line segments L 1 and L 2 .Then two vertices v and u are adjacent if and only if the corresponding line segments ℓ v and ℓ u intersect.The ordering of vertices gives the ordering of the points on L 1 , and the permutation of the ordering gives the ordering of the points on L 2 .We call the intersection model a line representation of the permutation graph.When a permutation graph is bipartite, it is said to be a bipartite permutation graph.Although a permutation graph has (exponentially) many line representations, a connected bipartite graph essentially has a unique line representation up to isomorphism (see [47,Lemma 3] for further details): Lemma 2 Let G = (V, E) be a connected bipartite permutation graph without twins.Then the line representation of G is unique up to isomorphism.
A natural bipartite analogy of interval graphs are called interval bigraphs which are intersection graphs of two-colored intervals so that we do not join two vertices if they have the same color.Based on the definition, Müller showed that the recognition problem for interval bigraphs can be solved in polynomial time [49].Later, Hell and Huang show an interesting characterization of interval bigraphs, which is based on the idea to characterize the complements of the graphs [50].Recently, efficient recognition algorithm based on forbidden graph patterns is developed by Rafiey [51].
A bipartite graph G = (X, Y, E) is a grid intersection graph if every vertex x ∈ X and y ∈ Y can be assigned line segments I x and J y in the plane, parallel to the horizontal and vertical axis 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 [35]; for example, interval bigraph is included in the intersection of unit grid intersection graphs and chordal bipartite graphs.It is worth mentioning that it is open whether chordal bipartite graphs are included in grid intersection graphs or not.
Two graphs G = (V, E) and G ′ = (V ′ , E ′ ) are isomorphic if and only if there is a one-to-one mapping ϕ : given graphs G and G ′ .A graph class C is said to be GI-complete if there is a polynomial time reduction from the graph isomorphism problem for general graphs to the graph isomorphism problem for C. Intuitively, the graph isomorphism problem for the class C is as hard as the problem for general graphs if C is GI-complete.The graph isomorphism problem is GI-complete for several graph classes; for example, chordal bipartite graphs, and strongly chordal graphs [38].On the other hand, the graph isomorphism problem can be solved efficiently for many graph classes; for example, interval graphs [32], probe interval graphs [52], permutation graphs [53], directed path graphs [54], and distance hereditary graphs [55].

Polynomial Time Algorithms for the Bandwidth Problem
A layout of a graph G = (V, E) on n vertices is a bijection π between the vertices in V and the set {1, 2, . . ., n}.The bandwidth of a layout π equals max{|π(u) − π(v)| | {u, v} ∈ E}.The bandwidth of G, denoted by bw(G), is the minimum bandwidth of all layouts of G.A layout achieving bw(G) is called an optimal layout.On a layout π, we denote by S < S ′ for two vertex sets S, S ′ if and only if π(u) < π(v) holds for every pair of u ∈ S and v ∈ S ′ .
For given graph ) is a proper interval graph.Hereafter, we will omit the "proper interval" since we always consider proper interval completions.We say a completion E ′ is minimum if and only if [9].Let G = (V, E) be an interval graph with an interval representation I = {I v 1 , I v 2 , . . ., I vn }.For each maximal clique C, there is a point p such that N [p] induces the clique C by Helly property.Thus, for any given graph G, we can compute bw(G) by Algorithm 1.

Algorithm 1: Bandwidth of a general graph
In Algorithm 1, the key point is how to find the minimum completion of G in the first step.The following observation may not be explicitly given in literature, but it can be obtained from the results in [9] straightforwardly (for example, the proof of Theorem 3.2 in [9], this fact is implicitly used): . ., I ′ vn ) be the unique proper interval representation of G ′ stated in Proposition 1. Then the ordering v 1 , v 2 , . . ., v n gives an optimal layout of G, and vice versa.
Here we show a technical lemma for the proper interval subgraph of an interval graph that will play an important role of our results.
Then, G has an optimal layout π such that each interval J u i appears according to the ordering in J .More precisely, for each i with Proof.The proof is strongly related to the algorithm, which we call Algorithm KV, developed by Kleitman and Vohra in [26].To be self-contained, we give a description of Algorithm KV in Appendix A. We recall that for given an interval representation of an interval graph G = (V, E) and a positive integer k, Algorithm KV constructs a layout π of V that achieves the bandwidth at most k if bw(G) ≤ k.The main idea is as follows.We assume that we give the interval representation I and bw(G) as an input to Algorithm KV.Through the construction of the optimal layout π, indeed, Algorithm KV does not change the ordering in J .We note that Algorithm KV itself does not mind the set J .That is, for an interval graph G = (V, E), Algorithm KV does not change the ordering of any subset J if J induces a proper interval graph.
Basically, Algorithm KV greedily labels each interval from 1 to n, from left to right.Unlabeled intervals are divided into two groups; the intervals incident to labeled intervals and others.The former group is again divided into sets S q j .A set S q j contains unlabeled intervals that should have labels up to (j + q), where q is the largest label so far.In the first saturated S q j with respect to (j + q), the interval having the smallest left endpoint is chosen as the next interval (ties are broken by the right endpoints).
To prove the lemma, we have to show the leftmost unlabeled interval J u i in J has to be chosen before J u i+1 when Algorithm KV chooses an interval in J .When Algorithm KV picks up the first saturated S q j in Step 7, we have Hence, by a simple property of proper intervals, S q j contains all unlabeled J u i with i ′ < i ≤ i ′′ such that J u i ′ is the rightmost labeled interval in J and J u i ′′ is the rightmost unlabeled interval in J that is adjacent to a labeled interval.Among them, Algorithm KV picks up the interval that has the smallest left endpoint (in Step 2 or 8).Thus, with appropriate tie-breaking, the next labeled interval can be J u i ′ +1 before J u i ′ +2 .Therefore, Algorithm KV labels all intervals in J from left to right, and we have the lemma.

Linear Time Algorithm for a Threshold Graph
We first show a linear time algorithm for computing bw(G) of a connected threshold graph G.For a threshold graph G = (V, E), there exist nonnegative weights w(v) for v ∈ V and t such that {u, v} ∈ E if and only if w(u) + w(v) ≥ t.We assume that a threshold graph is given in the standard adjacency list manner.That is, each vertex has its own neighbor list and it knows its degree and weight.We assume that G is connected and V is already ordered as {v 1 , v 2 , . . ., v n } with w(v i ) ≤ w(v i+1 ) for 1 ≤ i < n (this sort can be done in O(n) time by a standard bucket sort [56, Section 5.2.5] according to the degrees of vertices; ties may occur by twins, and are broken in any way).We can find ℓ such that w(v ℓ−1 ) + w(v ℓ ) < t and w(v ℓ ) + w(v ℓ+1 ) ≥ t in O(n) time.Then G has the following interval representation I(G): For example, Figure 1(a) is a threshold graph; each number in a circle is its weight, and threshold value is 5.We have ℓ = 5 and its interval representation is given in Figure 1(b).(a) Proof.We first observe that L( That is, G consists of two proper interval graphs induced by {v 1 , v 2 , . . ., v ℓ } and {v ℓ , v ℓ+1 , . . ., v n } (note that v ℓ is shared).Their proper interval representations also appear in I(G).Hence, by Lemma 5, there exists an optimal layout Thus we can obtain an optimal layout by merging two sequences of vertices.
To obtain an optimal layout, by Observation 4, we construct a minimum completion of G from two sequences.The longest interval is given by v n ; since G is connected, [L(I vn ), R(I vn )] = [1, ℓ].Hence, we extend all intervals (except I vn ) to length ℓ − 1 and construct a minimum completion.We denote the extended interval The extension is illustrated in Figure 2. The extension of intervals I v i for i > ℓ is straightforward; just extend them to the right, which does not increase the size of a maximum clique.Thus we focus on the points Figure 2. Construction of a minimum completion.
If I ′ v i does not contain the point 1, I ′ v i has to contain the point ℓ since it has to have length ℓ − 1.On the other hand, once I ′ v i contains the point ℓ, we can set without loss of generality.Otherwise, the size of a maximum clique at the left side of the point i may increase.Similarly, once I ′ v i does not contain the point ℓ, we can set and L(I ′ v j ) = j without increasing the size of a maximum clique.Specifically, we can take R(I ′ v 1 ) = 1 and L(I ′ v ℓ ) = ℓ.From the above observation, a minimum completion is given by the following proper interval representation of n intervals of length ℓ − 1 for some m with 1 ≤ m < ℓ: (0) for each i > ℓ, L[I v i ] = j, where j is the minimum index with w 2).Thus, to construct a minimum completion, we search the index m that minimizes a maximum clique in the proper interval graph represented by above proper interval representation determined by m.
In the minimum completion, there are ℓ distinct cliques , one induced at each point i with 1 ≤ i ≤ ℓ.Now we consider a maximum clique of the corresponding proper interval graph for a fixed m ∈ [1..ℓ].
We next consider each point i in [1..m].At the point i, N [i] induces a clique that consists of {v i , v i+1 , . . ., v m } and {v j , v j+1 , . . ., v n }, where j is the minimum index with w(v i ) + w(v j ) ≥ t.Hence we have a clique of size (m − i + 1) + (n − j + 1) at point i.Thus we have to find i in [1..m] that gives a maximum one.
Therefore, for a fixed m, we compute these two candidates for a maximum clique from [1.
.m] and [m + 1..ℓ], compare them, and obtain a maximum one.For every m, we have to find a minimum one of the maximum cliques, whose size gives bw(G) + 1.Thus we can compute bw(G) by Algorithm 2.
Algorithm 2: Bandwidth of a threshold graph The correctness of Algorithm 2 follows from Observation 4, Lemma 5 and the above discussions.Algorithm 2 runs in O(n 2 ) time and O(n) space by a straightforward implementation.However, careful implementation achieves O(n) time and space as follows.When the algorithm updates m in step 3, the proper interval representation does not change except for one vertex v m+1 .We assume that the value of the variable m is changed from m ′ to m ′′ = m ′ + 1.Then, the interval I ′ v m ′′ is "flipped" from right to left centered at m ′′ .More precisely, changing from . This flip has two influences: First, the variable lc, which was the size of a maximum clique in [1..m ′ ], will be updated by either (1) which is the size of clique induced at the new point m ′′ , where j is the minimum index with w(v m ′′ ) + w(v j ) ≥ t.Second, the maximum clique in the range [m ′′ + 1..ℓ] is updated from (n − m ′ ) to (n − m ′′ ).Thus, to find a maximum clique in the range [1..m ′′ ], the algorithm does not need to check all indices in [1..m ′′ ] by the for-loop in steps 5 to 8. Precisely, we move step 4 to between steps 2 and 3, and replace the for-loop in steps from 5 to 8 by the following steps; let j be the minimum index with w(v m ) + w(v j ) ≥ t; set lc := max{lc + 1, n − j + 2}; We can precompute a table that gives the minimum index j with w(v i ) + w(v j ) ≥ t for each i in O(n) time.Using the table, the modified algorithm runs in O(n) time and space.
We assume that a connected threshold graph G = (V, E) is given in the interval representation I(G) stated above.Let V 0 and V 1 be the sets of light and heavy vertices v i with i ≤ ℓ and i > ℓ, respectively.Then, for a connected threshold graph G = (V, E), we have an optimal layout that satisfies , where V 0 0 and V 1 0 are a partition of V 0 such that w(v) < w(u) for each v ∈ V 0 0 and u ∈ V 1 0 .Moreover, the optimal layout gives a maximum clique gives us an optimal layout.The following corollary will give us an important property in a chain graph.

Corollary 7 For a connected threshold graph G = (V, E), we have an optimal layout with indices m and m
gives an optimal layout.Moreover, there is no edge between u ∈ V 0 0 and v ∈ V 1 0 ∪ V 1 1 on the completion.

Linear Time Algorithm for a Chain Graph
We next show a linear time algorithm for computing bw(G) of a connected chain graph G = (X, Y, E).We assume that X = {x 1 , x 2 , . . ., x n } and Y = {y 1 , y 2 , . . ., y n ′ } are already ordered by inclusion of neighbors; such that N (y) = {x 1 , x 2 , . . ., x d(y) }, and each vertex x ∈ X stores one endpoint n ′ − d(x) + 1 such that N (x) = {y n ′ , y n ′ −1 , . . ., y n ′ −d(x)+1 }. (We abuse the degree d(•) as a maximum index of the neighbors.)A chain graph has an intersection model of horizontal and vertical line segments (an example in Figure 3(a) has an intersection model in Figure 3(c)); X corresponds to a set of horizontal line segments such that all left endpoints have the same x-coordinate, and Y corresponds to a set of vertical line segments such that all top endpoints have the same y-coordinate.By the property of the inclusions of neighbors, on the intersection model, vertices in X can be placed from top to bottom and vertices in Y can be placed from right to left such that the lengths of their line segments are monotone.This also can be transformed to the line representation of a bipartite permutation graph in a natural way (Figure 3(b)).Then the endpoints on L 1 are sorted as x n , . . ., x 1 , y n ′ , . . ., y 1 from left to right.For a chain graph G = (X, Y, E), a graph H i = (X ∪ Y, E i ) is defined as follows [24]: We first define H 0 = (X ∪ Y, E 0 ) to be a graph obtained from G by making a clique of X; that is, Then, the following lemma plays an important role in the algorithm in [24], which computes the bw(G) for a chain graph G by finding the minimum value of bw(H i ) for each i.

Lemma 8 ([24]) (1) H i is an interval graph for each
We first observe that H 0 is a threshold graph that has an interval representation in the form shown in Figure 3(c); that is, we project the representation in Figure 3(c) onto a horizontal line.The length of each x i does not change, and each y j degenerates to a point on the line.Intuitively, we can regard each y ∈ Y as a point and each x ∈ X as an interval.More precisely, we assign the weights of the vertices as follows.For each y j ∈ Y , w(y j ) = j.For each x i ∈ X, w(x i ) = 2|X| + |Y | − j, where j is the minimum index of N (x).Letting t = 2|X|+|Y |, we can obtain the desired threshold graph with interval representation obtained from the projection of one in Figure 3(c).Thus, by Theorem 6, bw(H 0 ) can be computed in O(n + n ′ ) time and space.Hereafter, we construct all minimum completions of We introduce a wiper(x i ) which is a line segment joining two points p 1 and p 2 on L 1 and L 2 , respectively, on the line representation of a chain graph G = (X, Y, E) as follows (Figure 3(b)); p 1 is a fixed point on L 1 between x 1 and y n ′ , and p 2 is a point on L 2 between x i+1 and q, where q is the right neighbor point of x i+1 on L 2 .More precisely, q is either (1) Using the wiper, H i can be obtained from G by making a clique C i which consists of the vertices corresponding to line segments intersecting wiper(x i ) on the line representation.
Intuitively, the interval representation of H i can be obtained as follows; first, we construct a line representation of G and put the wiper(x i ) (Figure 3(b)), second, we modify it to the intersection model of horizontal and vertical line segments with wiper(x i ) placed between x i and x i+1 or y j , where y j is the minimum vertex in N (x i+1 ) (Figure 3(c)), and finally, we stretch the wiper(x i ) to vertical line segment, or just a point 0 on an interval representation, and arrange the line segments corresponding to the vertices in X and Y (Figure 3(d)).We note that the interval representation of H i in Figure 3(d) is a combination of two interval representations (Figure 1(b)) of two threshold graphs that are separated by the wiper(x i ).More precise and formal construction of the interval representation of H i is as follows.By Helly's property, the intervals in the clique C i share a common point, say 0 (which corresponds to wiper(x i )).Then, centering the point 0, we can construct a symmetric interval representation as follows (Figure 3(d)); (1) of H i are threshold graphs, which allows us to apply the algorithm in Section 3.1.(In Figure 3 ] is induced by {x 3 , x 4 , x 5 , x 6 , y 3 , y 4 , y 5 , y 6 }.) Now we are ready to prove the main theorem in this section.

Theorem 9
We assume that a chain graph G = (X, Y, E) is given in O(n + n ′ ) space as stated above.Then we can compute bw(G) in O(n + n ′ ) time and space.

Proof.
By Lemma 8, we can compute bw(G) by computing the minimum bw(H i ) for i = 0, 1, 2, . . ., n − 1.By the fact that H 0 is a threshold graph and Theorem 6, we can compute bw(H 0 ) in linear time and space.We only consider the case that 1 ≤ i ≤ n − 1.We separate the proof into three phases.
Algorithm: Consider a fixed index i.The basic idea is similar to the algorithm for a threshold graph.We directly construct a minimum completion of H i .When G is a threshold graph, we put a midpoint m such that each point [j, j] less than or equal to m is extended to an interval I v with R[I v ] = j, and each point [j, j] greater than m is extended to an interval I v with L[I v ] = j, where v is the vertex corresponding to the point [j, j].Similarly, we put two midpoints ℓ in . Now we make a proper interval representation instead of a unit interval representation to simplify the proof.(We note that any proper interval representation can be extended to a unit interval representation in a natural way [44].Hence we can use a proper interval representation instead of a unit interval representation.)For two midpoints ℓ and r, we make a proper interval representation as follows; (1) for each , and (4) for each In Figure 3(e), we give an example with ℓ = 5 and r = 1.For each possible pair (ℓ, r) of ℓ and r with i + 2 ≤ ℓ ≤ n and 1 ≤ r ≤ n ′ − d(x i+1 ) − 1, we compute the size of a maximum clique in the proper interval representation.At this time, we have three candidates for a maximum clique at the left, the center, and the right parts of the proper interval representation.More precisely, for each fixed i, ℓ, and r, we define three maximum cliques RC i (ℓ, r), CC i (ℓ, r), and LC i (ℓ, r) in three proper interval graphs induced by {x ℓ , x ℓ+1 , . . ., x n } ∪ {y j , y j+1 , . . ., y n ′ }, where y j is the minimum vertex in N (x ℓ ), {x 1 , x 2 , . . ., x ℓ−1 }∪{y r+1 , y r+2 , . . ., y n ′ }, and {x 1 , x 2 , . . ., x i ′ }∪{y 1 , y 2 , . . ., y r }, where x i ′ is the maximum vertex in N (y r ), respectively.For example, in Figure 3(e), three sets are {x 5 , x 6 , y 4 , y 5 , y 6 }, {x 1 , x 2 , x 3 , x 4 , y 2 , y 3 , y 4 , y 5 , y 6 }, and {x 1 , x 2 , y 1 }, and hence RC i (5, 1) = {x 5 , y 4 , y 5 , y 6 } at point -3 (or R(x 5 )), CC i (5, 1) = {x 1 , x 2 , x 3 , x 4 , y 2 , y 3 , y 4 , y 5 , y 6 } at point 0, and LC i (5, 1) = {x 1 , x 2 , y 1 } at point 2. Thus for (ℓ, r) = (5, 1), we have a maximum clique CC i (5, 1) of size 9.For each pair (ℓ, r), we compute max{|RC i (ℓ, r)|, |CC i (ℓ, r)|, |LC i (ℓ, r)|}, and then we take the minimum value of max{|RC i (ℓ, r)|, |CC i (ℓ, r)|, |LC i (ℓ, r)|} for all pairs, which is equal to bw(H i ) + 1 for the fixed i.In the case in Figure 3(d) (i = 2), (ℓ, r) = (3, 2) gives the minimum value 6(= RC 2 (3, 2) = CC 2 (3, 2)).We next compute the minimum one for all i, which gives bw(G) + 1. Summarizing, we have Algorithm 3.
Correctness: By Lemma 8, each graph H i is an interval graph and min i bw(H i ) = bw(G).For the interval representation of H i , we consider two proper interval subgraphs.The first induced subgraph which consists of positive length intervals in H i , is a proper interval graph, and the second induced subgraph which consists of intervals of length 0 (or points), is also a proper interval graph.Hence, by Lemma 5, there is an optimal layout that keeps their natural orderings over Therefore, by Observation 4, we can compute bw(H i ) by extending intervals in them together to be proper.Using the same argument as in the proof of Theorem 6, we can use the set X R i ∪ Y L i of intervals as a proper interval representation as is, and we must extend each interval in Using the same argument twice, we can see that using the idea of two midpoints ℓ and r achieves an optimal layout.Algorithm 3: Bandwidth of a chain graph Linear time implementation: A straightforward implementation gives O((n + n ′ ) 3 ) time and O(n + n ′ ) space algorithm.We here show how to improve the time complexity to linear time.Intuitively, we maintain the differences of three maximum cliques LC i , CC i , and RC i efficiently, and we use the same idea as in the proof of Theorem 6 twice.We first fix i = 1.In this case, we can compute LC 1 , CC 1 , and RC 1 in O(n + n ′ ) time; the algorithm first starts RC 1 . ., y n ′ }, and That is, all points in X R 2 (= {x 2 , . . ., x n }) are extended to the left, and all points in the algorithm flips the interval (or updates ℓ or r) into CC (2) shift all positive points I y j at d(x 1 ) − j + 1 with y j ∈ N (x 1 ) \ N (x 2 ) to d(x 2 ) − j + 1; and (3) remove all intervals I y j = [−1, 0] with y j ∈ N (x 2 ) \ N (x 3 ) and put them at d(x 2 ) − j + 1 as points.The movements have influences on LC 1 , CC 1 , and RC 1 , and from them, we construct LC 2 , CC 2 , and RC 2 , and obtain the best pair for H 2 in a similar way to that used in the proof of Theorem 6.Then, since N (x 3 ) ⊆ N (x 2 ) ⊆ N (x 1 ), the total difference (or the total number of flipped intervals) can be bounded above by Hence the computation of LC 2 , CC 2 , and RC 2 from LC 1 , CC 1 , and Repeating this process, the computation of LC i , CC i , RC i , and the best pair of H i from LC i−1 , CC i−1 , and RC i−1 with the best pair for H i−1 requires O(d(x i−1 ) − d(x i+1 )) time for each 1 < i ≤ n.Hence, by maintaining the differences, the total computation time of Algorithm 3 is the sum of the computations of ( 1) bw(H 0 ), (2) LC 1 , CC 1 , RC 1 , and the best pair of H 1 , and (3) LC i , CC i , and RC i with the best pair of H i from LC i−1 , CC i−1 , RC i−1 , and the best pair of H i−1 for i = 2, 3, . . ., n − 1, which is equal to Here we extend Corollary 7 to a chain graph.
Corollary 10 For a connected chain graph G = (X, Y, E), we assume that X = {x 1 , x 2 , . . ., x n } and Y = {y 1 , y 2 , . . ., y n ′ } are already ordered by inclusion of neighbors.Then we have an optimal layout that satisfies and X 2 = {x j+1 , . . ., x n } for some 1 ≤ i ≤ j ≤ n, and (2) Y 2 = {y 1 , . . ., y k }, Y 1 = {y k+1 , . . ., y ℓ }, and Y 0 = {y ℓ+1 , . . ., y n ′ } for some 1 ≤ k ≤ ℓ ≤ n.Any arrangement of vertices in X 1 ∪ Y 1 gives us an optimal layout.Moreover, the bandwidth is determined by an edge between (1) X 0 and Y 0 , ( 2 Proof.For an optimal layout, we have a corresponding wiper.Then the set X 0 is determined by x i ∈ X which is the maximum vertex in X not crossing the wiper.Then Y 0 is determined by the maximum vertex y k in N (x i ).Similarly, the set Y 2 is determined by the minimum vertex y ℓ not crossing the wiper, and X 2 is determined by the minimum vertex in N (y ℓ ).Considering the maximum cliques which can give the bandwidth, the corollary follows.

Intractable Problems on a (Unit) Grid Intersection Graph
In this section, we turn to the grid intersection graphs and intractable problems for the class.

The Hamiltonian Cycle Problem
We give two hardness results for grid intersection graphs in this section.

Theorem 11
The Hamiltonian cycle problem is N P-complete for unit grid intersection graphs.
Proof.It is clear that the problem is in N P. Hence we show N P-hardness.We show a similar reduction in [57].We start from the Hamiltonian cycle problem in planar directed graph with degree bound two, which is still N P-hard [58].Let G 0 = (V 0 , A) be a planar directed graph with degree bound two.(We deal with directed graphs only in this proof; we will use (u, v) as a directed edge, called arc, which is distinguished from {u, v}.)As shown in [57,58], we can assume that G 0 consists of two types of vertices: (type △) with indegree two and outdegree one, and (type ▽) with indegree one and outdegree two.Hence, the set V 0 of vertices can be partitioned into two sets V △ and V ▽ that consist of the vertices in type △ and ▽, respectively.
Moreover, we have two more claims; (1) the unique arc from a type △ vertex has to be the unique arc to a type ▽ vertex; and (2) each of two arcs from a type ▽ vertex has to be one of two arcs to a type △ vertex.If the unique arc from a type △ vertex v is into one of a type △ vertex u, the vertex u has to be visited from v to make a Hamiltonian cycle.Hence the vertex u can be replaced by an arc from v to the vertex w which is pointed from u.On the other hand, if one of two arcs from a type ▽ vertex v reaches another type ▽ vertex u, the vertex u should be visited from v. Hence the other arc a from v can be removed from G 0 .Then the vertex w incident to a has degree 2. Hence we have two cases; w can be replaced by an arc, or we can conclude G 0 does not have a Hamiltonian cycle.Repeating these processes, we have the claims (1) and ( 2), which imply that we have |V △ | = |V ▽ |, the underlying graph of G 0 is bipartite (with two sets V △ and V ▽ ), and any cycle contains two types of vertices alternately.
By the claims, we can partition arcs into two groups; (1) arcs from a type △ vertex to a type ▽ vertex called thick arcs, and (2) arcs from a type ▽ vertex to a type △ vertex called thin arcs.By above discussion, we can observe that any Hamiltonian cycle has to contain all thick arcs (Moreover, contracting thick arcs, we can show N P-completeness of the Hamiltonian cycle problem even if we restrict ourselves to the directed planar graphs that only consist of vertices of two outdegrees and two indegrees.) Now, we construct a unit grid intersection graph G 1 = (V 1 , E 1 ) from G 0 = (V 0 , A) which satisfies the above conditions.One type ▽ vertex is represented by five vertical lines and two horizontal lines, and one type △ vertex is represented by three vertical lines and one horizontal line in Figure 4 (each corresponding line segments are in gray area).Each thick arc is represented by alternations of one parallel vertical line and one parallel horizontal line in Figure 4, and each thin arc is represented by alternations of two parallel vertical lines and two parallel horizontal lines in Figure 5.The vertices are joined by the arcs in a natural way.An example is illustrated in Figure 6.For the resultant graph G 1 , it is obvious that the reduction can be done in a polynomial time, and G 1 is a unit grid intersection graph.Hence we show G 0 has a Hamiltonian cycle if and only if G 1 has a Hamiltonian cycle.First, we assume that G 0 has a Hamiltonian cycle C 0 , and show that G 1 also has a Hamiltonian cycle C 1 .C 1 visits the vertices (or line segments) in G 1 along C 0 as follows.For each thick arc in G 0 , the corresponding segments in G 1 are visited straightforwardly.We show how to visit the segments corresponding to thin arcs (Figure 7).For each thin arc not on C 0 , they are visited by C 1 as shown in the left side of Figure 7 (between u and v); a pair of parallel lines are used to sweep the arc twice, and the endpoints are joined by one line segment in the gadget of a type △ vertex (v).On the other hand, for each thin arc on C 0 , they are visited by C 1 as shown in the right side of Figure 7 (between w and v); a pair of parallel lines are used to sweep the arc once, and the path goes from e to a. Hence from a given Hamiltonian cycle C 0 on G 0 , we can construct a Hamiltonian cycle C 1 on G 1 .Now we assume that G 1 has a Hamiltonian cycle C 1 , and show that G 0 also has a Hamiltonian cycle C 0 .By observing that there are no ways for C 1 to visit lines corresponding to thick arcs described above, and the unique center horizontal line of a type △ vertex can be used exactly once, we can see that C 1 forms a Hamiltonian cycle of G 1 as in the same manner represented above.Hence C 0 can be constructed from C 1 in the same way.

Corollary 12
The Hamiltonian path problem is N P-complete for unit grid intersection graphs.
Proof.We reduce the graph G 1 in the proof of Theorem 11 to G ′ 1 as follows; pick up any line segment in a thick arc, and add one more line segment as in Figure 8.Then, it is easy to see that G 1 has a Hamiltonian cycle if and only if G ′ 1 has a Hamiltonian path (with an endpoint corresponding to the additional line segment).Hence we have the corollary.

The Graph Isomorphism Problem
Theorem 13 The graph isomorphism problem is GI-complete for grid intersection graphs.
Proof.We show a similar reduction in [38,54].We start by considering the graph isomorphism problem for general graphs.Let G 0 = (V 0 , E 0 ) and m be an instance of the graph isomorphism problem.(We will refer the graph G 0 in Figure 9(1) as an example).Without loss of generality, we assume that G 0 is connected.From G 0 , we define a bipartite graph G 1 = (V 0 , E 0 , E 1 ) with two vertex sets V 0 and E 0 by E 1 := {{v, e} | v is one endpoint of e}.(Intuitively, each edge is divided into two edges joined by a new vertex; see Figure 9(2)).Then, e ∈ E 0 have degree 2 by its two endpoints in V 0 .It is easy to see that G 0 ∼ G ′ 0 if and only if G 1 ∼ G ′ 1 for any graphs G 0 and G ′ 0 with resultant graphs G 1 and G ′ 1 .
Figure 9. Reduction for GI-completeness.Now, we construct a grid intersection graph G 2 = (V 2 , E 2 ) from the bipartite graph G 1 = (V 0 , E 0 , E 1 ) such that G 1 ∼ G ′ 1 if and only if G 2 ∼ G ′ 2 in the same manner.The vertex set V 2 consists of the following sets (see Figure 9(3)): V 0 , E 0 ; we let V 0 = {v 1 , v 2 , . . ., v n }, E 0 = {e 1 , e 2 , . . ., e m }, where e i = {v i , v j } for some 1 ≤ i, j ≤ n.P v , Q e ; each vertex in P v ∪ Q e is called pendant and P v := {p 1 , p 2 , . . ., p n }, Q e := {q 1 , q 2 , . . ., q m , q ′ 1 , q ′ 2 , . . ., q ′ m }.The edge set E 2 contains the following edges (Figure 9(3)): 1.For each i with 1 ≤ i ≤ n, each pendant p i is joined to v i .That is, {p i , v i } ∈ E 2 for each i with 1 ≤ i ≤ n. 2. For each j with 1 ≤ j ≤ m, two pendants q j and q ′ j are joined to e j .That is, {q j , e j }, {q ′ j , e j } ∈ E 2 for each j with 1 ≤ j ≤ m. 3.For each e j with 1 ≤ j ≤ m, we have two vertices v i and v i ′ with {v i , e j }, {v i ′ , e j } ∈ E 1 .For the three vertices e j , v i , v i ′ , we add {e j , a j }, {v i , b j }, {a j , b j }, {e j , c j }, {v i ′ , d j }, {c j , d j } into E 2 .Intuitively, each edge in G 1 is replaced by a path of length 3 that consists of one vertex in C a ∪ C c and the other one in The edge set E 2 also contains the edges {v i , e j } for each i, j with 1 ≤ i ≤ n and 1 ≤ j ≤ m.In other words, every vertex in V 0 is connected to all vertices in E 0 (the edges are omitted in Figure 9(3) to simplify).
Let G 0 and G ′ 0 be any two graphs.Then, it is easy to see that G 0 ∼ G ′ 0 implies G 2 ∼ G ′ 2 .Hence, we have to show that G 2 is a grid intersection graph, and G 0 can be reconstructed from G 2 uniquely up to isomorphism.
We can represent the vertices in V 0 ∪ Q e ∪ C a ∪ C c (white vertices in Figure 9(3)) as horizontal segments and the vertices in E 0 ∪ P v ∪ C b ∪ C d (black vertices in Figure 9(3)) as vertical segments as follows (Figure 10): First, all vertices in V 0 correspond to unit length horizontal segments that are placed in parallel.All vertices in E 0 correspond to unit length vertical segments placed in parallel, and the segments corresponding to vertices in V 0 and E 0 make a mesh structure (as in Figure 10).Each pendant vertex in P v and Q e corresponds to a short segment, and is attached to its neighbor in an arbitrary way, for example, as in Figure 10.Each pair of connectors in C a and C b (or C c and C d ) joins corresponding vertices in V 0 and E 0 as in Figure 10.Then it is easy to see that the resultant grid representation gives G 2 .
Next, we show that G 0 can be reconstructed from G 2 uniquely up to isomorphism.First, any vertex of degree 1 is a pendant in G 2 .Hence we can distinguish P v ∪ Q e from the other vertices.Then, for each vertex v ∈ V 2 \ (P v ∪ Q e ), |N (v) ∩ (P v ∪ Q e )| = 1 if and only if v ∈ V 0 , and |N (v) ∩ (P v ∪ Q e )| = 2 if and only if v ∈ E 0 .Hence two sets V 0 and E 0 are distinguished, and then P v ∪ Q e can be divided into P v and Q e .Moreover, we have . Thus, tracing the paths induced by C a ∪ C b ∪ C c ∪ C d , we can reconstruct each edge e j = (v i , v i ′ ) with e j ∈ E 0 and v i , v i ′ ∈ V 0 .Therefore, we can reconstruct G 0 from G 2 uniquely up to isomorphism.
Hence the graph isomorphism problem for grid intersection graphs is as hard as the graph isomorphism problem for general graphs.Thus the graph isomorphism problem is GI-complete for grid intersection graphs.In this paper, we focus on geometrical intersection graphs.From the viewpoint of the parameterized complexity (see Downey and Fellow [59]), it is interesting to investigate efficient algorithms for these graph classes with some constraints.What if the number of vertical lines (or the possible positions on the coordinate of vertical lines) is bounded by a constant?In this case, we can use the dynamic programming technique for the graphs.Do the restrictions make some intractable problems solvable in polynomial time?From the graph theoretical point of view, a geometric model for chordal bipartite graphs is open.It is pointed out by Spinrad in [60], but it is not solved yet.The graph isomorphism problem for unit grid intersection graphs is also interesting.By Theorem 13, the graph isomorphism problem is GI-complete for grid intersection graphs.In the proof, we only need two kinds of lengths-long line segments and short line segments, but the difference of these two lengths is essential in the proof, and we cannot make all line segments unit length in the reduction.
and the degree of a vertex v is |N G (v)| denoted by d G (v).If no confusion can arise we will omit the index G.For a subset U of V , the subgraph of G induced by U is denoted by G[U ].Given a graph G = (V, E), its complement Ḡ = (V, Ē) is defined by Ē = {{u, v} | {u, v} ̸ ∈ E}.A vertex set I is an independent set if and only if G[I] contains no edges, and then the graph Ḡ[I] is said to be a clique.Two vertices u and v are called twins if and only if N (u) ∪ {u} = N (v) ∪ {v}.

Theorem 6
We assume that a connected threshold graph G = (V, E) is given in the interval representation I(G) stated above.Then we can compute bw(G) in O(n) time and space.
Repeating this process, in O(n + n ′ ) time, when the algorithm meets max{|LC1 |, |RC 1 |} = |CC 1 | or max{|LC 1 |, |RC 1 |} = |CC 1 | − 1,the value gives the minimum size of the maximum cliques in three parts, or equivalently, gives a minimum completion of H 1 .When we have a minimum completion of H 1 , we say this pair (ℓ, r) is the best pair for H 1 .Now, we compute LC 2 , CC 2 , and RC 2 from LC 1 , CC 1 , and RC 1 with the best pair for H 1 in O(d(x 1 ) − d(x 3 )) time.Intuitively, H 2 is obtained from H 1 by the following steps; (1) remove I x 2 = [1, 1] from the point 1, and put it as an interval [0, d(x 1 )];