Chordal Graphs: Theory and Algorithms
Total Page:16
File Type:pdf, Size:1020Kb
Chordal Graphs: Theory and Algorithms 1 Chordal graphs Chordal graph : Every cycle of four or more vertices has a chord in it, i.e. there is an edge between two non consecutive vertices of the cycle. Also called rigid circuit graphs, Perfect Elimination Graphs, Triangulated Graphs, monotone transitive graphs. 2 Subclasses of Chordal Graphs Trees K-trees ( 1-tree is tree) Kn: Complete Graph Block Graphs Bipartite Graph with bipartition X and Y ( not necessarily Chordal ) Split Graphs: Make one part of Bipartite graph complete Interval Graphs 3 Subclasses of Chordal Graphs … Rooted Directed Path Graphs Directed Path Graphs Path Graphs Strongly Chordal Graphs Doubly Chordal Graphs 4 Research Issues in Trees Computing Achromatic number in tree is NP-Hard Conjecture: Every tree is Graceful L(2,1)-labeling number of a tree with maximum degree is either +1 or +2. Characterize trees having L(2,1)-labeling number +1 5 Why Study a Special Graph Class? Reasons The Graph Class arises from applications The graph class posses some interesting structures that helps solving certain hard but important problems restricted to this class some interesting meaningful theory can be developed in this class. All of these are true for chordal Graphs. Hence study Chordal Graphs. See the book: Graph Classes (next slide) 6 7 Characterizing Property: Minimal separators are cliques ( Dirac 1961) Characterizing Property: Every minimal a-b vertex separator is a clique ( Complete Subgraph) Minimal a-b Separator: S V is a minimal vertex separator if a and b lie in different components of G-S and no proper subset of S has this property. 8 Lemma 1 A vertex x of G is called simplicial if its adjacency set Adj(x) is a clique (not necessarily maximal) Lemma 1[Dirac 1961]: Each chordal graph has a simplicial vertex and if G is not a clique it has two non adjacent simplicial vertices. 9 Proof of Lemma 1 If G is a clique, done. If not, assume that G has two non-adjacent nodes a and b and that the lemma is true to all graphs with fewer vertices than G. Let S be a minimal vertex separator for a and b. Let Ga and Gb be the connected components of a and b respectively. 1 0 Proof of Lemma 1 (Cont.) S is a clique – if not, then there exists x and y such that there is no edge between them, and because S is minimal vertex separator there is a cycle <a,…,x,…,b,…,y,…,a>. It is easy to show that there exist a minimal cycle with length no less then 4 with no chords in it, contradiction. 1 1 Proof of Lemma 1 (Cont.) S is a clique. GA+S is smaller than G therefore by induction the lemma holds, i.e. GA+S is a clique or has two non adjacent simplicial vertices, one of each must be in GA. Any simplicial vertex in GA is a simplicial vertex in G because all elements of Adj(A) are inside GA+S. Thus from GA and GB we get two simplicial vertices in G. 1 2 Characterizing Property: PEO ( Fulkerson and Gross 1965) Lemma: (Dirac 1961) Every chordal graph has a simplicial vertex. If G is not complete, then it has two non-adjacent simplicial vertices. Simplicial: G[NG(v)] is complete Theorem: G is chordal iff it has a Perfect Elimination Ordering 2 4 (1,2,3,4,5) is a PEO of G 5 1 3 G PEO: (v1,v2,…,vn) is a PEO if vi is a simplicial vertex of G[{vi,vi+1,…,vn}], 1 ≤ i ≤n. 13 PEO Illustration Perfect Elimination order : necessary and sufficient condition for Chordal graphs Simplicial vertex : along with their neighbors form a clique 14 Theorem 7 Definition: The following are equivalent: 1. G is chordal 2. The edges of G can be directed acyclically so that every pair of converging arrows comes from two adjacent vertices. 3. G has a perfect vertex elimination scheme. 4. There is a tree T with maximal cliques of G as vertices. Any two cliques containing v are either adjacent in T or connected by a path of cliques that contain v. 1 5 Proof of Theorem 7 (1→2) By lemma 1 every chordal graph has a simplicial vertex Direct all of its edges to it Repeat the process with the rest of the graph (can be done because being chordal is hereditary) From the definition of simplicial vertex corollary that each two converging edges coming from adjacent vertices. 1 6 Proof of Theorem 7 (2→1) Let there be a cycle of size larger than 3. There exist a valid direction which is acyclic There are two converging edges, which come from two adjacent vertices The cycle has a chord. 1 7 Perfect Vertex Elimination Let G=(V,E) be an undirected graph and let σ=[v1,v2,…,vn] be an ordering of the vertices. We say that σ is a perfect vertex elimination scheme if for each i: Xi = { vj in Adj(vi) | j>I } is complete. 1 8 Theorem 7 (Cont.) Definition: The following are equivalent: 1. G is chordal 2. The edges of G can be directed acyclically so that every pair of converging arrows comes from two adjacent vertices. 3. G has a perfect vertex elimination scheme. 4. There is a tree T with maximal cliques of G as vertices. Any two cliques containing v are either adjacent in T or connected by a path of cliques that contain v. 1 9 Proof of Theorem 7 (1→3) By lemma 1, G has a simplicial vertex. The subgraph induced after removing this vertex is also chordal. By induction, there is an elimination order. 2 0 Proof of Theorem 7 (3→1) Let us assume a cycle of length 4 or greater. Let x be the first vertex on the elimination scheme of this cycle. x is simplicial at this point. Two vertices adjacent to x from the cycle are also adjacent between themselves. 2 1 Theorem 7 (Cont.) Definition: The following are equivalent: 1. G is chordal 2. The edges of G can be directed acyclically so that every pair of converging arrows comes from two adjacent vertices. 3. G has a perfect vertex elimination scheme. 4. There is a tree T with maximal cliques of G as vertices. Any two cliques containing v are either adjacent in T or connected by a path of cliques that contain v. 2 2 Clique Tree Example C1 a a b c C1 b c C2 C2 b c C3 e d d C3 b e d 2 3 Proof of Theorem 7 (1→4) Lemma 2: A vertex is simplicial iff it belongs to exactly one clique. Let G =(V,E) be a chordal graph and |V|=k Proof by induction: Assume the claim holds for all graphs of size < k. By Lemma 1 G has a simplicial vertex v. By Lemma 2 v belongs to exactly one clique C. 2 4 Proof of Theorem 7 (1→4) For G’ =(V\{v},E’) there exists a tree T’ which satisfies the claim. Split into two cases: C’ = C – {v} is maximal in G’. Add v to C’ to build T from T’. T is a Clique-Tree as needed. a C 1 C C1 2 b c a b b c e d C2 e d 2 5 Proof of Theorem 7 (1→4) C’ = C – {v} is not maximal in G’. There is a maximal clique P in G’ such that C’⊂P. Add C and (C, P) to T’ to build T. T is a Clique-Tree as needed. C a b 1 C2 a C2 a b C1 c d d c d 2 6 Proof of Theorem 7 (4→1) Let T be a Clique-Tree of graph G=(V,E) and |V|=k. Proof by induction: Assume the claim holds for all graphs of size < k. Let L be a leaf in T, and P its parent in T. Let v∈L\P (exists from maximality). v cannot be in any other clique. by Lemma 2, v is simplicial. 2 7 Proof of Theorem 7 (4→1) Let T’ be T with v removed. T’ is a Clique- Tree. By assumption G’ =(V\{v},E’) is chordal. By part 3 of Theorem 7, there exists σ’, a Perfect Elimination Order for G’. Let σ = [v, σ’] be a perfect elimination order for G. By the converse of part 3, we can conclude that G is chordal 2 8 PEO is a Key in designing algorithms and obtaining structural properties The following classical Graph Optimization problems are NP-Hard for general Graphs Finding (G) :clique number (the size of maximum size clique ) (G): Chromatic number ( minimum number of colors needed in a proper coloring of G) (G): independence number( maximum size of an independent set) (G): clique covering number ( minimum number of cliques needed to cover V(G) ) All these four problems can be solved in linear time in Chordal Graphs given a PEO as part of input 29 Polynomial Algorithms for chordal Graphs: Clique Number Given a PEO of a Chordal Graph G, maximum size clique can be found as follows: Let (v1,v2,…,vn) be a PEO of G. Define L(i)= maximum j, j > i such that vivj E(G). F[i]=minimum j j >I such vivj isan edge. Let Max {L[i]-F[i]+1}=k=L[j]-F[j]+1. Then k= (G) and C={vj,vj+1,…,v_{j+k-1}} is a maximum size clique.