Presentation is loading. Please wait.

Presentation is loading. Please wait.

1/28 Interval Graph Test. 2/28 Chordal Graphs A chord of a cycle C is an edge not in C whose endpoints lie in C An chordless cycle in G is a cycle of.

Similar presentations


Presentation on theme: "1/28 Interval Graph Test. 2/28 Chordal Graphs A chord of a cycle C is an edge not in C whose endpoints lie in C An chordless cycle in G is a cycle of."— Presentation transcript:

1 1/28 Interval Graph Test

2 2/28 Chordal Graphs A chord of a cycle C is an edge not in C whose endpoints lie in C An chordless cycle in G is a cycle of length at least 4 in G that has no chord A graph G is chordal if it is simple and has no chordless cycle (also called triangulated graph) An induced subgraph on V’ is a subgraph with node set V’ and all possible edges between nodes in V’.

3 3/28 Perfect Elimination Ordering A vertex of G is simplicial if its neighborhood in G is a clique A perfect elimination ordering (PEO) is an ordering v 1, …, v n–1, v n for deletion of vertices so that each v i is a simplicial vertex of the remaining graph induced by {v i, …, v n-1, v n }

4 4/28 Perfect Elimination Ordering v 1, v 2, v 3, v 4, v 5, v 6 is a perfect elimination ordering v1v1 v2v2 v4v4 v3v3 v5v5 v6v6

5 5/28 Characterization of Chordal Graphs A graph is chordal  it has a perfect elimination ordering We prove this theorem through an algorithm that construct a PEO (much like the planarity test)

6 6/28 Lexicographic BFS (LBFS) LBFS is used to obtain a perfect elimination ordering for chordal graphs vnvn vn-1vn-1 vnvn

7 7/28 LBFS and PEO Theorem 1. If G is a chordal graph, then LBFS will produce a PEO. –Let the ordering produced by LBFS be O –The neighbors of u ordered after u form a clique (i.e. u is simplicial in the remaining graph) How do you prove this?

8 8/28 Lemma 1 In the LBFS, if there are vertices u, x, y s.t. L(u) < L(x) < L(y) and (u,y)  G but (x,y)  G, then there must exist a vertex z with L(y) < L(z) s.t. (x,z)  G but (u,z)  G –Suppose not. Then every neighbor of x after y is also a neighbor of u. But then, u should be ranked higher than x after we process y in the LBFS ordering. yuxyuxz

9 9/28 Proof of Theorem 1 (I) Prove by contradiction. Suppose there exist vertices u, x, y s.t. L(u) < L(x) < L(y) and (u,x), (u,y)  G but (x,y)  G. WLOG, let (x,y) be a maximal such pair (i.e. for any other such pair (x’,y’) either x’ < x or y’ < y), then, by Lemma 1, there exists an x 1 with L(y) < L(x 1 ) s.t. (x, x 1 )  G but (u,x 1 )  G. x1x1 yuxyux

10 10/28 Proof of Theorem 1 (II) x 1 cannot be adjacent to y, otherwise we get a chordless 4 cycle. WLOG, let x 1 be a maximal such vertex. Similarly, we can get a y 1 higher than x 1 s.t. y 1 is adjacent only to y, but not to u, x or x 1. x1x1 yux y1y1

11 11/28 Proof of Theorem 1 (III) By induction, we can get a an induced path x i,,,,, x 1, x, u, y, y 1, …, y i This must stop when we reach the last vertex, say y i = v n. At that point, we get a violation y i-1 xixi vnvn x1x1 yux y1y1 xixi yiyi

12 12/28 The Interval Graph Models Each vertex represent a clone, each edge represent overlap information between clones If there is no error in the clone overlap information, then one can use the interval graph recognition algorithm to reassemble clones together 1 2 3 4 5 4 1 2 3 5

13 13/28 Interval Graph Recognition Booth & Lueker [1976] linear time, on-line –made use of a data structure called PQ-trees Hsu [1992], Hsu and Ma [1999] decomposition, off-line –did not use PQ-trees

