An introduction to chordal graphs and clique trees

Slides:



Advertisements
Similar presentations
Great Theoretical Ideas in Computer Science
Advertisements

Connectivity - Menger’s Theorem Graphs & Algorithms Lecture 3.
Interval Graph Test.
Edge-connectivity and super edge-connectivity of P 2 -path graphs Camino Balbuena, Daniela Ferrero Discrete Mathematics 269 (2003) 13 – 20.
Graph-02.
Bayesian Networks, Winter Yoav Haimovitch & Ariel Raviv 1.
3.3 Spanning Trees Tucker, Applied Combinatorics, Section 3.3, by Patti Bodkin and Tamsen Hunter.
C++ Programming: Program Design Including Data Structures, Third Edition Chapter 21: Graphs.
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
Lists A list is a finite, ordered sequence of data items. Two Implementations –Arrays –Linked Lists.
Chapter 9: Greedy Algorithms The Design and Analysis of Algorithms.
CTIS 154 Discrete Mathematics II1 8.2 Paths and Cycles Kadir A. Peker.
K-Coloring k-coloring: A k-coloring of a graph G is a labeling f: V(G)  S, where |S|=k. The labels are colors; the vertices of one color form a color.
K-Coloring k-coloring: A k-coloring of a graph G is a labeling f: V(G)  S, where |S|=k. The labels are colors; the vertices of one color form a color.
Discrete Mathematics Lecture 9 Alexander Bukharovich New York University.
Minimum Spanning Trees. Subgraph A graph G is a subgraph of graph H if –The vertices of G are a subset of the vertices of H, and –The edges of G are a.
TECH Computer Science Graph Optimization Problems and Greedy Algorithms Greedy Algorithms  // Make the best choice now! Optimization Problems  Minimizing.
Graph Algorithms Using Depth First Search Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Analysis of Algorithms.
GRAPH Learning Outcomes Students should be able to:
Data Structures Using C++ 2E
IS 2610: Data Structures Graph April 5, 2004.
Αλγοριθμική Θεωρία Γραφημάτων Διάλεξη 3 Τριγωνικά Γραφήματα Μεταβατικά Γραφήματα Σταύρος Δ. Νικολόπουλος 1.
ساختمانهای گسسته دانشگاه صنعتی شاهرود – اردیبهشت 1392.
CS 3343: Analysis of Algorithms Lecture 21: Introduction to Graphs.
GRAPHS CSE, POSTECH. Chapter 16 covers the following topics Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component,
Graphs. Definitions A graph is two sets. A graph is two sets. –A set of nodes or vertices V –A set of edges E Edges connect nodes. Edges connect nodes.
Introduction to Graph Theory
Data Structures & Algorithms Graphs
1/24 Introduction to Graphs. 2/24 Graph Definition Graph : consists of vertices and edges. Each edge must start and end at a vertex. Graph G = (V, E)
Twenty Years of EPT Graphs: From Haifa to Rostock Martin Charles Golumbic Caesarea Rothschild Institute University of Haifa With thanks to my research.
Graph Theory and Applications
Computing Branchwidth via Efficient Triangulations and Blocks Authors: F.V. Fomin, F. Mazoit, I. Todinca Presented by: Elif Kolotoglu, ISE, Texas A&M University.
1 Use graphs and not pure logic Variables represented by nodes and dependencies by edges. Common in our language: “threads of thoughts”, “lines of reasoning”,
GRAPHS. Graph Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component, spanning tree Types of graphs: undirected,
Interval Graph Test Wen-Lian Hsu.
Chapter 20: Graphs. Objectives In this chapter, you will: – Learn about graphs – Become familiar with the basic terminology of graph theory – Discover.
Spanning Trees Dijkstra (Unit 10) SOL: DM.2 Classwork worksheet Homework (day 70) Worksheet Quiz next block.
Trees.
Graph Search Applications, Minimum Spanning Tree
Power Systems Network and Clique Decomposition
Minimum Spanning Trees
Chapter 5 : Trees.
Minimum Spanning Tree Chapter 13.6.
Graph theory Definitions Trees, cycles, directed graphs.
12. Graphs and Trees 2 Summary
Graph Theory and Algorithm 01
COMP 6/4030 ALGORITHMS Prim’s Theorem 10/26/2000.
CS 3343: Analysis of Algorithms
CS120 Graphs.
Graph Algorithms Using Depth First Search
Graph Algorithm.
Minimum Spanning Tree.
Minimum Spanning Trees
EMIS 8373: Integer Programming
Connected Components Minimum Spanning Tree
Chapter 9: Graphs Basic Concepts
Elementary Graph Algorithms
CS 583 Analysis of Algorithms
Chapter 11 Graphs.
Analysis of Algorithms
Minimum Spanning Tree Algorithms
Graphs G = (V, E) V are the vertices; E are the edges.
Introduction to Algorithms: Greedy Algorithms (and Graphs)
Winter 2019 Lecture 11 Minimum Spanning Trees (Part II)
Chapter 9: Graphs Basic Concepts
Locality In Distributed Graph Algorithms
Analysis of Algorithms
INTRODUCTION A graph G=(V,E) consists of a finite non empty set of vertices V , and a finite set of edges E which connect pairs of vertices .
Autumn 2019 Lecture 11 Minimum Spanning Trees (Part II)
Presentation transcript:

