Linear Time Recognition Algorithms and Structure Theorems for Bipartite Tolerance Graphs and Bipartite Probe Interval Graphs

A graph is a probe interval graph if its vertices can be partitioned into probes and nonprobes with an interval associated to each vertex so that vertices are adjacent if and only if their corresponding intervals intersect and at least one of them is a probe. A graph G = ( V, E ) is a tolerance graph if each vertex v ∈ V can be associated to an interval I v of the real line and a positive real number t v such that uv ∈ E if and only if | I u ∩ I v | ≥ min { t u , t v } . In this paper we present O ( | V | + | E | ) recognition algorithms for both bipartite probe interval graphs and bipartite tolerance graphs. We also give a new structural characterization for each class which follows from the algorithms.


Introduction
We discuss undirected, finite, simple graphs G with vertex set V (G) and edge set E(G), and we will sometimes write G = (V, E) to indicate V = V (G) and E = E(G).The number of vertices of a given graph G is referred to by n and the number of edges by m.If G is a bipartite graph with partite sets X and Y , we will write G = (X, Y, E) to indicate this, and denote |X| by n x and |Y | by n y .
A graph G is a probe interval graph if there is a partition of V (G) into P and N and a collection {I v : v ∈ V (G)} of closed intervals of R in one-to-one correspondence with V (G) such that, for u, v ∈ V (G), uv ∈ E(G) if and only if I u ∩ I v = ∅ and at least one of u, v belongs to P .The sets P and N are called the probes and nonprobes, respectively, and the collection of intervals together with such a partition will be referred to in this paper as a probe interval representation, but we may omit the "probe interval" if the context makes it clear.
The probe interval graph model was invented in connection with the task called physical mapping which arose in connection with the human genome project, cf.work of Zhang and Zhang et al. [26,27,28].
The recognition of probe interval graphs has received considerable attention recently.If the vertex partition V (G) = (P, N ) into probes and nonprobes is specified as part of the input, the problem of recognizing whether G is a probe interval graph is called the partitioned probe interval graph problem, and this problem is solvable in time O(n 2 ) via a method involving modified PQ-trees, see [17] by Johnson and Spinrad.Another method given in [21] by McConnell and Spinrad uses modular decomposition and has complexity O(n + m log n).An O(m 2 ) algorithm for recognizing (non-partitioned) cocomparability probe interval graphs is given in [5], by Brown and Langley, which uses a modified algorithm of Golumbic and Lipshteyn [11] that recognizes graphs that are both weakly chordal (i) and chordal probe (ii) .In [9], Chang, Kloks, Liu, and Peng, present an algorithm for recognizing whether a non-partitioned graph is a probe interval graph; complexity is shown to be polynomial, but the precise order of the algorithm is not given.
A graph G = (V, E) is a tolerance graph if to each vertex v ∈ V there can be associated both a closed interval I v of the real line and positive real number t v such that uv ∈ E if and only if |I u ∩ I v | ≥ min{t u , t v }.Tolerance graphs were introduced by Golumbic and Monma in [12] as a generalization of interval graphs and to model certain scheduling problems.We will denote the collection of intervals {I v : v ∈ V } and tolerances {t v : v ∈ V } corresponding to tolerance graph G = (V, E) as I, t and refer to it as a tolerance representation of G, but call it simply a representation if the context is clear.If tolerance graph G has a representation in which |I v | ≤ t v for every v ∈ V , then G is a bounded tolerance graph.Additional results and background on tolerance graphs and on probe interval graphs can be found in the book by Golumbic and Trenk [14].
The recognition problem for tolerance graphs remained open for many years.In 2004, Hayward and Shamir in [15] showed that tolerance graphs always admit a polynomial sized integer representation and hence demonstrated the problem of tolerance graph recognition is in NP.Then in 2010, Mertzios, Sau and Zaks in [19] showed the the recognition problem for tolerance graphs is NP-complete.In the case of tolerance graphs which are bipartite, a characterization was given by Busch in [7] which we present here as Theorem 1.1.In [8], by Busch and Isaak, this theorem was used to give a linear time recognition algorithm for bipartite tolerance graphs.We reproduce that algorithm in Section 3, and include several lemmas that were stated without proof in [8].
The results supporting our algorithms will show subtle distinctions between the closely related classes of probe interval graphs and tolerance graphs.Initially, we note that every probe interval graph is a tolerance graph.This can be seen by the following argument: We can choose a representation for a probe interval graph G in which all interval endpoints are distinct (see, for example, Lemma 1.5 of [14]).Using the same intervals, define tolerances t v = ε, if v is a probe, and t v = ∞, if v is a nonprobe, we obtain a tolerance representation for G, where ε is the minimum distance between endpoints and ∞ is the length of the longest interval.The converse relationship is not true, as shown in Figure 1.One of the subtle distinctions mentioned can be seen in the two characterizations given by Theorem 1.1 and Theorem 1.2 below.A collection of sets S is consecutively orderable if the sets in the collection can be indexed S 1 , S 2 , . . ., S t so that whenever x ∈ S i ∩ S k then x ∈ S j for every i ≤ j ≤ k.We call a collection of sets together with such an ordering consecutively ordered.When the collections of sets are the vertex sets of subgraphs of a given graph G, we will conserve notation and say that the set of subgraphs will be called a star and a vertex of maximum degree will be called the center of the star.Obviously, when n = 1 the vertex identified as the center is arbitrary, but the center of the star is unique provided that n > 1.We next define a consecutive star partition, the key structure used in the characterization and recognition of bipartite tolerance graphs.
. ., G t } of consecutively ordered stars that partition the edges of G, will be referred to as a consecutive star partition (CSP) of G.
Theorem 1.1 (Busch, [7]) A bipartite graph G is a tolerance graph if and only if it has a consecutive star partition.Now, let G be a bipartite graph with vertex partition (U, N ), not necessarily a bipartition, where G(N ) is an independent set.A U -star is either a star with a vertex of maximum degree in U and pendants in N (note that this permits a star with n = 1 as defined above), or a K 2 with both vertices in U .Now, we discuss another subtle distinction between bipartite tolerance graphs and bipartite probe interval graphs.The distinction lies in the structure of blocks of a bipartite tolerance graph and in the maximal 2-edge connected subgraphs of a bipartite probe interval graph.We begin with some definitions and a result from [25] by Tucker on which we will rely.
If G = (X, Y, E) is a bipartite graph with X = {x 1 , x 2 , . . ., x nx } and Y = {y 1 , y 2 , . . ., y ny }, then the and m ij = 0 otherwise is the reduced adjacency matrix of G. A(G) has the consecutive 1's property for rows (columns) if the columns (rows) of A(G) can be permuted so that the 1's in every row (column) appear consecutively.A matrix with the consecutive 1's property for rows or for columns is called convex and so is the bipartite graph which corresponds to the matrix.Given a reduced adjacency matrix M for bipartite graph G = (X, Y, E), an arrangement of columns so that the 1's in each row occur consecutively corresponds to an ordering of Y so that the vertices in the neighborhoods N x = {N (x 1 ), N (x 2 ), . . ., N (x nx )} are consecutively ordered; that is, if y i ∈ N (x r ) and y k ∈ N (x r ), then y j ∈ N (x r ) for i ≤ j ≤ k.In this case, we say G is Y -consecutive; analogously, G is X-consecutive if the vertices in the neighborhoods N y can be consecutively ordered, or equivalently, if M has the consecutive 1's property for columns.Thus, if G is Xor Y -consecutive, we say G is convex.If G is both Xand Y -consecutive, we say G is biconvex.
An asteroidal triple (or AT) in a graph G is a set of three vertices of G for which there is a path between any two that contains no vertex adjacent to the third.
Tucker established a nice relationship between consecutive 1's in (0, 1)-matrices and asteroidal triples in the corresponding bipartite graphs when the matrices are thought of as reduced adjacency matrices.
Theorem 1.3 (Tucker, [25]) For a bipartite graph G = (X, Y, E) the following are equivalent: 1.The reduced adjacency matrix of G has the consecutive 1's property for columns (respectively rows); 2. G is X-consecutive (respectively Y -consecutive); 3. G has no asteroidal triple contained in X (respectively no AT contained in Y ).
This result will be very useful because of what it implies about the structure of collections of consecutively orderable stars in convex graphs.Namely, for bipartite graph G = (X, Y, E), if there is no asteroidal triple in X (respectively Y ) then there is a collection of consecutively orderable stars which partition the edges of G all of whose centers are in X (respectively in Y ).For example, if M is the reduced adjacency matrix for G and the columns of M have been permuted so that the 1s in each row are consecutive, each column j corresponds to a star S j , and {S 1 , S 2 , . . ., S ny } is consecutively ordered.Algorithms which determine if an m × n matrix has the consecutive 1's property for rows recognize convex graphs in O(n+m) time.Such algorithms also form the basis of the first recognition algorithms for interval graphs, due to Booth and Lueker [1].The algorithm of Booth and Lueker, and other algorithms to identify the consecutive 1's property, can easily be used to determine if a collection of subgraphs Then G is consecutively orderable if and only if M has the consecutive 1's property for rows.Thus, when G is part of the input and G is a collection of stars or U -stars which partition the edges of G, this relationship can be used to determine if G is a tolerance graph or probe interval graph using Theorem 1.3.But an arbitrary tolerance graph or probe interval graph has many partitions of its edges into stars or U -stars, not all of which can be consecutively ordered.Therefore the above procedure cannot be used to efficiently decide if an arbitrary bipartite graph is a tolerance graph or probe interval graph.
In order to contextualize our results, Figure 1 shows some relationships between some subclasses of chordal bipartite graphs with separating examples.Recall that a graph G is chordal bipartite when G is bipartite and contains no induced C k for any k = 4, and note that the class of chordal bipartite graphs properly contains the class of graphs which are both chordal and bipartite (this class is simply the forests).For other definitions, and more detail about these and other definitions, we refer the reader to [3].
The chain on the left is reproduced from [2], while the right-hand chain is due to results of Brown [4], Busch [7], Müller [20], and Sheng [22].The classes of bounded bipartite tolerance graphs (iii) , bipartite permutation graphs, unit interval bigraphs, and asteroidal-triple-free (AT-free) bipartite graphs are all equivalent, see Hell and Huang [16], and Golumbic and Trenk [14] for details about these classes of graphs and their equivalence.
The graphs T 3 and H10 of Figure 1 will be important for the structural description of bipartite tolerance and bipartite probe interval graphs.Their relevance is indicated by the following results of Golumbic, Monma, and Trotter, and of Sheng.
Theorem 1.4 (Golumbic, Monma, Trotter, [13]) Let T be a tree.T is a tolerance graph if and only if T does not contain an induced subgraph isomorphic to T 3 of Figure 1.
Theorem 1.5 (Sheng, [22]) Let T be a tree.T is a probe interval graph if and only if T does not contain an induced subgraph isomorphic to T 3 or H10 of Figure 1.
Our algorithms will be based partially on the following facts, which will be developed in Section 3 and Section 4. Within the class of 2-connected bipartite graphs, the classes of convex graphs and tolerance graphs are identical; within the class of 2-edge-connected bipartite graphs, the classes of convex graphs and probe interval graphs are identical.The former fact was observed in [8] and is this paper's Lemma 2.1; the latter is Lemma 2.2.

