• Aucun résultat trouvé

Intersection Matrices

Dans le document GRAPH THEORY, COMBINATORICS AND ALGORITHMS (Page 91-96)

Decompositions and Forcing Relations in Graphs and Other

4. Intersection Matrices

In this section, we give a forcing relation and a corresponding quotient structure that were instrumental in obtaining the linear time bound of [17] for recognizing circular-arc graphs.

Tucker gave anO(n3) algorithm [34]. Hsu improved this bound to O(nm) [11], and Eschen and Spinrad further improved it toO(n2) [6]. The author recently improved it toO(n+m) [17].

One reason that the problem is harder on circular-arc graphs is that there are two ways to travel between a pair of points on a circle, and only one on a line. This introduces the need for an algorithm to make choices that are not required in the interval-graph recognition problem. Also, in an interval graph the maximal cliques correspond to regions of maximal overlap among the intervals, and there are there-foreO(n) maximal cliques. This plays an important role in Booth and Lueker’s algo-rithm. The number of maximal cliques in a circular-arc graph can be exponential in n[34].

To manage these problems, the algorithm of [17] works with an intersection matrixT, rather than directly with the graph. Like the graph, the intersection matrix tells which pairs of arcs intersect. However, it gives additional information in the case where two arcs intersect, namely, thetypeof intersection. The intersection types are classified as follows:

r single overlap (‘1’):Arcxcontains a single endpoint of arcy;

r double overlap (‘2’):x and yjointly cover the circle and each contains both endpoints of the other;

r containment (‘c’):arcxis contained in arcy;

r transpose containment (‘t’):arcxcontains arcy;

r nonadjacency (‘n’):arcxdoes not intersect arcy.

e f

c d

b a

a n 1 c t 2 b n 1 2 n c c 1 1 c n 1 d t 2 t t 2 e c n n c n f 2 t 1 2 n

a b c d e f

Figure 13. Aflipconsists of rerouting an arc’s path between its endpoints; in this case arcais flipped. This swaps the roles ofnandt, and 2 andcin a row, and swaps the roles ofnandc, and 2 andtin a column.

This can be captured with a matrixT where the entry in rowi and column j is the label from{1,2,c,t,n}that gives the type of relationship between arci and arc j. For obtaining a linear time bound, the matrix is represented by labeling the edges ofG with their intersection types from{1,2,c,t}and letting a labeln be given implicitly by the absence of an edge.

The paper gives a linear-time algorithm for labeling the edges so that they are consistent with some realizer ofG, even though the actual realizer is not known. Next, the algorithm makes use of aflipoperation. This is the operation of rerouting an arc the opposite way around the circle, while keeping its endpoints (see Figure 13). The effect onGof a flip is unclear if onlyGis known. However, if the intersection matrix of the realizer is known, it is a simple matter to transform the matrix to reflect the intersection relationships in the new realizer, even if the actual realizer is not known. In the row corresponding to the flipped arc, this swaps the roles ofnandt, and the roles of 2 and c. In the column column corresponding to the flipped arc, it swaps the roles ofn and c, and the roles of 2 andt.

Without knowledge of the actual realizer, the algorithm finds the set of arcs that contain a particular point on the circle, and flips them. This results in the intersection matrix of an interval realizer; cutting the circle at this point and straightening it out into a line illustrates this. This makes the problem considerably easier, as working with interval realizers sidesteps the difficult issues mentioned above when one works with arcs around the circle. All that is required now is to find an interval realizer of this resulting matrix.

One can then wrap this realizer around the circle again and invert the sequence of flips that were performed to obtain the interval realizer, but this time performing the flips on the realizer, rather than on the intersection matrix. The result is circular-arc realizer of the original intersection matrix, which is a circular-arc realizer ofG.

No circular-arc realizer ofGexists ifGfails to be a circular-arc graph. IfGis not a circular-arc graph, the algorithm either halts early or returns a circular-arc realizer that does not matchG. Determining whether a proposed realizer matchesGcan easily be carried out in time linear in the size ofG.

In this section, we describe elements of the central step of the algorithm, which is finding whether an intersection matrix has an interval realizer, and, if so, producing a realizer as a certificate. Note that every realizer of the matrix realizes G, but the converse may not be true.

