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

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 G 8 The interval graph N 5 6 N The decomposition tree G’ 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’ Interval model G 8 The corresponding interval graph G’ 8 The ST-subgraph G’

18 18/28 G’ and the Skeleton Components G’ 8 The ST-subgraph G’ simplicial vertex skeleton component containment 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