Preliminary Results for the Algorithms
We will characterize bipartite graphs whose edges can be partitioned into either sets of stars which can be consecutively ordered, or into sets of consecutively orderable U -stars, and thereby obtain conceptually simple linear time algorithms for bipartite tolerance graphs and bipartite probe interval graphs.These algorithms rest ultimately on Theorems 1.1 and 1.2, and Lemmas 2.3 and 2.4.Lemmas 2.1 and 2.1 first appeared in [8]; their proofs are included here for completeness and to emphasize the similarity between bipartite tolerance graphs and bipartite probe interval graphs.
Since S partitions the edges of G, both L and R must be nonempty.Any edge incident with a vertex of L must be contained in a star S j (iii) Some authors (see [3,10,23]) use "bipartite tolerance graphs" instead of bounded bipartite tolerance graphs, but as indicated by Figure 1, this class is properly contained in the intersection of the classes of tolerance graphs and bipartite graphs.We have followed the convention used in [14] and used the phrase "bipartite tolerance graph" for the intersection of tolerance graphs and bipartite graphs, and the phrase "bipartite bounded tolerance graph" for the smaller class.
with j ≤ i, and any edge incident with a vertex of R is contained in a star S j with j ≥ i + 1.Thus, no edge connects L and R and ) is a connected bipartite probe interval graph with X ∪ Y partitioned into U and independent set N and having CUSP U = {U 1 , U 2 , . . ., U t } with respect to this partition, then each U i that is a K 2 with both ends in U is a cut-edge of G.
Proof: The largest induced cycle in a probe interval graph is a 4-cycle (see [18]).Note that the only way to partition a 4-cycle into consecutive stars is via two Since each star is an induced subgraph of G, c i and c i−1 are adjacent in both S i and S i−1 , contradicting the fact that S partitions the edges of G. Now assume N x is consecutively ordered and let X = {x 1 , x 2 , . . ., x nx } correspond to this ordering.Let S i be the subgraph induced on Since G is bipartite, each induced subgraph is a star, and because each x i is in a unique S i , the set of stars S is consecutively ordered and clearly partition the edges of G. Therefore, G is a tolerance graph. 2 The partition of V (G) into U ∪ N , as in Theorem 1.2, results in a probe-nonprobe partition: U becomes the probe set and N becomes the nonprobe set (see Theorem 4.1 in [6]).This fact together with the next theorem gives Lemma 2.2.Recall that a bipartite graph is convex provided that it is either X-consecutive or Y -consecutive.
Theorem 2.1 (Brown, Lundgren, [6]) Let G be a bipartite graph with bipartition V (G) = (X, Y ).G is a probe interval graph with probe-nonprobe partition corresponding to the given bipartition if and only if G is convex; specifically, G is X-consecutive, if and only if G has a probe-interval representation with P = X (similarly for Y ).
For the recognition of bipartite probe interval graphs, we proceed in a fashion similar to that used for bipartite tolerance graphs, but instead of maximal 2-connected subgraphs, we must focus on the maximal 2-edge-connected subgraphs.If each maximal 2-edge-connected subgraph is convex then each has a CSP, following the remarks after Theorem 1.3, but we must organize the CSPs so that the centers of their stars can become the U -set as in Theorem 1.2, and so that no edge, and in particular no cut-edge of G, requires both endpoints be in N .This has implications on how the cut-edges of G are oriented with respect to G's bipartition and in which parts asteroidal triples lie.We make these relationships precise precise in Lemma 4.2.Presently, we give the analogue of Lemma 2.1 for bipartite probe interval graphs.Proposition 2.2 For G a 2-edge-connected bipartite graph, G is a probe interval graph if and only if G is convex.
Proof: Let G be a 2-edge-connected bipartite probe interval graph having CUSP U = {U 1 , . . ., U t } with respect to the partition V (G) = U ∪ N , where G(N ) is an independent set.U has no U i which is a K 2 contained in U , by Lemma 2.2 since G is 2-edge-connected.Thus, with c i the center of U i , c i ∈ U and U i \ {c i } ⊆ N , for each 1 ≤ i ≤ t, and so no c i is adjacent to c j for 1 ≤ i < j ≤ t.Therefore U ∪ N is a bipartition and G is convex by Theorem 2.1.
If G = (X, Y, E) is convex with, say, N x consecutively ordered, then we can take Y = U and X = N and the collection {{y} ∪ N (y) : y ∈ Y } is a consecutively orderable U -star partition. 2 Lemmas 2.1 and 2.2 are the conceptual basis for the algorithms we present.Before presenting the algorithms, we develop some notation and identify substructures that will used by the algorithms and necessary for the statement of the structural characterizations that follow.
For the next lemmas we introduce the notation G k− which stands for the graph obtained from G by iteratively deleting vertices of degree-one k times; that is, if P G denotes the set of pendant vertices of G, , and so on.We will need to identify asteroidal triples contained in one or the other partite set of bipartite graph G = (X, Y, E).We denote by ATX an asteroidal triple {x, y, z} ⊆ X, and by ATY, we mean an asteroidal triple {x, y, z} ⊆ Y .
Proof: Every convex graph is a tolerance graph, so it suffices to show the reverse containment also holds.So assume G is a tolerance graph and Otherwise, for some minimal index i, c i and c 1 are from different partite sets of G, noting that we can take centers for S j s that are K 2 s arbitrarily.Among all such CSPs of G, we choose S so that the index i is as large as possible and observe that this implies that |V (S i )| > 2. Then by the same reasoning used in the proof of Lemma 2.1, But by re-assigning the center of S 1 to be c 2 , we obtain a CSP where S 1 and S 2 have centers in the same partite set, contradicting our choice of S with i maximal.Thus, we can assume that c i−1 c i is a pendant edge of G 1− , and so either , then let P = {p 1 , . . ., p r } be the set of pendant edges of G incident with c i .Note that the graph induced on By assigning the center of (c i−1 c i ) to be c i−1 and the center of each p a to be the pendant vertex of G, all the centers of S * are from the same partite set of G and hence G is convex.
Similarly, if c i−1 is pendant in G 1− , let P = {p 1 , . . ., p r } be the pendant edges of G incident with c i−1 .Observe that the graph induced by is a CSP of G.By assigning the center of (c i−1 c i ) as c i and the center of each p a as the pendant vertex of G for each 1 ≤ a ≤ r, we note that the first star of S * with central vertex in the partite set of G containing c i−1 has index i * > r + 2 ≥ i, contradicting our choice of S. 2 Lemma 2.3 along with the comments following Theorem 1.3 justify the algorithm for bipartite tolerance graphs.Briefly, if we examine the blocks of G 2− , assuming no T 3 of Figure 1 in G, and find each to be convex, then we can create a CSP for each block and assemble the CSPs to form one for G. Lemmas 3.1, and 3.2 of Section 3 will detail how the assembly is done.
Lemma 2.4 Let G be a bipartite graph so that G 2− is 2-edge-connected.Then G is a probe interval graph if and only if G is convex.
Proof: As every convex graph is a probe interval graph, it suffices to prove the reverse containment holds as well.So assume G is a probe interval graph and G 2− is 2-edge connected, but G is not convex.Then G has a CUSP S = {S 1 , S 2 , . . ., S t } by Theorem 1.2; suppose further that S was chosen to have the fewest possible K 2 s in U and t minimal.If S i is a K 2 in U , then by Lemma 2.2 S i is a cut-edge, and so this edge is not an edge of G 2− .Now, in a manner similar to that in Lemma 2.3, via choosing i minimum, we can show that deleting this edge creates pendant edges which we can rearrange to form a new CUSP with one less K 2 in U .So by the minimality of i, no such S i ; therefore S is a CUSP and hence G is either X-consecutive or Y -consecutive, and hence convex. 2 Lemma 2.7 forms the basis of the algorithm for bipartite probe interval graphs.Briefly, assuming bipartite graph G has no T 3 of Figure 1, we examine the maximal 2-edge-connected subgraphs of G 2− and check that each is convex.If each is convex, then an additional check is made to see whether the CUSPs from these subgraphs can be assembled to form a CUSP for G. Lemma 4.4 shows how the CUSPs can be assembled, and the additional check required in this algorithm is based on the structure described in Lemma 4.2.