A double overlap cannot occur in an interval realizer, so we may assume that these relationships are absent from the matrix. Let us therefore redefine an intersection matrix to be any matrix whose off-diagonal entries are drawn from the set{1,c,t,n}.

The matrix is aninterval matrixif it has an interval realizer.

We may assume without loss of generality that all endpoints of intervals in an interval realizer are unique, since if this is not the case, they can be perturbed to make this true without affecting the represented graph. In an interval realizer the exact positions of the endpoints on the line are irrelevant; what is important is the order in which the endpoints occur. Thus, we can represent an interval realizer with string whose letters are the vertices ofG, and where each vertex appears twice in the string, once for its left endpoint and once for its right endpoint. We may therefore view the set of interval realizers of a graph as a language over an alphabet whose letters are the vertices ofG.

Let R be an interval realizer, expressed as a string over the alphabetV, and let XV. Then R|Adenotes the result of deleting all characters in VX from this string. That is,R|Xis the result of deleting all intervals except for those inX. LetT|X denoteR’s intersection matrix. Note thatT|Xis also the submatrix given by rows and columns inX.

In a way that is similar to the intersection matrices for interval graphs, an inter-section matrix for a set of arcs defines four graphs with vertex setV.Gn=G is the graph whose edges are those pairs labeledn. Similarly,G1,DcandDtare the graphs of edges labeled 1,c, andt, respectively. We use the notationDcandDtto emphasize that these graphs are directed graphs. As before, we let unions of these graphs are denoted with multiple subscripts,e.g. G1n is theG1Gn. LetV(T) denote the vertex set on which these graphs are defined. ForvV(T), letN1(z),Nn(z), and Nc(z) denote the neighbors ofvinG1,Gn, andGc, respectively. LetG(T)=G1c. This is the graph that corresponds to the matrix if the matrix is an intersection matrix, but is defined for all intersection matrices.

Supposex yis an edge ofG1n and the left endpoint ofx is to the left of the left endpoint ofy. Then since intervalsxandyare disjoint or overlap, the right endpoint ofxis to the left of the right endpoint of y. Let us then say thatxcomes beforeyin this case, even thoughxandymight intersect. This associates an orientationD1nwith

G1n: the edge set ofD1n is{(x,y) :x yis an edge ofG1nandxcomes beforeyinR}.

Let us call such an orientation aninterval orientation(Figure 6).

Lemma 4.1 An interval orientation D1n of G1n is a transitive orientation, and the subgraph Dngiven by the restriction of D1nto edges of Gn is also transitive.

Proof. If (x,y),(y,z)E(D1n), then intervalxoverlaps with or is disjoint from in-tervalyand comes before it, and intervalyoverlaps with or is disjoint from intervalz and comes before it. It follows thatxoverlaps withzor is disjoint from it. Thus, (x,z) is an edge ofD1n.

If (x,y),(y,z)E(Dn), then interval x is disjoint from interval y and comes before it, and interval y is disjoint disjoint from interval z and comes before it. It follows thatxis disjoint fromzand comes before it. Thus, (x,z) is an edge ofDn. Given the interval orientation D1n, and the graph Dcand its transpose Dt given by the intersection matrix, then we can find the left endpoint order in R; this is just the linear order D1nt. Similarly, we can find the right endpoint order in R; this is just the linear orderD1nc. Given the left endpoint order and the right endpoint order in R, it is easy to interleave these two orders to get the full order of endpoints in R. This operation is left as an exercise.

Thus, finding a realizer of a given matrixTreduces to finding an interval orientation ofG1n. This brings the problem into the combinatorial domain of graphs and transitive orientations, and avoids the pitfalls in geometric arguments about possible arrangements of intervals on a line.

By analogy to the problem of finding a transitive orientation, let us derive an incompatibility graphI(T) to help us find an interval orientation.

Definition 4.2 The -incompatibility graph I(T)of an intersection matrix T is defined as follows:

1. The vertex set of I(T)is{(x,y) :x y is an edge of G1n}.

2. The edge set of I(T)is the pairs of vertices of the following forms:

(a) {{(a,b),(b,a)}:ab is an edge of G1n};

(b) {{(a,b),(b,c)}:ab,bc are edges of Gnand ac is not an edge of Gn};

