Presentation is loading. Please wait.

Presentation is loading. Please wait.

Interval Graph Test Wen-Lian Hsu.

Similar presentations


Presentation on theme: "Interval Graph Test Wen-Lian Hsu."— Presentation transcript:

1 Interval Graph Test Wen-Lian Hsu

2 Chordal Graphs A chord of a cycle C is an edge not in C whose endpoints lie in C A 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

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

4 Perfect Elimination Ordering
v4 v5 v6 v1 v2 v3 v1, v2, v3, v4, v5, v6 is a perfect elimination ordering

5 Characterization of Chordal Graphs
A graph is chordal  it has a perfect elimination ordering

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

7 LBFS and PEO Theorem. 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

8 The Interval Graph Models
1 2 2 5 3 3 1 4 5 4 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

9 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

10 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.

11 The corresponding interval graph
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 7 2 6 4 G’ 8 The ST-subgraph G’

12 G’ and the Skeleton Components
1 3 5 7 2 6 4 G’ 8 The ST-subgraph G’ 1 3 4 8 simplicial vertex skeleton component containment 5 7 2 6 The Hass diagram of the containment relationships

13 Decomposition for Interval Graphs
1 3 5 7 2 6 4 G 8 The interval graph 3 1 4 N 5 6 2 7 8 1 3 5 7 2 6 4 G’ 8 The ST-subgraph G’ The decomposition tree

14 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 lexicographic ordering that breaks ties in favor of the vertex with the maximum degree

15 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’

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

17 The Left-Right Block Sequence

18 Constructing an Interval Model for a Prime Graph

19 Constructing a unique Interval Model for a Prime Graph
Find a BFS tree in G”. Let the vertices be ordered as u1, u2, …, un. Place u1, u2 first. For every new interval placed, find its relative position w.r.t. u1 u1 f(u1) u2 Place the remaining ST-neighbors of u1 one by one. Let ui be the next node. (i) (f(u1), ui )  E u1 f(u1) u2 ui

20 Stage 1: Place the neighbors of u1
(f(u1), ui )  E (assume neither ui nor u2 contain the other) Since (ui , u1)  E’’, we must have (f(ui), u1 )  E. u1 f(u1) u2 So we have (f(ui), u2 )  E ui f(ui) Or (f(ui), u2 )  E u1 f(u1) u2 f(ui) ui

21 Stage 2: Place the remaining nodes of D (I)
Let uk be the next node to be placed, which is not a neighbor of u1. Let uj be its parent in the BFS tree and ui be the parent of uj. Based on the adjacent relationships of ui, uj, and uk, we shall determine which endpoint of interval uj is contained in uk OR ui uj uk ui uj uk Whether ui and uk are on the same side of uj

22 Stage 2: Place the remaining nodes of D (II)
ui (i) (ui, uk )  E uj uk (ii) (ui, uk )  E. Since (ui, uk )  E” , We must have (f(ui), uk ), (f(uk), ui )  E. We show that ui and uk are on the same side of uj ui uj f(ui) uk Case 1. (f(ui), uj )  E f(uk) uj uk Case 2. (f(uk), uj )  E ui ui uj uk Case 3. (f(uj), uk )  E f(uj)

23 Stage 3: Place the remaining simplicial nodes (I)
It is likely for the simplicial intervals to refine the blocks 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.

24 Stage 3: Place the remaining simplicial nodes (II)
Let BL* 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 BL* , |Q| = # of N(u) scanned, then insert the interval of u into BL* Otherwise, insert the interval of u after the first right block BR* s.t. |Q| = |N(u)|. BL* BR*


Download ppt "Interval Graph Test Wen-Lian Hsu."

Similar presentations


Ads by Google