A Structure Theorem for Bipartite Tolerance Graphs
Recall that a block of a connected graph G is a maximal subgraph with no cut-vertex.Clearly, every block of a connected graph is either 2-connected or a cut-edge or an isolated vertex in the trivial case where G ∼ = K 1 .Let B be a block of connected graph G and define the boundary of B denoted ∂B as the set of vertices of B whose neighborhood is not contained in B; that is, ∂B = {v ∈ V (B) : N (v) ⊆ V (B)}.In other words, ∂B is the set of cut-vertices of G that belong to B. We partition ∂B into two sets, ∂ 1 B, and ∂ 2 B as follows: In other words, ∂ 1 B consists of vertices adjacent to at least one pendant vertex and that are not in For each block B of G, we define the induced subgraphs B and B * of G as follows: ; the graph induced on B together with these new vertices will be denoted by B .
See Figure 2 for an illustration.Observe that when G is 2-connected, then ∂ 2 B = ∅ and B * = G.More generally, Lemma 2.3 implies that if G is a bipartite tolerance graph and B is any block of G, then B * is convex.The proof of correctness for our algorithm for bipartite tolerance graphs immediately yields the following structural result, as indicated in [8].Theorem 2.2 Let G be a bipartite graph.G is a tolerance graph if and only if, for any block B of G, B * is convex and T 3 of Figure 1 is not an induced subgraph of G.