(c) {{(a,b),(b,c)}:ab,bc are edges of G1nand ac is not an edge of G1n};

(d) {{(a,b),(b,c)}or{{(a,b),(c,a)}}:ab is an edge of Gn, and ac and bc are edges of G1.

By parts a, b, and c, an acyclic orientation ofG1n that is an independent set in I(T) must satisfy the requirements of Lemma 4.1. For condition d, note that if b overlapsa andcandaandcare nonadjacent, thena andchave to contain opposite endpoints ofb. It follows that ifacomes beforebthen it comes beforecalso. We show below that the interval orientations ofG1nare precisely those acyclic orientations of

G1nthat are independent sets ofI(T), and that such an orientation exists iffI(T) is bipartite.

By analogy to therelation, let us say that for two ordered pairs (a,b) and (b,c) of vertices, (a,b)(c,b) and (b,a)(b,c) if (a,b) and (b,c) are neighbors inI(T).

4.1. The Delta Modules of an Intersection Matrix

In this section, we show that for an intersection matrixT there is a tree, the Delta tree, which is analogous to the modular decomposition of a graph. It represents the com-ponents ofI(T) in the same way that the modular decomposition represents the com-ponents ifI(G). WhenGis a comparability graph, its modular decomposition can be used to represent all of its transitive orientations. Similarly, whenTis an interval matrix, the Delta tree can be used to represent the interval orientations ofG1nin the same way.

Definition 4.3 Let T be an intersection matrix, and let XV(T).

1. X is acliquein T if it is a clique in the interval graph G1crepresented by T . 2. X is amoduleof T if it is a module of Gn, G1, and Gc.

3. X is aDelta moduleif X is a module in T and it is either a clique or there are no edges of G1from X to V(T)−X .

LetF(T)denote the Delta modules of T .

IfT is an intersection matrix andP is a partition ofV(T) where each member of Pis a module, we can define a quotientT/P onT. This is the submatrix induced by a setAconsisting of one representative from each member ofP. Since the members of Pare modules ofGn,G1, andGc,Gn|A,G1|A, andGC|Aare unaffected by changing the choice of representatives for A. ThusT|Ais unaffected by changing the choice of representatives for Aand the quotient is well-defined.

Theorem 4.4 The Delta modules of an intersection matrix are a rooted set family.

Proof.LetXandYbe overlapping Delta modules. ThenXY,XY, and (XY)∪ (Y −X) are modules ofGn,G1, andGcby Theorem 3.6. It remains to show that these sets satisfy the additional requirements of Delta modules.

Suppose X andY are cliques. Then there are edges of G1c from each member ofYX to members ofXY. Since X is a module ofG1 andGc, there are edges ofG1cfrom each member ofYX to every member of X, and XY, XY, and (X−Y)∪(Y −X) are cliques, hence Delta modules.

SupposeXY is not a clique. Then one ofXandY, say,X, is not a clique. There is no edge ofG1fromXtoV(T)−X. SinceXYis a module ofG1, there is no edge ofG1fromXY toV(T)−(X∪Y).XY is a Delta module.

Realizer: a

b c Delta tree:

a b c d e e

a * 1 1 n n b 1 * 1 n n

e n n 1 c * d n n 1 * t T:

Prime

a b

c

1 c

e d

c 1 1 * 1 1 d

Figure 14. An interval realizer, the intersection matrixT, and the Delta tree(T).

SupposeXY is not a clique. Then neitherXnorY is a clique. There is no edge ofG1fromXtoV(T)−X, or fromY toV(T)−Y. Thus, there is no edge ofG1from XY toV(T)−(X∩Y).XY is a Delta module.

Finally, suppose thatU =(XY)∪(Y −X) is not a clique. Then one ofX and Y, say,X, is not a clique. There is no edge ofG1fromX toV(T)−X. SinceUis a module ofG1, any edge ofG1 fromUtoV(T)−Umust go to a vertexsinXY. But since (X−Y)∪(Y −X) is a module, every member ofYXis a neighbor ofs inG1, and there are edges ofG1fromXtoV(T)−X, a contradiction. Q.E.D.

Definition 4.5 Let us call the tree decomposition of the Delta modules theDelta tree

Dans le document GRAPH THEORY, COMBINATORICS AND ALGORITHMS (Page 91-96)