An introduction to chordal graphs and clique trees Some figures from the paper Chordal Graphs and Semidefinite Optimization by Lieven Vandenberghe and Martin S. Andersen

A chordal graph is an undirected graph with the property that every cycle of length greater than three has a chord (an edge between nonconsecutive vertices in the cycle).

The subgraph of G induced by a subset W V is the undirected graph with vertices W and all edges between vertices in W. The neighborhood or adjacency set adj(v) of a vertex v is the set of vertices adjacent to it: adj(v) = {w | {v,w} 2 E}. The degree of vertex v is the number of vertices adjacent to it: deg(v) = |adj(v)|. The set {v} [ adj(v) is called the closed neighborhood of v. An ordering of an undirected graph G = (V,E) is a numbering of its vertices (a bijection from {1, 2, . . . , n} to V if n is the number of vertices). An ordering : {1, 2, . . . , n} ! V can also be interpreted as a sequence of vertices = ((1), . . . , (n)). We refer to −1(v) as the index of vertex v. An ordered graph is an undirected graph G = (V,E), plus an ordering of its vertices. We write this as G = (V,E, ). We will often use inequality notation v w for −1(v) < −1(w) monotone neighborhoods can be distinguished in an ordered graph: adj+(v) = {w 2 adj(v) | w v}, adj−(v) = {w 2 adj(v) | w v}.

We also define the higher and lower degrees as deg+(v) = |adj+(v)|, deg−(v) = |adj−(v)|. We will use the notation col(v) and row(v) for the closed monotone neighborhoods col(v) = {v} [ adj+(v), row(v) = {v} [ adj−(v). Two complementary approaches to the theory of chordal graphs exist. The first approach, reviewed in §3.3 and §3.4, focuses on properties of vertex separators and cliques in chordal graphs. The second approach emphasizes the role of chordal graphs in sparse matrix factorizations

k-trees.: An interesting class of chordal graphs Defined recursively as follows: The smallest k-tree is the complete graph with k vertices. To construct a k-tree with n vertices, adds a new vertex to a k-tree with n − 1 vertices in such way that the new vertex has degree k and its neighborhood is complete.

Minimal vertex separator A set S  V is a vertex separator for two vertices v, w of G = (V,E), or simply a vw-separator, if the vertices v, w are in different connected components of the subgraph G(V \ S). A vertex separator for two vertices v, w is a minimal vertex separator if no proper subset of it is also a vw-separator. {c, e} is a minimal ag-separator {b, c, e} is a minimal ad-separator BUT it is possible for a minimal vertex separator to properly contain another a minimal vertex separator

Dirac proved: Theorem 3.1. A graph is chordal if and only if all minimal vertex separators are complete. Simplicial vertex A vertex v of an undirected graph is simplicial if its neighborhood adj(v) is complete. The closed neighborhood adj(v)  {v} of a simplicial vertex v is a clique and it is the only clique that contains v. Dirac proved: Theorem 3.3. Every chordal graph has at least one simplicial vertex. Every non-complete chordal graph has at least two non-adjacent simplicial vertices.

Clique tree A clique tree of a graph G = (V,E) is a tree which has the maximal cliques of G as its vertices and has the induced subtree property: if for every vertex v , the cliques that contain v form a subtree (connected subgraph) of T.

running intersection property If two cliques W and W0 intersect, then W  W0 is included in all the cliques on the path in the clique tree between W and W0. This is easily seen to be equivalent to the induced subtree property.

Rooted clique tree Clique trees provide very useful information about the structure of the graph. The rooted clique tree provides even more information.

Gavril and Buneman independently have Theorem 3.8. Let {Rv | v in V } be a family of subtrees of a tree T and G = (V,E) the associated tree intersection graph. Then G is chordal. In artificial intelligence and machine learning a tree similar to the clique tree, but with some non-maximal cliques allowed is called a junction tree. You get it from a Perfect elimination order (PEO).

Perfect Elimination Ordering Graph elimination visits the vertices of the graph in a certain order, called the elimination order. When vertex v is visited, edges are added between the vertices that are adjacent to v, follow v in the elimination order, and are not yet mutually adjacent. If no edges are added during graph elimination the elimination order is called a perfect elimination order.

Fulkerson and Gross proved the other direction of Dirac’s result: Theorem 4.1. A graph is chordal if and only if it has a perfect elimination ordering.

Using a maximum-weight spanning tree algorithm to construct a clique tree For a chordal graph G, the weighted clique intersection graph H(G) has its vertex set: The set of maximal cliques of G and edge set: Two distinct cliques K and K’ are connected by an edge if and only if their intersection is nonempty; moreover, each such edge (K, K’) is assigned a positive weight given by | K  K’ |.

given the set of maximal cliques of a chordal graph. Bernstein and Goodman proved the following: Theorem. Every maximum-weight spanning tree (MST) of H(G) is a clique tree of G. Thus, your favorite efficient algorithm for MST such as Prim or Dijkstra can be used to find a clique tree, given the set of maximal cliques of a chordal graph.