A Structure Theorem for Bipartite Probe Interval Graphs
Let G be a connected bipartite graph and let E − = {x i y i | 1 ≤ i ≤ t} be the set of cut edges of G 2− .Let H be a component of G − E − , and note that H may be an isolated vertex.The boundary of H, ∂H, is defined as above, and it is easy to see that ∂H ⊆ {x i , y i | 1 ≤ i ≤ t}.Now, for each such induced subgraph H of G, we construct the induced subgraph H of G by including vertices w , w , w / ∈ V (H) for each ww ∈ E − and w ∈ ∂H so that the graph induced on {w, w , w , w} is a path of length three (henceforth 3-path).H is an induced subgraph of G because, by definition, ww ∈ E − , and either w , w can be chosen from other components of G 2− − E − , or one or both of these vertices can be chosen from V (G) \ V (G 2− ).See Figure 3 for an illustration.
Note that when G 2− is 2-edge-connected, then E − = ∅ and H = G.More generally, Lemma 2.4 implies that if G is a bipartite probe interval graph and H is any component of G 2− − E − , then H is convex.This fact is fundamental to our recognition algorithm for bipartite probe interval graphs.Also fundamental to the algorithm is Lemma 4.2 which we foreshadow here by way of examples.Note that H10 = (X, Y, E) of Figure 1 is not convex, as it has an ATX and and ATY.Also, H10 has no consecutive U -star partition, but the structure it has which we generalize and use for the recognition algorithm is as follows.(H10) 2− is a cut-edge, say xy with x ∈ X and y ∈ Y , so the components of (H10) − E − are H x and H y , paths of order five centered at x and y, respectively.Since H x and H y both contain a subgraph isomorphic to T 2 , we observe that H x contains an ATX and H y contains an ATY.Finally, we observe that x is in the same component of H10 − xy as H x .Our remarks in the caption of Figure 3, about Γ − xy, illustrate another example.We call this structure a generalized H10.Our recognition algorithm for bipartite probe interval graphs yields the following structural result.
Theorem 2.3 Let G be a bipartite graph.Then G is a probe interval graph if and only if, for any component H of G − E − , H is convex, T 3 of Figure 1 is not an induced subgraph of G, and G does not contain a generalized H10.