14 S - Decomposition A module in G is a set of vertices S such that (a) S is connected; (b) for any vertex u ∈ S and v ∉ S, (u,v) ∈ E iff (u',v) ∈ E for every u' ∈ S. A module S is nontrivial if 1 < |S| < |V(G)|. A graph is S-prime if it has at least four vertices and there exists no nontrivial module. An S-decomposition of a graph is to substitute a nontrivial module with a marker vertex and perform this recursively for the module as well as for the reduced graph containing that marker. You will get a decomposition tree. 14/28

15 15/28 N2N2 Decomposition for Interval Graphs 1 3 5 7 2 6 4 G 8 The interval graph 3 1 4 N 5 6 N 27 1 2 8 The decomposition tree 1 3 5 72 6 4G’ 8 The ST-subgraph G’

16 16/28 Strictly Adjacent vertices Vertices u and v are strictly adjacent if they are adjacent, but each has a neighbor not adjacent to the other. Define the ST-subgraph G’ to contain those strictly adjacent edges only.

17 17/28 The ST-subgraph G’ 3 5 7 6 4 2 1 8 Interval model 1 3 5 7 2 6 4 G 8 The corresponding interval graph 1 3 5 72 6 4G’ 8 The ST-subgraph G’

18 18/28 G’ and the Skeleton Components 1 3 5 72 6 4G’ 8 The ST-subgraph G’ 1 3 4 8 simplicial vertex skeleton component containment 5 72 6 The Hass diagram of the containment relationships

19 19/28 Computing a Special Subgraph G” Determine, for each adjacent pair in G, whether they are strictly adjacent in G can take O(nm) time We shall spend O(m) time to find a special subgraph G” of G’. Use cardinality lexicographic ordering (CLO), which is a LBFS ordering that breaks ties in favor of the vertex with the maximum degree –To do this in linear time, presort vertices according to degrees (bucket sort)

20 20/28 The Special Edge Set E” Let D be the set of non-simplicial vertices. Let O be a CLO of G. Let f(u) be the smallest neighbor of u in D. –O(f(u)) < O(u) since u is not simplicial Define E” = { (u,v) | u, v in D, O(u) < O(v), and f(u) is not a neighbor of v} –E” is a subset of E –The components of G” are identical to those of G’ (to be proven)

21 21/28 The Recognition Algorithm 1.Compute a CLO for G. If G is not chordal, stop. 2.Otherwise, construct G”. 3.Based on the components of G”, compose a decomposition tree of G’. 4.Check if each prime component is an interval graph

22 22/28 COP Testing with Good Row Ordering Unique up to permutation within the same part Review

23 23/28 The Left-Right Endpoint Block Sequence The uniqueness of a model

24 24/28 Constructing an Interval Model for a Prime Graph How to place the next interval u into the model? Endpoints with the label must be consecutive 1. Find an endpoint z contained in u 2. Find all intervals adjacent to u (but do not contain u) 3. Start from z, check left and right endpoint blocks z

25 25/28 Constructing a unique Interval Model for a Prime Graph u1u1 f(u1)f(u1) u2u2 uiui Find a BFS tree in G”. Let the vertices be ordered as u 1, u 2, …, u n. (choose u 1 to be the smallest) Place u 1, u 2 first. For every new interval placed, find its relative position w.r.t. u 1, namely, determine whether it contains the left or the right endpoint of u 1 Place the remaining neighbors of u 1 in G” one by one. Let u i be the next neighbor to be placed. Since (f(u 1 ), u i )  E, we have that u i and u 2 are on the same side of u 1 iff (u i, u 2 )  E. u1u1 f(u1)f(u1) u2u2 uiui

26 26/28 Stage 2: Place the remaining nodes of D (I) Let u k be the next node to be placed with (u 1, u k )  E”. Let u j be its parent in the BFS tree and u i be the parent of u j. Based on the adjacent relationships of u i, u j, and u k, we shall determine which endpoint of interval u j is contained in u k uiui ujuj ukuk uiui ujuj ukuk OR Key point: Whether u i and u k are on the same side of u j

27 27/28 Stage 2: Place the remaining nodes of D (II) (i) (u i, u k )  E (ii)(u i, u k )  E. Case 1. i < k. Since (u i, u k )  E”, We must have (f(u i ), u k )  E. We show that u i and u k are on the same side of u j. uiui ujuj ukuk uiui ujuj f(ui)f(ui) ukuk Case 1.1 i < j and (f(u i ), u j )  E uiui ujuj ukuk f(uj)f(uj) Case 1.2 j < i < k and (f(u j ), u i )  E and f(u j ), u k )  E u i and u k are on different sides of u j. Case 2. k < i, (exercise)

28 28/28 Stage 3: Place the remaining simplicial nodes (I) It is likely for the simplicial intervals to refine the blocks Scan the endpoints of D from left to right. For each endpoint block scanned, let Q be the set of all intervals whose left endpoints have already been scanned, but whose right endpoints have not been.

29 29/28 Stage 3: Place the remaining simplicial nodes (II) Let B L* be the first left block s.t. after its scanning, all neighbors N(u) of a simplicial node u have its left endpoints scanned –If, before scanning B L*, | Q | = |N(u)|, then insert the interval of u into B L* –Otherwise | Q | > |N(u)|, insert the interval of u after the first right block B R* s.t. | Q | = |N(u)|. B R* B L*


Download ppt "1/28 Interval Graph Test. 2/28 Chordal Graphs A chord of a cycle C is an edge not in C whose endpoints lie in C An chordless cycle in G is a cycle of."

Similar presentations


Ads by Google