Discrete Applied Mathematics ( ) – Contents lists available at ScienceDirect Discrete Applied Mathematics journal homepage: www.elsevier.com/locate/dam Recognition of probe proper interval graphs Yahav Nussbaum ∗ The Blavatnik School of Computer Science, Tel Aviv University, 69978 Tel Aviv, Israel article info Article history: Received 15 December 2011 Received in revised form 24 October 2013 Accepted 16 November 2013 Available online xxxx Keywords: Probe graph Interval graph Graph recognition abstract In a partitioned probe graph the vertex set is partitioned into probes and non-probes, such that the set of non-probes is an independent set. A probe proper interval graph is the intersection graph of a set of intervals on the line such that every vertex is mapped to an interval, no interval contains another, and two vertices are adjacent if and only if the corresponding intervals intersect and at least one of them is a probe. We present the first linear-time algorithm that determines whether an input partitioned probe graph is a probe proper interval graph, and if the answer is positive then the algorithm constructs a corresponding set of intervals. © 2013 Elsevier B.V. All rights reserved. 1. Introduction An interval graph is the intersection graph of intervals on the line. The set of intervals constitutes an interval model for the graph. Interval graphs arise in many fields; see for example the book of Golumbic and Trenk [14]. Booth and Lueker [3] gave the first linear-time algorithm for recognizing interval graphs and constructing interval models for these graphs. One of the applications of interval graphs is physical mapping of DNA. In this process biologists reconstruct the arrangement along the genome of fragments of DNA, called clones. For some clones, called probes, the intersection data between them and other clones is known. If all clones were probes, then we could construct an interval graph from the clones, and an interval model for this graph would give the desired arrangement. However, typically not all clones are probes. McMorris, Wang and Zhang [21] introduced probe interval graphs to model this scenario. In a probe interval graph the vertex set is partitioned into probes and non-probes, such that we can assign to each vertex an interval in such a way that two vertices are adjacent if and only if their intervals intersect and at least one of them is a probe. This definition generalizes interval graphs, which correspond to the case where all vertices are probes. See the book of Golumbic and Trenk [14, Chapter 4] for a survey on probe interval graphs. Johnson and Spinrad [16] presented the first polynomial-time algorithm for recognizing probe interval graphs, and constructing interval models for such graphs. McConnell and Spinrad [20] gave a faster algorithm. Finally, McConnell and Nussbaum [19] presented a linear-time algorithm. The study of probe interval graphs advanced in two directions. First, the problem was generalized to the case where, in contrast to the biological application case, the partition of the vertex set into probes and non-probes is not given as part of the input. Chang et al. [8] gave an algorithm for recognizing proper interval graphs when the partition into probes and non-probes is not given. In this paper we always assume that the partition into probes and non-probes is given. Second, probe versions of other classes of graph were defined and studied; some examples for probe graph classes with efficient recognition algorithms are probe chordal graphs [1], probe cographs [17] and probe comparability graphs [7]. An interval graph that has a model in which no interval contains another is a proper interval graph. There are several linear-time algorithms for recognizing proper interval graphs and constructing proper models for the graphs; the first was ∗ Tel.: +972 36405231; fax: +972 36409373. E-mail address: [email protected]. 0166-218X/$ – see front matter © 2013 Elsevier B.V. All rights reserved. http://dx.doi.org/10.1016/j.dam.2013.11.013 2 Y. Nussbaum / Discrete Applied Mathematics ( ) – Fig. 1. A claw. On the left the graph, on the right an interval model for it. This is an interval graph, but not a proper interval graph. If the graph is a probe proper interval graph then at least two of the three independent vertices must be non-probes and their intervals must intersect. the algorithm of Looges and Olariu [18]. Proper interval graphs were also suggested as a tool for DNA sequencing, as there are cases where all clones have similar lengths [15]. A probe proper interval graph is a probe interval graph that has a model in which no interval contains another. In this paper we give the first linear-time algorithm for recognizing probe proper interval graphs and constructing proper interval models for such graphs. A cubic-time algorithm for the same problem was given by Pan [22]. Probe proper interval graphs were previously studied by Golumbic and Lipshteyn [13] (see also [14, Chapter 4]). Brown, Lundgren and Sheng [6] gave a characterization and a recognition algorithm for cycle-free probe proper interval graphs (and also for the version in which the vertex set is not partitioned into probes and non-probes). Recently, forbidden subgraph characterizations were presented for three subclasses of probe proper interval graphs, for the case where the vertex set is not partitioned into probes and non-probes. Brown and Langley [5] gave a characterization for bipartite unpartitioned probe proper interval graphs, together with a linear-time recognition algorithm. Bonomo et al. [2] gave a characterization for unpartitioned probe proper interval graphs that are P4 -tidy graphs and for unpartitioned proper probe interval graphs that are tree-cographs. Other subclasses of probe interval graphs that were studied before include cycle-free probe interval graphs (both partitioned and unpartitioned) [25], 2-tree unpartitioned probe interval graphs [23] and bipartite unpartitioned probe interval graphs [4]. The probe proper interval graph recognition problem is a special case of the proper interval sandwich problem. In the proper interval sandwich problem we have a graph and a set of optional edges, and the question is whether we can augment the graph with a subset of the optional edges to get a proper interval graph. In a probe proper interval graph, the set of optional edges contains an edge between every pair of non-probes. The proper interval sandwich problem is NPcomplete [12]. Our algorithm is based on the algorithms of Deng, Hell and Huang [10] and Hell, Shamir and Sharan [15] for recognizing proper interval graphs. In contrast to recognition algorithms for probe interval graphs [16,19,20] that use complex data structures, such as PQ-trees and modified forms of modular decomposition, our algorithm does not require such tools. The requirement that no interval in the model contains another may force intervals of some non-probes to intersect. If there is a probe that is adjacent to three independent vertices, then at least two of the three vertices must be non-probes, since at least two of the three corresponding intervals must intersect in every interval model of the graph [6] (see Fig. 1). This property gives missing intersection data that we do not have for probe interval graphs. On the other hand, because of this property we cannot use the strategy of the algorithm of Looges and Olariu [18], which first finds an interval model for the graph and then rearranges the endpoints of the intervals such that no interval contains another, keeping the same pairs of intersecting intervals. In the case of a probe proper interval graph, if we find an interval model for the input probe graph, it may be possible that in this model intervals of two non-probes do not intersect even though they must intersect in every proper interval model. 2. Preliminaries We consider a finite, simple, undirected graph G = (V , E ). We denote |V | by n and |E | by m. A partitioned probe graph, which we call a probe graph for short, is a graph G in which the vertex set V is partitioned into P, the set of probes, and N, the set of non-probes, such that the set of non-probes N is an independent set. For a vertex v ∈ V , the (closed) neighborhood of v is the set of all vertices adjacent to v , together with v itself; we denote this set by N [v]. Let U ⊆ V be a subset of the vertices of G; we denote N [v] ∩ U, the neighborhood of v restricted to U, by NU [v]. Note that if v is a non-probe, then N [v] = NP [v]. Let U ⊂ V and v ∈ V \ U; we denote by U + v the set U ∪ {v}. An interval model is a set of intervals on the line. An interval model M is a model of a graph G′ (without a partition of the vertex set into probes and non-probes) if there is a mapping between the vertices of G′ and the intervals of M such that two vertices are adjacent if and only if the corresponding intervals intersect. A graph that has an interval model is an interval graph. An interval model M is model of a probe graph G if there is a mapping between the vertices of G and the intervals of M such that two vertices are adjacent if and only if at least one of them is a probe and the corresponding intervals intersect. A probe graph G is a probe interval graph if it has an interval model. A proper interval model is an interval model in which no interval contains another interval; a graph that has a proper interval model is a proper interval graph. A unit interval model is an interval model in which all intervals have the same length; a graph that has a unit interval model is a unit interval graph. Roberts [24] showed that a graph is a proper interval graph if and only if it is a unit interval graph. Moreover, a graph is a proper interval graph if and only if it is an interval graph and it does not contain a claw (see Fig. 1) as an induced subgraph. Y. Nussbaum / Discrete Applied Mathematics ( ) – 3 Similarly, a probe graph is a probe proper interval graph if it has a proper interval model and a probe unit interval graph if it has a unit interval model.1 Golumbic and Lipshteyn [13] showed that a probe graph is a probe proper interval graph if and only if it is a probe unit interval graph. Let G be a probe proper interval graph, with a proper interval model M . The model M is an interval model for some proper interval graph G′ (which is not a probe graph); we say that the graph G′ is a completion of G. The vertex set of G′ is the same as that of G, but the intersection data between vertices of N is not missing from the edge set of G′ . Note that a completion of a probe interval graph is not necessarily unique. Let U ⊆ V ; we denote by G[U ] the subgraph of G induced by U. If G is a probe (proper, unit) interval graph then G[P ] is a (resp. proper, unit) interval graph. Next we present some definitions from Dell et al. [10] and Hell et al. [15] for a graph G′ without a partition of the vertex set into probes and non-probes. For the graph G′ = (V ′ , E ′ ), we define an equivalence relation on V ′ such that v and u are equivalent if and only if N [v] = N [u]; we call an equivalence class of this relation a block. Two blocks B and B′ are adjacent if for b ∈ B and b′ ∈ B′ , the vertices b and b′ are adjacent (note that if B and B′ are adjacent then every vertex of B is adjacent to every vertex of B′ ). A block B is adjacent to itself. Let v be a vertex that we add to G′ with a set of incident edges; we say that v and B are adjacent if v is adjacent to some b ∈ B; we say that v and B are fully adjacent if v is adjacent to every b ∈ B; if v is adjacent to B, but not fully adjacent to B, then v is partly adjacent to B. A straight enumeration is a linear ordering Φ of blocks of V ′ such that for every vertex v , the blocks containing the vertices of N [v] are consecutive (recall that v ∈ N [v]). We view Φ as a left-to-right ordering of the blocks such that the minimum block is the leftmost block and the maximum block is the rightmost block. The leftmost and rightmost blocks of Φ are endblocks. We denote by Bi the block of Φ with i − 1 blocks preceding it in Φ . Let Φ and Ψ be two straight enumerations of disjoint sets of blocks of V ′ ; we denote by Φ ≺ Ψ the straight enumeration that we get by concatenating Φ and Ψ such that the blocks of Φ are to the left of the blocks of Ψ , while retaining the order among the blocks of Φ and among the blocks of Ψ . For a block B, we denote by B also the straight enumeration that contains only B. This notation allows us to use ≺ to describe the order of consecutive blocks within a straight enumeration. A connected proper interval graph has a unique straight enumeration, up to reversal, which defines a proper interval model for the graph [10]. Such a straight enumeration of a connected proper interval graph is also called by Hell et al. [15] a contig, a name originating from the biological application. To produce a proper interval model from a straight enumeration we assign for every b ∈ Bi the interval [i, j + 1 − 1/i], where Bj is the rightmost block adjacent to Bi [10,15]. Note that intervals of vertices of a single block are identical to each other. A straight enumeration representation, or simply a representation, R of a proper interval graph G′ is a set of straight enumerations, one for each connected component of G′ . We define a completion representation, or a representation for short, of a probe proper interval graph G to be a straight enumeration representation of any completion of G. Since the completion of G is not necessarily unique, the completion representation of G is also not necessarily unique. Note that we can use the procedure above that produces a model from a straight enumeration only if we know the adjacencies between the blocks, so this procedure is not applicable to a completion representation of a probe proper interval graph. We describe a similar procedure that produces a model from a completion representation of a probe proper interval graph in Section 4. 3. Incremental algorithms for proper interval graphs Our algorithm is based on the incremental algorithm of Hell, Shamir and Sharan [15] for recognizing proper interval graphs, which in turn is based on the algorithm of Deng, Hell and Huang [10] for the same problem. The algorithm of [10] is also incremental, but it works only for connected graphs. The algorithm of [15] extends the algorithm of [10] to graphs that have more than one connected component. In this section, we briefly describe these incremental recognition algorithms. For a complete description of the algorithms refer to [10,15]. In this section we assume that the graph G is not partitioned into probes and non-probes, or equivalently N = ∅ and P = V . These algorithms construct a straight enumeration representation for the input graph, adding the vertices one by one. Let v be the next vertex that we add to the representation, and let U be the set of vertices that we have added so far. The algorithm maintains a representation of G[U ]. Insertion of a vertex v into the representation takes O(NU [v]) time. The following lemmata give the basis for the incremental algorithm. For simplicity, we assume here that G[U + v] is a proper interval graph. If this is not the case then the properties that are defined in the lemmata are violated, and the algorithm detects this. Lemma 3.1 ([10, Proposition 4.1], [15, Lemma 3.3]). Let Φ be a straight enumeration of a connected component of G[U ] that contains neighbors of v . Let Ba , Bb and Bc be three blocks of G[U ] in Φ such that a < b < c. 1. If v is adjacent to Ba and Bc , then v is fully adjacent to Bb . 2. If v is adjacent to Bb and not fully adjacent to Ba and to Bc , then Ba is not adjacent to Bc . 3. If a + 1 = b = c − 1 and v is adjacent to Bb , then v is fully adjacent to Ba or to Bc . 1 Different names for this graph class include ‘‘unit probe graphs’’ [14], ‘‘unit probe interval graphs’’ [6], and ‘‘probe unit interval graphs’’ [11]. We choose the last option, since it is consistent with the convention that the probe class of the graph class C is called ‘‘probe C graphs’’ (e.g. ‘‘probe interval graphs’’). 4 Y. Nussbaum / Discrete Applied Mathematics ( ) – Lemma 3.2 ([15, Lemma 3.6]). Let Φ be a straight enumeration of a connected component C of G[U ] that contains neighbors of v . Let B be the set of blocks of C that are adjacent to v such that Bj is the leftmost block of B in Φ and Bk is the rightmost block. 1. 2. 3. 4. The blocks of B are consecutive in Φ . If |B | ≥ 3, then v is fully adjacent to Bj+1 , . . . , Bk−1 . If v is adjacent to a single block Bj = Bk of C , then Bj is an end-block of Φ . If |B | ≥ 2 and v is adjacent to a vertex in another component of G[U ], then Bj and Bk are adjacent; one of them is an end-block to which v is fully adjacent, while the other is not an end-block. If the members of NU [v] belong to a single straight enumeration Φ then the algorithm of [15] applies that of [10], which inserts v into Φ as follows. First note that if v is fully adjacent to some blocks of Φ , then by Lemma 3.1(1) these blocks are consecutive, and v may be partly adjacent only to the block preceding them and to the block following them. We split each block B that is partly adjacent to v , if any, into B ∩ NU [v] and B \ NU [v] such that B ∩ NU [v] remains consecutive to the other blocks that are adjacent to v , if any. Then, we either insert v into one of the blocks that it is adjacent to, if there is a block to which v belongs, or we create a new block {v} next to one of these blocks. Specifically, the algorithm of [10] applies one of the following cases, based on the position in Φ of the blocks fully adjacent to v , if any. Let Bp be the rightmost block of Φ . We begin with the cases where v is fully adjacent to some blocks of Φ ; let Bℓ be the leftmost block fully adjacent to v , and let Br the rightmost block fully adjacent to v . The first case is that where 1 < ℓ < r < p. Let a = ℓ − 1 and c = r + 1. The blocks Ba and Bc are not adjacent by Lemma 3.1(2). Let b be the largest index such that Bb is adjacent to Ba , and d be the smallest index such that Bd is adjacent to Bc . From these definitions, a < b < c and a < d < c. It is shown in [10] that b < d, since if b ≥ d then a vertex of Ba \ N [v], a vertex of Bc \ N [v] and any vertex of Bd , together with v , induce a claw in G[U + v]. Therefore, a < b < d < c. In order to add v to the representation, if v is partly adjacent to Ba then we split Ba into two blocks Ba \ N [v] and Ba ∩ N [v] ordered as Ba \ N [v] ≺ Ba ∩ N [v], and similarly if v is partly adjacent to Bc then we split Bc and replace it by Bc ∩ N [v] ≺ Bc \ N [v]. In addition, we place v inside one of the existing blocks, or create a new block for it, as follows. If v is adjacent to Ba we add {v} as a new block after Bb ; if v is adjacent to Bc we add {v} as a new block before Bd (it is shown in [10] that if v is adjacent to both blocks then d = b + 1). Otherwise, if there is b < j < d such that Bj is adjacent to both Bℓ and Br then we add v to Bj . If there is no such j, let u > b be the smallest index such that Bu is adjacent to Br ; we insert {v} before Bu . The case where 1 = ℓ < r < p is similar to the previous case, where we take b = ℓ = 1, except for the possibility that d = b = 1, in which case we insert {v} before B1 . The case where 1 < ℓ < r = p is symmetric. In the case where 1 = ℓ < r = p, we let w be the largest index such that Bw is adjacent to B1 and let u be the smallest index such that Bu is adjacent to Bp . If u = w then we insert v into Bu and if u > w we insert {v} before Bu . It is not possible that u < w . The proof of correctness for this case is similar to the proof of correctness of the first case. In the case where 1 = ℓ = r = p, Φ has only one block B1 which is fully adjacent to v , so we add v to B1 . In the case where 1 = ℓ = r < p we add the new block {v} before B1 , and if B2 is partly adjacent to v we split this block and replace it by B2 ∩ N [v] ≺ B2 \ N [v]. The case 1 < ℓ = r = p is symmetric. The case where 1 < ℓ = r < p is impossible by Lemma 3.1(3). The last case of the algorithm of [10] is that where v is not fully adjacent to any block of Φ . In this case, by Lemma 3.1(3), v is adjacent to a single block, B1 or Bp . Without loss of generality, assume that v is adjacent only to B1 . If p = 1 or p ≥ 3, then we add {v} before B1 , and split B1 and replace it by B1 ∩ N [v] ≺ B1 \ N [v]. The case p = 2 is impossible because in this case B1 and Bp = B2 are adjacent and so the vertices in the two blocks have identical neighborhoods in U. This completes the description of the algorithm of [10]. For the proof of correctness and more details see [10]. When v is adjacent to more than one connected component of G, the algorithm of [15] cannot apply the algorithm of [10]. In such a case, v is adjacent to at most two connected components, because otherwise G[U + v] contains an induced claw. Let C , D denote these two components, with straight enumerations Φ and Ψ , respectively. The blocks of C and D that are adjacent to v must be consecutive in Φ and Ψ , respectively, and must contain exactly one end-block of each straight enumeration by Lemma 3.2(1), (3), (4). Without loss of generality assume that these two end-blocks are the right end-block of Φ and the left end-block of Ψ . If this is not the case then we can reverse Φ or Ψ . We concatenate Φ and Ψ , together with a new block for v , into a single straight enumeration Φ ≺ {v} ≺ Ψ . In addition, by Lemma 3.2(4) there is at most one block in C and at most one block in D that are partly adjacent to v ; we split these blocks, if they exist, as before. Hell et al. [15] presented a data structure that can keep the set of straight enumerations of G[U ], and insert v into them in O(NU [v]) time. 4. The algorithm for probe proper interval graphs We start with a high-level intuitive description of our algorithm. The incremental algorithms of [10,15] add a single vertex v into a representation R of a proper interval graph. Assume that R is a representation of some probe proper interval graph. We cannot insert v into R if v is a non-probe and R already contains another non-probe, since we do not know whether v and the other non-probe intersect. On the other hand, if R contains only probes, then we can use the algorithms of [10,15] to insert a single non-probe v into the representation, because we have complete adjacency information for G[P +v], which is a Y. Nussbaum / Discrete Applied Mathematics ( ) – 5 proper interval graph if G is a probe proper interval graph. In order to exploit this property, we start with R0 , a representation of G[P ], and for every non-probe v we perform the changes that the algorithms of [10,15] perform on the representation when adding v , without inserting the non-probe v itself. These changes include splitting blocks and concatenating straight enumerations. We must process the non-probes in a specific order to ensure that the changes are consistent. When we are done, we get a refined representation of G[P ] into which we can embed the non-probes without any other change in the representation. After we embed all the non-probes, we construct a model of G from the representation, if G is indeed a probe proper interval graph. Next we describe the details of our linear-time algorithm for recognizing probe proper interval graphs. We give a pseudocode of this algorithm in Algorithm 1; the step numbers below refer to the pseudo-code. In Section 5 we give a simple example of an execution of the algorithm. Algorithm 1 Probe proper interval graph recognition and construction of a model Input: A probe graph G = (P , N , E ). Output: A proper interval model of G, or false if such a model does not exist. 1. Find a representation R0 of G[P ] using the algorithm of [15]. If such a representation does not exist return false; Otherwise, let RP ← R0 . 2. Split N into N1 = {v ∈ N | NP [v] is contained in a single block of R0 }; N2 = N \ N1 . 3. For every non-probe v ∈ N, starting with members of N2 and continuing to members of N1 : (a) Find which straight enumerations of RP contain vertices of N [v]. (b) If there are more than two such straight enumerations then return false. (c) If there are two such straight enumerations, let them be Φ P and Ψ P : Determine which end-blocks of Φ P and Ψ P are adjacent to v . If there is not exactly one such end-block from Φ P and one from Ψ P then return false. Fix Φ P and Ψ P such that v is adjacent to the rightmost block of Φ P and to the leftmost block of Ψ P , by reversing Ψ P and Φ P if necessary. Concatenate Φ P and Ψ P into Φ P ≺ Ψ P . (d) Determine which blocks of RP are adjacent to v , and which are partly adjacent to v . (e) If the blocks adjacent to v are not consecutive, with the blocks partly adjacent to v at the ends then return false. Otherwise, replace each block BP partly adjacent to v with two blocks BP ∩ N [v] and BP \ N [v] such that BP ∩ N [v] is consecutive to the other blocks that are adjacent to v , or is an end-block if N [v] ⊆ BP . 4. Now, RP is a probe restriction of some representation of G (if one exists). Let R′ ← RP . 5. For every non-probe v ∈ N: (a) Run the algorithm of [15] to determine where v should be inserted into R0 , but do not insert v into the representation. (b) If v cannot be inserted into the representation then return false. Otherwise, if v is inserted into a block B of R0 , insert v into an arbitrary subblock of B in R′ . Otherwise, insert v into a set S that accumulates all the vertices u such that {v} and {u} are inserted in the same place in R′ . 6. For every set S of vertices that was created in the previous step: (a) Radix sort S using r (v) as the primary key and ℓ(v) as the secondary key. (b) Split S into blocks according to r (v) and ℓ(v). (c) Embed the blocks into R′ in place of S, in their sorted order. 7. Now, R′ is a representation of G (if one exists). Build the model M from R′ . The interval of vertices in the block Bi is [i, jM + 1 − 1/i] where jM is the index of the rightmost block adjacent to Bi or to a block to the left of Bi . If this construction creates an intersection which is not represented in G, between a probe and another vertex, then return false; Otherwise return M . Constructing a probe restriction of a representation. Let M ⊆ N, and let R be a representation of G[P ∪ M ]. The probe restriction of R is obtained from R by removing the vertices of M from the blocks of R, and removing any block that contained only vertices of M from the straight enumerations of R. We denote the probe restriction of R by RP , for every straight enumeration Φ in R we denote its probe restriction by Φ P , and for every block B in R we denote the set B ∩ P by BP . The end-blocks of Φ P are the leftmost block and the rightmost block of Φ P ; note that the end-blocks of Φ P are not necessarily probe restrictions of the end-blocks of Φ , since it is possible that an end-block of Φ contains only non-probes. Instead of constructing a representation for G directly, we begin by constructing a probe restriction of such a representation. Let G′ be a minimal completion of G, that is, we cannot get another completion of G by removing edges from G′ . Note that if G has a completion then it must also have a minimal completion. Our algorithm constructs a probe restriction RP of the representation R of G′ . In fact, RP would be the probe restriction of every representation of a minimal completion of G. Since G′ is a completion of G, RP is a probe restriction of a representation of G. In Step 1 of the algorithm we construct a representation R0 for G[P ] = G′ [P ] using the algorithm of [15]; if G[P ] is not a proper interval graph, then G is not a probe proper interval graph. Next, we insert the vertices of N into R0 one by one. In Step 2 we determine the order in which we insert the non-probes. Specifically we split N into two sets N1 and N2 such that we insert the vertices of N2 before we insert the vertices of N1 . Then, in Step 3 we insert the non-probes. At any time we denote by U the set of vertices that we have inserted so far (after Step 1, U = P, and at the end of Step 3, U = V ). We maintain a probe restriction of the representation of G′ [U ], which we denote by RP . Initially, RP = R0 , since when 6 Y. Nussbaum / Discrete Applied Mathematics ( ) – U = P the probe restriction RP is identical to R. At each iteration of Step 3 we insert a single non-probe and update RP such that at the end of the iteration we maintain the invariant that RP is the probe restriction of the straight enumeration representation of G′ [U ], and therefore a probe restriction of a completion representation of G[U ]. As we described in the previous section, insertion of a new vertex v into a representation of G′ [U ] consists of three steps. First, we concatenate the straight enumerations that contain NU [v], if there are two. Second, we split the blocks that are partly adjacent to v . Third, we either add a new block {v} or insert v into an existing block. Out of the three steps, only the first two change RP , while the third changes R but not RP . We show next that the changes imposed on RP can be computed without knowing a completion of G and without computing R. Assume that the insertion of v into R concatenates two straight enumerations Φ and Ψ of R (with {v} between them). In this case, v has neighbors in blocks of Φ and in blocks of Ψ . The following lemma shows that from the minimality of G′ , we get that there is a member of NP [v] in each of Φ P and Ψ P . Therefore we can decide which two straight enumerations, if any, are concatenated when inserting v by examining only NP [v]. Lemma 4.1. Assume that G is a probe proper interval graph. If the non-probe v is adjacent in G′ [U ] to a vertex u of some straight enumeration Φ , then v is adjacent in G′ [U ] (and therefore also in G[U ]) to a vertex of Φ that is a probe. Proof. Assume for a contradiction that v is adjacent to u but not to any probe in Φ . Let M ′ be a proper interval model of G′ [U ]. In the model M ′ , the intervals of u and v intersect. Without loss of generality we may assume that the right endpoint of u is inside the interval of v and that the left endpoint of v is inside the interval of u; let I be the interval on the line between these two endpoints. Every endpoint in I belongs to a non-probe; this is because if a probe w has an endpoint in I then w is adjacent to u in G′ [U ], and therefore w is in Φ (recall that any connected component is represented by a single straight enumeration). This contradicts our assumption since in this case w is a probe and is adjacent to v . We construct a new model M ′′ from M ′ by changing only the order of endpoints in I such that all the left endpoints are to the left of all the right endpoints, but the order among the left endpoints and the order among the right endpoints are preserved. The new model M′′ remains a proper interval model and represents the same interval intersections as M ′ , except for some intersections between non-probes with endpoints in I, including the intersection between u and v . This contradicts the minimality of G′ , and the lemma follows. Even though the last lemma shows that we know which straight enumerations to concatenate, the direction of concatenation (which end-block of Φ should be next to which end-block of Ψ ) cannot always be determined by examining only NP [v]. According to Lemma 3.2(3), (4), v is adjacent to exactly one end-block of Φ and one end-block of Ψ ; when we concatenate the two straight enumerations we make the two end-blocks that are adjacent to v consecutive. Because of Lemma 3.2(1), v is adjacent to at least one end-block of Φ P and at least one end-block of Ψ P (note that these two end-blocks of Φ P and Ψ P are not necessarily probe restrictions of end-blocks of Φ and Ψ , since Φ and Ψ may contain some blocks consisting only of non-probes). However, it may be possible that v is adjacent to two end-blocks of Φ P (at least one of the two end-blocks is a probe restriction BP of a block B which is not an end-block of Φ ), or to two end-blocks of Ψ P . We want to avoid such a case, because this is the only case where we do not know the direction of concatenation of Φ P and Ψ P . We show an example for such a case in Section 5.1. For this purpose, in Step 2 we split the set of non-probes N into two disjoint subsets N1 and N2 , so that in Step 3 we can insert the non-probes in an order which avoids the problematic case. The set N1 contains every non-probe v ∈ N such that there is a block B in R0 with NP [v] ⊆ B (these are the simplicial non-probes) and the set N2 is N \ N1 . When we insert the vertices of N into R in Step 3, we first insert the vertices of N2 , and then we insert the vertices of N1 . Lemma 4.2. Assume that G is a probe proper interval graph. If we insert in Step 3 the vertices of N2 into RP before we insert the vertices of N1 , then when we consider a non-probe v that is adjacent to two straight enumerations of RP , v is adjacent to at most one end-block of each of the two probe restricted straight enumerations. Proof. First, consider a non-probe v ∈ N2 . Assume for a contradiction that v is adjacent to two end-blocks of Φ P and to at least one block of Ψ P . From Lemma 3.2(1), v is adjacent to all blocks of Φ P (since it is adjacent to both ends of Φ P ). The non-probe v can be adjacent to at most two straight enumerations in R0 , because otherwise we get a claw in G[P + v] induced by v and three probes from three different straight enumerations of R0 . Therefore, all the vertices of Φ P were in a single straight enumeration Φ0 in R0 , and v is adjacent to all blocks of Φ0 . By Lemma 3.2(4), Φ0 contains a single block (since G[P + v] is a proper interval graph); denote this block by B. We know that Φ P contains at least two blocks, since it has two end-blocks. It follows that before the insertion of v we inserted into R a non-probe v ′ that is adjacent to some of the vertices in Φ0 , and this insertion caused the single block B of Φ0 to split. Since all vertices of Φ P are in Φ0 , we know that Φ0 was never concatenated with another straight enumeration, so NP [v ′ ] ⊆ B. We get that v ′ ∈ N1 , but this is a contradiction, since v ∈ N2 and we process vertices of N2 before we process vertices of N1 . Every vertex v ∈ N1 is adjacent to a single block of R0 . Since we never split straight enumerations, v is always adjacent to a set of blocks in a single straight enumeration of RP . Therefore, inserting v cannot cause concatenation of straight enumerations. We conclude that if we insert the vertices of N2 into R before we insert the vertices of N1 , then we know which straight enumerations of RP to concatenate and in what direction, such that we can maintain the invariant that RP remains the probe restriction of the representation of G′ [U ], by examining only the edges of G. These are Steps 3(a)–(c). Y. Nussbaum / Discrete Applied Mathematics ( ) – 7 The second change that the insertion of v imposes on R is splitting blocks. When we insert v into the representation, we split every block B that is partly adjacent to v into B ∩ N [v] and B \ N [v]. By examining only NP [v] we can split BP in RP into two subblocks BP ∩ NP [v] and BP \ NP [v]. However, we still need to decide the order between the two subblocks. If the non-probe v is adjacent to more than one block of RP then, by Lemma 3.2(1) and by the way in which we concatenate straight enumerations in Step 3(c), the blocks of RP that are adjacent to v are consecutive in their straight enumeration. By Lemma 3.2(2), v can be partly adjacent only to the two blocks at the ends of this consecutive sequence of blocks. If v is partly adjacent to the leftmost block of the sequence, BPℓ , then we replace it with BPℓ \ N [v] ≺ BPℓ ∩ N [v]. Similarly, if v is partly adjacent to the rightmost block of the sequence, BPr , then we replace it with BPr ∩ N [v] ≺ BPr \ N [v]. We are left with the case where v is adjacent to a single block BP of RP , and v is partly adjacent to BP . First, consider the case where BP is the only block in its probe restricted straight enumeration Φ P . In this case the order between BP ∩ NP [v] and BP \ NP [v] does not matter, as the two options are symmetric to each other. Next, assume that BP is not the only block in its probe restricted straight enumeration Φ P . If we know that B is the only block of Φ that is adjacent to v , then Lemma 3.2(3) implies that B is an end-block of Φ and the algorithm of [15] splits B such that B ∩ NP [v] remains an end-block and B \ NP [v] is not an end-block. However, there might be some block Ba in Φ that consists only of non-probes and is adjacent to v in the completion G′ , and thus B is not the only block of Φ that is adjacent to v , and Lemma 3.2(3) does not apply. The next lemma shows that also in this case BP is an end-block of Φ P . Therefore, as the proof of the lemma shows, when we split BP we order its two subblocks such that BP ∩ N [v] remains an end-block and BP \ N [v] is not an end-block. Lemma 4.3. Assume that G is a probe proper interval graph. If the non-probe v is adjacent to a single block BP of a probe restricted straight enumeration Φ P such that v is partly adjacent to BP , and BP is not the only block in Φ P , then BP is an end-block of Φ P . Proof. Assume that there is some block B′ immediately to the right of B in Φ . The blocks B and B′ are adjacent, because otherwise Φ represents more than one connected component of G′ [U ], which is impossible. When we insert v into R, it must go into Φ , and since B ∩ N [v] and {v} must be consecutive, we get that B ≺ B′ in Φ either becomes {v} ≺ B ∩ N [v] ≺ B \ N [v] ≺ B′ or B \ N [v] ≺ B ∩ N [v] ≺ {v} ≺ B′ . In the latter order, the neighborhood of B \ N [v] is not consecutive since it is adjacent to B′ , but not to {v}, so the former must be the new order of blocks in the straight enumeration. The case where there is some block B′′ to the left of B in Φ is symmetric, and B′′ ≺ B becomes B′′ ≺ B \ N [v] ≺ B ∩ N [v] ≺ {v} when we insert v . Since each of the two cases forces us to split B and insert {v} in a certain order, and the two orders are mutually exclusive, we conclude that it is impossible that both B′ and B′′ exist. We conclude that we can also split blocks in RP by examining only edges of G, such that we can maintain the invariant that RP remains the probe restriction of the representation of G′ [U ], without knowing G′ . These are Steps 3(d), (e). At each iteration of Step 3, we concatenate straight enumerations and split blocks of RP , maintaining the invariant that RP is the probe restriction of the straight enumeration representation of G′ [U ], and therefore a probe restriction of a completion representation of G[U ]. Therefore, at the end of this step RP is a probe restriction of a completion representation of G. Lemma 4.4. If G is a probe proper interval graph then after Step 3, RP is a probe restriction of a representation of G. Determining where to insert the non-probes. Now, we integrate the non-probes of N into RP to get a completion representation R′ of G (note that R′ is not necessarily a representation of a minimal completion of G). We begin with RP which is a probe restriction of some (unknown) representation R of G (Step 4). Then, in Step 5 we determine for every non-probe v into which block or between which blocks of RP we should insert v to construct a representation of G. The simple case is that where we decide to insert a non-probe into a block that already contains some probes. The more involved case, which we handle in Step 6, is that where we insert two or more non-probes into the same place between blocks of probes, and then we split this set of non-probes into blocks and order the blocks in the correct way. For every block B of R0 , all the blocks of RP that are subsets of B (subblocks of B) are consecutive in RP . For two blocks B and B′ that are next to each other in R0 , the blocks of RP that are subsets of B are consecutive to the blocks that are subsets of B′ . In Step 5 we decide into where in R′ we insert a non-probe v using the incremental algorithm of [15] that inserts v into R0 . However we do not modify R0 , that is we do not actually insert v into the representation. For every non-probe v , the algorithm of [15] can decide to insert v into R0 in one of the following four ways. In the first case, the algorithm of [15] inserts v into a block B of R0 ; then we can insert v into any block BPa of RP such that BPa ⊆ B, since for every vertex v ′ in Ba , NP [v] = NP [v ′ ]. We insert v into an arbitrary subblock Ba of B. Now that a block may contain non-probes, we say that two blocks B and B′ , which might contain non-probes, are adjacent when all the probes of B are adjacent to all the vertices of B′ and all the probes of B′ are adjacent to all the vertices of B. In the second case, the algorithm of [15] inserts {v} as a new block between two straight enumerations Φ and Ψ of R0 . We put v in a block between the blocks of Φ and Ψ as well. The non-probe v is adjacent to one end-block BΦ of Φ and to one end-block BΨ of Ψ , so in RP we concatenated Φ and Ψ into one straight enumeration such that the subblocks of BΦ are next to the subblocks of BΨ . There is a single subblock of BΦ that is next to a subblock of BΨ in RP . The vertex v must be in the unique place between these two subblocks of BΦ and of BΨ , because otherwise either the blocks adjacent to a probe in BΦ or the blocks adjacent to a probe in BΨ would not be consecutive, in contradiction with the definition of straight enumeration. 8 Y. Nussbaum / Discrete Applied Mathematics ( ) – In the third case, the algorithm of [15] inserts {v} as a new block between two blocks Ba and Bb of the same straight enumeration Φ of R0 . In this case v is adjacent only to blocks in Φ . The embedding of v into Φ is then unique [10]. Therefore, we must put v between the subblocks of Ba and the subblocks of Bb in RP . There is only one pair of blocks in RP that are next to each other such that one is subset of Ba and the other is subset of Bb ; we put v in a block between them. The last case is that where the algorithm of [15] inserts {v} as a new end-block to a straight enumeration Φ of R0 , next to a former end-block Ba . We must insert v next to subblocks Ba and not between them and other vertices of Φ . Note that in this case Ba is not the only block of Φ , since if there is a single block in Φ then when we insert v we must split it. There is a unique subblock BPb of Ba in RP such that BPb is an end-block of its straight enumeration or is next to a block BPc that contains vertices from another connected component of G[P ]. We insert v next to BPb , in the correct side (the side where there is no block that contains vertices of Φ ). We conclude that after Step 5 we have the probe restricted representation RP , and for every non-probe we know where to embed it into the representation, relative to the blocks of RP . For a non-probe that we decided to insert into a block of RP we are done, but we still have to split into blocks each set of non-probes that we put in the same place relative to the blocks of RP . This is done in Step 6. We can put two non-probes v and v ′ in the same block only if NP [v] = NP [v ′ ]; in this case it is possible to assign to the two vertices the same interval. Let Φ P be a straight enumeration of RP with blocks BP1 , . . . , BPp . For every non-probe v adjacent to blocks in Φ P , let ℓ(v) be the index of the leftmost block of Φ P adjacent to v , and let r (v) be the index of the rightmost such block. Let S be a set of non-probes that we decided to put in the same place relative to blocks of Φ P . We sort S with r (v) as primary key and ℓ(v) as secondary key, using radix sort. Then, every set of non-probes in S that belong to the same block is consecutive in the sorted order of S. We split S into blocks by traversing the members of S from left to right. If the current vertex v has the same values of ℓ(v) and r (v) as the previous vertex, then the two vertices are in the same block; otherwise we start a new block. Lemma 4.5. If G is a probe proper interval graph then R′ is a representation of G. Proof. If G is a probe proper interval graph then it must have some completion representation. We show that we construct R′ in a way that is consistent with a representation of G. From Lemma 4.4 we know that RP is a probe restriction of a representation of G; we get R′ from RP by inserting the non-probes into it. Let v be a non-probe. If in Step 5 we insert v into some block of R′ which contains a probe u, then N [u] = N [v] and it is possible that u has the same interval as v . If we decide in Step 5 to insert v between two blocks of R′ , then this is the only place where we can put v such that the neighborhood of every vertex of P + v remains consecutive. Let v, v ′ be two non-probes that we put in the same place relative to the blocks of R′ (if such a pair of vertices exist). We put v and v ′ in the same block in Step 6 if and only if N [v] = N [v ′ ]. Otherwise, if r (v ′ ) < r (v) then BPr(v) is adjacent to v but not to v ′ . Since we put v and v ′ in the same place relative to the blocks of R′ and r (v ′ ) < r (v), we know that BPr(v) is to the right of both v and v ′ . The vertices adjacent to BPr(v) must be consecutive in their straight enumeration, and therefore v should be in a block to the right of the block of v ′ . Symmetrically, if ℓ(v ′ ) < ℓ(v) then BPℓ(v′ ) is adjacent to v ′ but not to v , and again v should be in a block to the right of the block of v ′ . Constructing the model. We have found R′ , a completion representation of G, if G is indeed a probe proper interval graph. The last step is to construct an interval model from the representation. As we described in Section 2, the algorithms of [10,15] construct a model from a straight enumeration representation of a proper interval graph by assigning for b ∈ Bi the interval [i, j + 1 − 1/i] where j is the index of the rightmost block adjacent to Bi . We cannot use this construction in our case, since we do not have the adjacency information between two blocks that contain only non-probes. We already saw in Section 1 that it is possible that a block Bi which contains only non-probes is forced to be adjacent to some other block of non-probes in every completion of G, to prevent interval containment. Since R′ is a completion representation of G, then it is also a straight enumeration representation of some completion of G. Therefore we know that we can place the left endpoint of b ∈ Bi at i, and it remains only to determine where the right endpoint of b ∈ Bi is. An interval model is a proper interval model if and only if the left-to-right order of the left endpoints is identical to the left-to-right order of the corresponding right endpoints [18]. We perform the following procedure to get a proper interval model. We scan the blocks of every straight enumeration from left to right starting at B1 . Let i be the index of the current block and let j be the index of the rightmost block adjacent to it. We keep the index jM of the maximum value of j that we have encountered so far (including the current value). We assign to the vertices of Bi the interval [i, jM + 1 − 1/i]. Let M be the model that we obtain this way. By our construction, M is a proper interval model, and all the adjacencies of G are realized by this model. We have to make sure that we did not create in M any intersection that should not exist, between two intervals. Let Bi be the current block, let Bj be, as before, the rightmost block adjacent to Bi , and recall that jM keeps the maximum value of j so far. If Bi contains a probe then it must be the case that j = jM , since otherwise Bi becomes adjacent to BjM in M , creating an adjacency between a probe of Bi and a vertex of BjM , which does not exist in G. If Bi contains only non-probes, then it is possible that j < jM . In this case, for every j < k ≤ jM the block Bk should contain only non-probes, since otherwise again M is not a model of G. Y. Nussbaum / Discrete Applied Mathematics ( ) – 9 In conclusion, in Step 7 we always construct a proper interval model M . It is a model of G if and only if j < jM only when the block Bi and the blocks Bk with j < k ≤ jM contain only non-probes. Constructing M takes O(m + n) time; it is also possible to validate whether M is a model of G within the same time bound, if we find for each block Bi the index of the leftmost block that contains a probe that is to the right side of Bi . This completes the description of our algorithm. Step 1 and Step 5 of Algorithm 1 are implemented in O(m + n) time using [15]. The other steps iterate over all the non-probes and for each non-probe scan its neighborhood, so they also take O(m + n) time. Theorem 4.1. Given a partitioned probe graph G, in O(m + n) time we can either construct a proper interval model for G or determine that such a model does not exist. 5. A simple example of the algorithm In this section we give a simple example of an execution of our algorithm. Consider the following input graph G: where the set of probes (in dots) is P = {w, x, y, z } and the set of non-probes (in circles) is N = {p, q, r , s}. Note that G is not a proper interval graph; for example it contains the induced claw {x, p, q, w}. The graph G[P ] is In Step 1, we find a representation R0 of G[P ] using the algorithm of [15]. The representation is made of two straight enumerations, each of which has a single block: {w, x}; {y, z }. This corresponds to the following proper interval model: In Step 2 we split N into N1 and N2 . The non-probes q, s and r go into the set N1 since NP [q], NP [s] ⊆ {w, x} and NP [r ] ⊆ {y, z }, and the non-probe p goes into N2 since it has neighbors in both blocks. Therefore, in Step 3 we process p first. In Steps 3(a)–(c) we find that both straight enumerations of the representation contain neighbors of p, so we concatenate them. The two straight enumerations contain one block each, so the direction of concatenation does not matter. The probe restricted representation RP is now {w, x} ≺ {y, z }. This is symmetric to the other possible direction of concatenation {y, z } ≺ {w, x}. In Steps 3(d), (e) we find that {w, x} is partly adjacent to p, so we split it into {w} and {x} such that {x} remains consecutive to {y, z }, which is also adjacent to p: {w} ≺ {x} ≺ {y, z }. Processing q in Step 3 does not change RP , since in the current state of RP , q is adjacent only to {x}, and is fully adjacent to this block. The non-probe r is adjacent to a single block {y, z } and is partly adjacent to this block, so we split the block into {y} and {z } such that {z } remains an end-block, since it is adjacent to r. The non-probe s does not change RP . The probe restricted model RP at the end of Step 3 is {w} ≺ {x} ≺ {y} ≺ {z }. Step 4 initializes R′ to be RP . In Step 5 we simulate the insertion of p into R0 using the algorithm of [15]. When we insert p into R0 , we get the representation {w} ≺ {x} ≺ {p} ≺ {y, z } (p causes concatenation of the straight enumerations {w, x} and {y, z } and splitting of the block {w, x} such that {p} is between {x} and {y, z }). The block {p} is inserted between {w} and {y, z }, so in R′ we insert p between the blocks {x} and {y}. Now we simulate the insertion of q into R0 . When we insert q into R0 , we get the representation {w} ≺ {x} ≺ {q}; {y, z } (q splits {w, x} and we put {q} next to {x} since the two vertices are adjacent). The block {q} is inserted as an end-block next to {x}, so in R′ we insert q between the blocks {x} and {y}. Note that we insert p and q between the same blocks of R′ . Next, we simulate the insertion of r into R0 . When we insert r into R0 , we get the representation {w, x}; {y} ≺ {z } ≺ {r } (similar to the insertion of q). The block {r } is inserted as an end-block next to {z }, so in R′ we also insert r to the right of {z }. Last, we simulate the insertion of s into R0 . In R0 we insert s into the block {w, x}, since NP [s] = NP [w]. Therefore in R′ we can insert s either into {w} or into {x}. We can choose arbitrarily 10 Y. Nussbaum / Discrete Applied Mathematics ( ) – between these two subblocks of {w, x}; both options are possible, but each of them will lead to a different model at the end of the algorithm. Assume that we insert s into {w}. In Step 6 we insert the vertices of S = {p, q} into their places between {x} and {y}, in the correct order. The leftmost block that the two non-probes are adjacent to is {x} so ℓ(p) = ℓ(q). The non-probe p is adjacent to {z }, but q is not, so r (q) < r (p). Therefore, we split S into {q} ≺ {p}. The non-probe r is the only non-probe that we insert to the right of {z }. The representation R′ is now {w, s} ≺ {x} ≺ {q} ≺ {p} ≺ {y} ≺ {z } ≺ {r }. Finally, in Step 7, we construct a model of G from the representation. We scan the blocks in the single straight enumeration of R′ , starting at B1 = {w, s} and going right, to assign intervals to the vertices of the graph. The rightmost block adjacent to w is {x} so the interval of w and s is [1, 2 + 1 − 1/1] = [1, 2]. The rightmost block adjacent to x is {p} so the interval of x is [2, 4 + 1 − 1/2] = [2, 4 21 ]. The next block {q} contains only a non-probe, and the rightmost block adjacent to q is the block {q} itself, but at this point jM = 4, since x was already adjacent to the fourth block, so the interval of q is [3, 4 + 1 − 1/3] = [3, 4 32 ]. Since the block BjM = {p} contains only a non-probe, the interval of q is valid. Similarly the interval of p is [4, 6 + 1 − 1/4] = [4, 6 43 ], the interval of y is [5, 6 + 1 − 1/5] = [5, 6 45 ], the interval of z is [6, 7 + 1 − 1/6] = [6, 7 65 ] and the interval of r is [7, 7 + 1 − 1/7] = [7, 7 76 ]. We have found a proper interval model M of G, so G is a probe proper interval graph. The model is (note that the exact locations of the endpoints on the line are not important, only their order; the degenerate case where the right endpoint of w and s shares its location with the left endpoint of x is easy to resolve) This model represents the following proper interval graph which is a completion of G: If in Step 5 we choose to insert s into {x} instead of {w} then we get a different proper interval model for G. In this model, the interval of s is identical to the interval of x. In the completion of G that corresponds to this model, there are also edges between s and p, and s and q. 5.1. The necessity of Step 2 Here we demonstrate what would happen if we did not split N into N1 and N2 in Step 2, on the same input graph G. We show that in this case we might violate the invariant that RP is a probe restriction of the representation of G′ [U ]. At the beginning of Step 3, RP is {w, x}; {y, z }. Since we skipped Step 2, it is possible that in Step 3 we process r before p. When we insert r, we split {y, z } into {y} ≺ {z }. The two end-blocks of {y} ≺ {z } are end-blocks of this probe restricted straight enumeration in RP . However, {y} ≺ {z } is actually the probe restriction of the straight enumeration {y} ≺ {z } ≺ {r } in R, and {z } is not an end-block in this straight enumeration (recall that we do not know R, since we do not know the completion G′ of G which R represents). Next, we insert p. We concatenate the two straight enumerations {w, x} and {y} ≺ {z }. Since p is adjacent to both endblocks of {y} ≺ {z }, we can concatenate the straight enumerations either into {w, x} ≺ {y} ≺ {z } or into {w, x} ≺ {z } ≺ {y} (when we concatenate two straight enumerations we may reverse them so that the end-blocks adjacent to the non-probe that we insert would be consecutive). We have no way to distinguish between the two options by examining only NP [p]. Assume that we choose {w, x} ≺ {z } ≺ {y}. Then, we split {w, x} and get the probe restricted model {w} ≺ {x} ≺ {z } ≺ {y}. Now RP should a probe restriction of the representation R of G′ [U ] with U = P ∪ {r , p}. Consider the positions of the non-probes r and p in the representation R. The non-probe r must be in a block next to {z }, and it cannot be between {z } and {y}, since then the neighborhood of y would not be consecutive, so r should be between {x} and {z }. The non-probe p should also be between {x} and {z }, since this is the only place where we can put p and keep the neighborhoods of x, y and z consecutive. The two non-probes p and r cannot be in the same block since NP [p] ̸= NP [r ]. If p is to the left of r then the neighborhood of y is not consecutive, since y and r are disjoint, and if p is to the right of r then the neighborhood of x is not consecutive, since x and r are disjoint. Therefore, there is no possible way to place r and p in R such that R represents G′ [U ]. We conclude that if we concatenate {w, x} and {y} ≺ {z } in the wrong direction, then RP is not a probe restriction of the representation of G′ [U ]. As we prove in Lemma 4.2, such an ambiguity cannot happen if we process the non-probes of N2 before the non-probes of N1 in Step 3. Y. Nussbaum / Discrete Applied Mathematics ( ) – 11 6. Conclusions In this paper, we presented a linear-time recognition algorithm for partitioned probe proper interval graphs. The algorithm has three basic stages: first it determines whether the probes of the input graph induce a proper interval graph, second it refines the representation of this proper interval graph so that every non-probe can be inserted without further modification, and third it adds the non-probes. We were able to implement these three steps in linear time since we followed the linear-time incremental algorithm of Hell et al. [15] for proper interval graph recognition. A similar approach was used for probe cographs by Le and de Ridder [17], using the incremental algorithm for cograph recognition of Corneil et al. [9]. It might be possible to find similar algorithms for more probe versions of graph classes that have incremental recognition algorithms. The problem of recognizing unpartitioned probe proper interval graphs remains open. References [1] A. Berry, M.C. Golumbic, M. Lipshteyn, Recognizing chordal probe graphs and cycle-bicolorable graphs, SIAM J. Discrete Math. 21 (2007) 573–591. [2] F. Bonomo, G. Durán, L.N. Grippo, M.D. Safe, Probe interval graphs and probe unit interval graphs on superclasses of cographs, Discrete Math. Theor. Comput. Sci. 15 (2013) 177–194. [3] K.S. Booth, G.S. Lueker, Testing for the consecutive ones property, interval graphs, and graph planarity using PQ-tree algorithms, J. Comput. System Sci. 13 (1976) 335–379. [4] D.E. Brown, A.H. Busch, G. Isaak, Linear time recognition algorithms and structure theorems for bipartite tolerance graphs and bipartite probe interval graphs, Discrete Math. Theor. Comput. Sci. 12 (2010) 63–82. [5] D.E. Brown, L.J. Langley, Forbidden subgraph characterization of bipartite unit probe interval graphs, Australas. J. Combin. 52 (2012) 19–31. [6] D.E. Brown, J.R. Lundgren, L. Sheng, A characterization of cycle-free unit probe interval graphs, Discrete Appl. Math. 157 (2009) 762–767. [7] D.B. Chandler, M.-S. Chang, T. Kloks, J. Liu, S.-L. Peng, Partitioned probe comparability graphs, Theoret. Comput. Sci. 396 (2008) 212–222. [8] G.J. Chang, A.J.J. Kloks, J. Liu, S.-L. Peng, The PIGSs full monty—a floor show of minimal separators, in: V. Diekert, B. Durand (Eds.), STACS 2005, in: LNCS, vol. 3403, Springer, Heidelberg, 2005, pp. 521–532. [9] D.G. Corneil, Y. Perl, L.K. Stewart, Linear recognition algorithm for cographs, SIAM J. Comput. 14 (1985) 926–934. [10] X. Deng, P. Hell, J. Huang, Linear-time representation algorithms for proper circular-arc graphs and proper interval graphs, SIAM J. Comput. 25 (1996) 390–403. [11] H.N. de Ridder, et al. Information system on graph class and their inclusions (ISGCI). http://www.graphclasses.org. [12] M.C. Golumbic, H. Kaplan, R. Shamir, On the complexity of DNA physical mapping, Adv. Appl. Math. 15 (1994) 251–261. [13] M.C. Golumbic, M. Lipshteyn, On the hierarchy of interval, probe and tolerance graphs, Congr. Numer. 153 (2001) 97–106. [14] M.C. Golumbic, A.N. Trenk, Tolerance Graphs, Cambridge Studies in Advanced Mathematics vol. 89, New York, 2004. [15] P. Hell, R. Shamir, R. Sharan, A fully dynamic algorithm for recognizing and representing proper interval graphs, SIAM J. Comput. 31 (2002) 289–305. [16] J.L. Johnson, J.P. Spinrad, A polynomial time recognition algorithm for probe interval graphs, in: Proc. 12nd Annu. ACM–SIAM Symp. on Discret. Algorithm, ACM–SIAM, New York, 2001, pp. 477–486. [17] V.B. Le, H.N. de Ridder, Characterisations and linear-time recognition of probe cographs, in: A. Brandstädt, D. Kratsch, H. Müller (Eds.), WG 2007, in: LNCS, vol. 4769, Springer, Heidelberg, 2007, pp. 226–237. [18] P.J. Looges, S. Olariu, Optimal greedy recognition and coloring for indifference graphs, in: O. Balci (Ed.), Computer Science and Operation Research: New Results at their Interfaces, Pergamon Press, London, 1992, pp. 127–137. [19] R.M. McConnell, Y. Nussbaum, Linear-time recognition of probe interval graphs, in: A. Fiat, P. Sanders (Eds.), ESA 2009, in: LNCS, vol. 5757, Springer, Heidelberg, 2009, pp. 349–360. Full version available at: arXiv:1307.5547 [cs.DS]. [20] R.M. McConnell, J.P. Spinrad, Construction of probe interval models, in: Proc. 13th Annu. ACM–SIAM Symp. on Discret. Algorithm, ACM–SIAM, New York, 2002, pp. 866–875. [21] F.R. McMorris, C. Wang, P. Zhang, On probe interval graphs, Discrete Appl. Math. 88 (1998) 315–324. [22] H.-J. Pan, Partitioned probe proper interval graphs. Master’s Thesis, National Chung Cheng University, Taiwan, 2008. [23] N. Pržulj, D.G. Corneil, 2-Tree probe interval graphs have a large obstruction set, Discrete Appl. Math. 150 (2005) 216–231. [24] F.S. Roberts, Indifference graphs, in: F. Harary (Ed.), Proof Techniques in Graph Theory, Academic Press, New York, 1969, pp. 139–146. [25] L. Sheng, Cycle free probe interval graphs, Congr. Numer. 140 (1999) 33–42.
© Copyright 2026 Paperzz