Recognizing Bipartite Tolerance Graphs
The following results describe the structure of how blocks of a bipartite tolerance graph are arranged and lead to a procedure for combining the CSPs for each B of the graph into a CSP for the entire graph.The results of this section all appeared without proof in [8].
Proof: Let G be a tolerance graph and B a block of G with |∂ 2 B| ≥ 2. Since tolerance graphs are hereditary and B * is an induced subgraph of G, it is also a tolerance graph and thus has a CSP, say, S = (S 1 , S 2 , . . ., S t ).Take v ∈ ∂ 2 B and let S i be the star that contains the edge v v .Note that S i must be the single edge v v or the 2-path induced on N [v ].In either case, by Lemma 2.1, we see that V (S i−1 ) ∩ V (S i ) is a cut-set of B * , and since v is not in any star other than S i , and vv ∈ E(B * ), we note that the set V (S i−1 ) ∩ V (S i ) does not separate any two vertices of B. Thus, we conclude that i = 1 or i = t, and by deleting the vertices of V (B * ) \ V (B ), we obtain a CSP S of B with v in the first or last star.Now observe that for any v 1 = v 2 in ∂ 2 B, the edges v 1 v 1 and v 2 v 2 are in distinct stars of S. So the CSP S must begin at a star containing v 1 and end at a star containing v 2 (or vice versa).Consequently 2 The following corollary is a direct consequence of the contrapositive of Lemma 3.1.
and v is at distance at most two from every other vertex of B , then B has a CSP such that v is contained in every star.
Proof: Let G, B, and v be as stated in the hypothesis.By Lemma 2.3, B * is convex and so we may assume that B * is Y -consecutive with X = {x 1 , x 2 , . . ., x nx } ordered so that N x is consecutively ordered.If v ∈ Y , then this consecutive ordering induces a set of stars each of which contains v, so that by deleting vertices of V (B * ) \ V (B ), we obtain the desired CSP of B .So, we may assume that v ∈ X.In this case the degree two vertex v added to B at v is in Y and that v ∈ X.Since v has degree one, it can only be adjacent to v in the consecutive ordering, and so deleting v and v , we obtain a consecutive ordering of X \ {v } in which v is first or last.In other words, we can assume y) is defined for each such y ∈ Y \ {v } and by the consecutive ordering of N x , N (y) = {x 2 , x 3 , . . ., x f (y) }.Thus, we can index Y \ {v } so that f (y i ) ≤ f (y j ) whenever i < j and with this ordering (N (y 1 ), N (y 2 ), . . ., N (y t )), N y is consecutively ordered.The stars induced on these closed neighborhoods then form a CSP of B with v in every star. 2 Note that since tolerance graphs are hereditary, Theorem 1.4 implies that if G has an induced subgraph isomorphic to T 3 , then it is not a tolerance graph.

