Download presentation
Presentation is loading. Please wait.
Published byAbigayle Knight Modified over 6 years ago
1
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
2
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).
3
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}.
4
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
5
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.
6
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
7
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.
9
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.
11
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.
12
Rooted clique tree Clique trees provide very useful information about the structure of the graph. The rooted clique tree provides even more information.
13
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).
14
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.
15
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.
18
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’ |.
19
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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.