An Algorithm for Recognizing Bipartite Tolerance Graphs
Theorem 1.1 and the results in the preceding sections provide the basis and justification for the following algorithm, presented originally in [8], which recognizes bipartite tolerance graphs in time linear with respect to the number of vertices and edges of the graph.We use deg H (v) for the degree of vertex v in graph or subgraph H, and ε H (v) for the maximum distance from v to any other vertex of graph or subgraph H.The block cut-point graph of G is the tree T with vertices the blocks and cut-vertices of G, and vertices adjacent if and only if they are incident in G.
The following proof of correctness for Algorithm 1 is nearly identical to the proof from [8]; again we include it here for comparison to Algorithm 2.   Proof: We first show that the algorithm is correct.If G − P G contains a block B such that B * is not convex, then G is not a tolerance graph by Lemma 2.3.If B * is convex for every block and T is not a path, then T has a vertex of degree 3 or more.This vertex does not represent a block of G − P G , since for such a block, |∂ 2 B| ≥ 3 and B * is not convex by Corollary 3.1.Therefore, this vertex of T represents a cut-vertex v of G − P G and is at the end of a path of length three in at least three different blocks.Thus G contains an induced subgraph isomorphic to T 3 , and is not a tolerance graph by Theorem 1.4.In all other cases the algorithm returns true and we claim that a CSP for G can be constructed as follows.
For each block on the path that remains of T which is adjacent to two cut-vertices u and v on this path, the associated graph B has a CSP that begins at a star containing u and ends at a star containing v by Lemma 3.1.Similarly, for any blocks B on the ends of this path adjacent to only one cut-vertex v, B will have a CSP that begins or ends at a star containing v. Thus, we can combine each of these CSPs into a CSP that contains every edge in an undeleted block.Finally, each block B that was deleted from T is adjacent to a single cut-vertex v, and by Lemma 3.2 the associated graph B has a CSP with v contained in every star.Thus we can insert this CSP into our combined CSP at the beginning or end if the first or last star already contains v, or between any two stars that both contain v. Two such stars must exist if the first and last star do not already contain v, since in this case v must be contained in two blocks that were not deleted from T .Because every edge of G is in at least one graph B , this produces a CSP for G and so G is a tolerance graph by Theorem 1.1.In addition, by the algorithm described in [7], a tolerance representation can be constructed from this CSP.Now we show that the algorithm requires O(n + m) steps.We use n H and m H to denote the number of vertices and edges respectively in a graph or subgraph H. Finding the set P G requires O(n) time, and finding the blocks and cut-vertices of G − P G and building the block cut-point graph T can be done in O(n + m) time, see [24] by Tarjan.Using these blocks, we can also construct the graphs B where B is a block of G−P G that partition the edges of G, and the adjacency matrices A(B * ) can be constructed, where B is a block of G−P G in O(n) time.The verification that each B * is convex requires O(n B +m B ) time, see [2] by Branstädt, Le, and Spinrad.Determining whether deg T (B) = 1, concordantly identifying the cut vertex c adjacent to B in T can be done in constant time, and because B is bipartite we can determine if B contains an induced path of length three or more that begins at v in O(n B ) time.Thus the total running time for all of these tests is B O(n B + m B ).
After all of the above tests are complete and the appropriate blocks have been deleted from T , testing that the graph which remains is a path requires O(n T ) = O(n + m) steps.
An easy induction proof shows that V (G) b v ≤ 2n, where b v is the number of blocks that contain v ∈ V (G).Hence the total running time is 4 Recognizing Bipartite Probe Interval Graphs In this section, we develop our algorithm which recognizes when a bipartite graph is a probe interval graph without specifying the vertex partition V = P ∪ N .Our algorithm requires a connected bipartite graph G with partite sets X and Y labeled.We create G 2− and its corresponding block cut-point graph BC(G 2− ).
For probe interval graphs we are interested in maximal 2-edge-connected subgraphs (including isolated vertices incident only with cut edges of G 2− ) and so we use BC(G 2− ) to identify the set E − of cutedges of G 2− , and then form the bipartite graph BC * (G 2− ), whose vertices represent maximal 2-edgeconnected subgraphs and cut-edges of G 2− and vertices are adjacent when the corresponding cut-edge and 2-edge-connected subgraph intersect.Note that T 3 of Figure 1 has the property ) is not a path, G has an induced T 3 .The converse however is not true, as shown in Figure 5; Lemma 4.1 If G is a probe interval graph and H is a component of G − E − , then no more than two cut-edges of G 2− may be incident to H.
Proof: Suppose H has at least three cut edges w 1 w 1 , w 2 w 2 , w 3 w 3 of G 2− incident to it with w 1 , w 2 , w 3 not necessarily distinct.Each edge w i w i is incident to a trivial 2-edge-connected (2EC) component, the vertex w i , or is incident to a non-trivial 2EC component.If w i w i is incident to the trivial component w i , then (1) w i is incident to a path of length 3 w i , w i , w i , w i with deg( w i ) = 1, or ( 2) is incident to a path of length at least 2 connecting H to another non-trivial 2EC component, or (3) to a path of length at least 4 terminating at a pendant vertex.A non-trivial 2EC component contains at least an induced 4-cycle.Thus we may find an induced path of length 3 from each of w 1 , w 2 , w 3 .So, regardless of whether w 1 , w 2 , w 3 are distinct, G will have an induced T 3 and cannot be probe interval.2 The following corollary is a consequence of Lemma 4.1 and will justify steps 4 and 5 of the algorithm of Figure 6.The contrapositive of the following Lemma gives the generalized H10 structure described in Definition 2.1.It will also play a key role in the proof for correctness of our probe interval graph recognition algorithm.
Lemma 4.2 Let G be a bipartite graph with partition (X, Y ), and let H x and H y be components of G − E − such that H x contains an ATX and H y contains an ATY.If G is a probe interval graph then there is some edge e = xy that separates H x and H y such that y is in the same component of G − e as H x .
Proof: Let G be a minimal counter-example.Then G is a probe interval graph which satisfies the hypothesis, but has no edge as indicated.Then G has a CUSP S = {S 1 , S 2 , . . ., S t } by Theorem 1.2.Suppose further that S was chosen to have the fewest possible K 2 s in U and note that since G has an ATX and an ATY, there must be some S j which is a K 2 contained in U , by Theorem 2.1.Note that by reversing our indexed order of S if necessary, we may assume H x is in the graph induced by j−1 i=1 S i .We now choose the minimum index j such that S j is a K 2 in U .If the center of S j−1 is in Y , then either H y is also in the graph induced by j−1 i=1 S i contradicting our choice of G as a minimal counter-example, or the edge S j satisfies the lemma.On the other hand, if the center of S j−1 is in X, then by our choice of j, every star S i with i < j has center in X, including all the stars which include edges of H x , contradicting Theorem 1.3. 2 The next result complements Lemma 2.4 and Lemma 4.1 and will justify steps 7 through 13 in Algorithm 2 of Figure 6.Proof: Assume G is a bipartite probe interval graph with bipartition (X, Y ), choose a component H of G − E − , and recall that H is an induced subgraph of G; thus H has a CUSP U = {U 1 , U 2 , . . ., U t } with respect to the partition (U, N ).
then this ordering gives a consecutive ordering of the neighbors of Y or of X, respectively, and so H is convex.So, we assume that there are indices i < j for which |V (U i ) ∩ X| ≥ 2 and |V (U j ) ∩ Y | ≥ 2, relabeling partite sets if necessary.Furthermore, from the definition of a U -star, and using c r to denote the center of U r , it follows that c i ∈ Y , c j ∈ X, and that for each k satisfying i < k < j, U k is a cut-edge of H. Since the only cut-edges of H are from E( H) \ E(H), and each U k separates U i and U j , we conclude that i = 1, and U 1 is the path of length two induced by {w , w , w} for some w ∈ ∂H ∩ Y .It then follows that c 1 = w and U 2 is the edge ww .Since U 1 is a U -star with more than two vertices, U ∩ V (U 1 ) = {c 1 } and hence w ∈ N , and as U 2 is also a U -star, it follows that w ∈ U ∩ Y .But then either j = 3 and c 3 = w, contradicting our assumption that c 3 ∈ X, or U 3 is a cut-edge.In the latter case, it follows immediately that V (H) = {w}.But in this case, we can conclude from Theorem 4.1 that H is isomorphic to P 7 , which is obviously convex. 2 Finally, we show that the U -stars of any CUSP for any H corresponding to bipartite probe interval graph G must be chosen so that the vertices w, w of a 3-path incident to w ∈ ∂H are in the first or last U -star of the CUSP.The proof of this fact is very similar to Lemma 3.1, although we note that in this case we allow for the possibility that u = w.Lemma 4.4 Suppose G is a bipartite probe interval graph and H corresponds to some maximal 2-edgeconnected subgraph of G.If the CUSP for H is U = {U 1 , U 2 , . . ., U t } and u, w ∈ ∂H, then u, u ∈ U 1 and w , w ∈ U t or vice-versa.
Proof: With H, u, and w as stated, note that uu and ww are cut-edges of G 2− .We argue for u, u , u , u at the (wlog) beginning of the CUSP; the argument for the 3-path incident to w is similar.The edge uu does not separate any vertices of H and so U 1 is either the K 2 on { u, u } or the 2-path induced by N [u ] and U 2 is either the 2-path induced on N [u ] or contains {u , u}, respectively.2

An Algorithm for Recognizing Bipartite Probe Interval Graphs
We are now ready to present our algorithm for recognizing bipartite probe interval graphs.For G a connected bipartite probe interval graph, note that Lemma 4.1 implies that BC * (G 2− ) has maximum degree two, and since this graph is clearly acyclic, BC * (G 2− ) must be a path.If BC * (G 2− ) is a path, each H is checked to see that it is convex, and we use the structure of BC * (G 2− ) and a variable U -Part to specify whether the current H i 's U -assignment forces the U -assignment of H i+1 .This U -assignment is forced if the only possible U -assignment of H i forces the connection point, V (H i ) ∩ e i , to be a non-U -vertex.Then e i ∩ V (H i+1 ) must be a U -vertex.Essentially, this aspect of the algorithm tests for a generalized H10 in G.If the algorithm returns TRUE, then we may assemble a CUSP for G, as we show in the proof of correctness for the algorithm.H t+1 has a CUSP S t+1 which begins at v t and H i has a CUSP S i beginning at v i−1 and ending at w i for each 1 ≤ i ≤ t.We will show that it is possible to construct each S i with U -Part U i such that S = (S 1 , e 1 , S 2 , e 2 , . . ., S i , e i , . . ., S t+1 ) is a CUSP for G with U = t+1 i=1 U i .To this end, it suffices to show that the CUSPs S i can be chosen so that no e i has both vertices assigned to N .Proceeding in a manner similar to that in Lemma 2.3, assume that among all choices of these CUSPs we have selected ones so that the minimum index c for which e c has both its vertices in N is as large as possible and, without loss of generality, that w c = x c and v c = y c .If H c+1 contains no ATY, then this graph has a CUSP S c+1 such that y c ∈ U c+1 , and by replacing S c+1 with S c+1 we obtain S such that e i has at least one endpoint in U for each 1 ≤ i ≤ c, contradicting our choice of S c+1 so that this minimum index c was maximal.Thus, we may conclude that H c+1 must have an ATY.But since the algorithm returns TRUE, we must have (1) H c+1 contains no ATX, and (2) U -Part = "Y " at the beginning of step c + 1 of the algorithm.We can eliminate the possibility that U -Part = "X" at the beginning of step c + 1 by observing that w c = x c ∈ V (H c ), so U -Part would be reset to "" by instruction 16 during step c.Thus, we can assume that U -Part = "" at the end of step c and the beginning of step c + 1.From this we conclude that H c contains no ATX.Furthermore, if H c contains an ATY, then U c = X c and w c ∈ U , contradicting our choice of c so that no vertex of e c is in U .Thus, H c is biconvex.Now, let a < c be the maximum index such that c i=a V (H i ) is not biconvex.If no such a exists, we can choose CUSPs S i so that U i = X i and thus e i has at least one vertex in U , for each 1 ≤ i ≤ c contradicting our choice of c.So a exists, and we consider the value of U -Part at the end of step a.If U -Part = "", then w a ∈ U a and we simply choose CUSPs S i for a < i ≤ c such that U i = X i , again contradicting the choice of c so that both ends of e c are in N .Similarly, if U -Part = "X", then w a / ∈ X and so v a ∈ X.Then we can choose S i for a < i ≤ c such that U i = X i , and w c ∈ U , contradicting our choice of S so that c was maximum.Finally, if U -Part = "Y ", then at some index b with a < b ≤ c, instruction 16 must reset U -Part to "" on step b and this, in turn, implies that w b = y b ∈ U .In this case, we can choose CUSPs S i for b < i ≤ c with U * i = X i and obtain a CUSP S * where e i has at least one vertex in U for 1 ≤ i ≤ c, contradicting our choice of S so that c was maximum.
We now show that the algorithm requires O(n + m) steps.Clearly, constructing G 2− requires O(n) steps, and as noted previously, constructing BC(G 2− ) requires O(n + m) steps, which also implies that we can determine the set E − of cut-edges of G 2− in O(n + m) steps.Furthermore, deleting an edge can be done in constant time, and as a result we can construct G − E − in O(m) time, and determine the components of G − E − in O(n + m) time.Hence constructing BC * (G 2− ), determining if this graph is a path, and if so, indexing the components of G 2− and edges of E − as described in the algorithm can all be done in O(n + m) steps.Now let n i = |V (H i )| and m i = |E(H i )|.Determining ∂H i requires at most n i steps, and constructing H i from H i will require the addition of at most 6 additional vertices and edges, since BC * (G 2− ) has been checked to be a path when H i is to be constructed.As in the algorithm for bipartite tolerance graphs, testing H i for an ATX and an ATY will require O ((n i + 6) + (m i + 6)) steps, and determining which vertex of e i = x i y i is in H i and setting the new value of U -Part can be done in constant time.Thus the total time required for the algorithm is To complete the proof, we observe t+1 i=1 ((n i + 6) + (m i + 6)) ≤ O(n + m): since each vertex is in a unique H i , t+1 i=1 (n i + 6) = n + 6t + 6, and since each edge of G 2− is either in E − or in a unique H i , we have t+1 i=1 (m i + 6) ≤ (m − t) + 6t + 6.Finally, since t represents the number of cut edges of G 2− , t = O(m).Therefore, Algorithm 2 runs in time O(n + m). 2

Conclusion
Algorithms 1 and 2 and the structural characterizations that result show the close relationship between convex bipartite graphs and the classes of bipartite tolerance graphs and bipartite probe interval graphs.We expect that Theorems 2.2 and 2.3 can be used to generate a list of minimal forbidden subgraphs for the classes of bipartite tolerance and bipartite probe interval graphs, respectively.Specifically, our results show that if a bipartite graph is not a tolerance graph then it either contains a T 3 or an induced subgraph that is 2-connected after removing pendant one-and two-edge paths and is not convex.That is, it has an asteroidal triple in both sets of the bipartition.Our algorithm can be modified to output such graphs when found.Determining a list of minimal such subgraphs appears to be a bit more complicated.Tucker's list in [25] of forbidden subgraphs for an asteroidal triple in one partite set might be a starting point for developing such a list.Our results also show that if a bipartite graph is not a probe interval graph then it contains a T 3 or an induced subgraph that is two edge connected after removing pendent paths with one, two, or three edges, and is not convex or a generalized H10.Our algorithm can be modified to output such graphs when found.Developing a list of minimal forbidden subgraphs for bipartite probe interval graphs will require a list of minimal nonconvex graphs that are 2-edge-connected graphs after removing pendent paths with one, two or three edges as well as a list of minimal graphs containing a generalized H10.The blocks of these minimal graphs must have a linear structure, and, except for the end blocks, each block must be an edge, a ladder, K 3,3 minus a matching, or a 4 cycle with some additional conditions as suggested by figure 7. However details of a complete characterization of minimal generalized H10's remain incomplete.
In theory, these observations provide a foundation for a conceptually simple certification procedure when Algorithms 1 and 2 return false.However, it seems likely that the list of forbidden subgraphs for bipartite tolerance graphs and bipartite probe interval graphs will be large and include subgraphs with a large number of vertices.As a result, a more nuanced certification procedure may be desirable.

Definition 1 . 2
Given a graph G = (V, E) and a vertex partition (U, N ), a set G = {G 1 , G 2 , . . ., G t } of consecutively ordered U -stars will be referred to as a consecutive U -star partition (CUSP) of G.Theorem 1.2 (Brown, Lundgren,[6]) A bipartite graph G is a probe interval graph if and only if it has a consecutive U -star partition.

Fig. 2 :
Fig. 2: A graph with block B and its corresponding B * .∂ 1 B = {a, d}, ∂ 2 B = {b, c}.We claim G is not a tolerance graph because {b , a , c } and {d , c , b } are asteroidal triples from different partite sets.

Fig. 3 :
Fig.3: A bipartite graph with X the darkened vertices.The darkened edges cx and xy are cut-edges of G 2− and hence belong to E − .The set {a, b, x} is an ATX and {z, g, d} is an ATY.G is not a probe interval graph because it has an induced T3, but Γ = G − {c, h, e} is not a probe interval graph because Γ − xy has an ATX in H1 and an ATY in H2 which requires that {x, y} ⊂ N .

Theorem 3 . 1 8 :
Algorithm 1 is correct and runs in O(n + m) steps, where n = |V (G)| and m = |E(G)|.Algorithm 1 G is a bipartite tolerance graph.Input: G is a connected, bipartite graph Output: This algorithm returns TRUE if G is a bipartite tolerance graph and returns FALSE otherwise.1: Find P G , the set of all pendant vertices of G 2: Find all blocks of G 1− and construct the block cut-point graph T of G 1− 3: for all blocks B of G 1− do 4: Construct B and B * 5: if B * is not convex then if deg T (B) = 1 and ε B (c) ≤ 2 for the unique cut vertex c ∈ B then

Lemma 4 . 3
If G is a bipartite probe interval graph, then for each maximal 2-edge-connected subgraph H of G 2− , H as constructed in section 2.2 is convex.

Theorem 4 . 1
Algorithm 2 of Figure 6 is correct and runs in O(n + m) time, where n = |V (G)| and m = |E(G)|.

Fig. 7 :
Fig. 7: A generalized H10 with the darkened vertices being the X-partition.Deleting any vertex yields a probe interval graph: removal of any pendant or cut-vertex results in a convex graph, and removal of any other vertex changes all cut-edges to those of the form described in Lemma 4.2.
4.1 Suppose G is a bipartite probe interval graph and H = {H 1 , H 2 , . . ., H t+1 } is the set of components of G 2− minus E − .The elements of E − can be indexed e 1 , e 2 , . . ., e t , with e i joining H i and H i+1 , for 1 ≤ i ≤ t, and H 1 and H t are incident to only one cut edge of G 2− .