chordal graphs
DESCRIPTION
Chordal Graphs. Bayesian Networks, Winter 2009-2010 Yoav Haimovitch & Ariel Raviv. Contents. Chordal Graph Warm up Theorem 7 Perfect Vertex Elimination Scheme Maximal cliques Tree. Bibliography. M.C.Golumbic Algorithmic Graph Theory and Perfect Graphs. Second edition - PowerPoint PPT PresentationTRANSCRIPT
1
Chordal GraphsBayesian Networks, Winter 2009-2010
Yoav Haimovitch & Ariel Raviv
2
Chordal Graph Warm up Theorem 7 Perfect Vertex Elimination Scheme Maximal cliques Tree
Contents
Bibliography• M.C.Golumbic Algorithmic Graph Theory and
Perfect Graphs. Second edition• Pearl, J. Probabilistic Reasoning in Intelligent
Systems.
3
Definition: Undirected graph G is chordalif every cycle of length greater than 3 has achord. Remark: Chordality is a hereditary property,All induced subgraphs of a chordal graph arechordal! Chordal graphs are also called triangulatedand perfect elimination graphs.
Chordal Graph
4
Examples of graphs
5
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.
Lemma 1
6
If G is a clique, done. If not, assume that be 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 theconnected componentsof a and b respectively.
Proof of Lemma 1
7
S is a clique – if not, then there exists x and ysuch that there is no edge between them, andbecause S is minimal vertex separator there isa cycle <a,…,x,…,b,…,y,…,a>. It is easy to show
that there exist a minimal cycle with length noless then 4 with no chords in it, contradiction.
Proof of Lemma 1 (Cont.)
8
S is a clique. GA+S is smaller than G thereforeby induction the lemma holds, i.e. GA+S is aclique or has two non adjacent simplicialvertices, one of each must be in GA. Anysimplicial vertex in GA is a simplicial vertex in Gbecause all elements of Adj(A) are inside GA+S.Thus from GA and GB we get two simplicialvertices in G.
Proof of Lemma 1 (Cont.)
9
Definition: The following are equivalent:1. G is chordal2. 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.
Theorem 7
10
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.
Proof of Theorem 7 (1→2)
11
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.
Proof of Theorem 7 (2→1)
12
Given a Markov network, we would like to calculate a probability function over it’s variables
What if we want to calculate the probability of one variable?
Vertex Elimination Order
13
P(X1,X2,X3,X4,X5)=K∙f1(X1,X2)f2(X2,X3)f3(X3,X4)f4(X4,X5)f5(X5,X1)
P(X1,X2,X3,X4)=ΣX5K∙f1(X1,X2)f2(X2,X3)f3(X3,X4)f4(X4,X5)f5(X5,X1)=
=K∙f1(X1,X2)f2(X2,X3)f3(X3,X4) ΣX5f4(X4,X5)f5(X5,X1)
= K`∙f1(X1,X2)f2(X2,X3)f3(X3,X4) F(X4, X1)
Explanation: Each time we sum over a variable we automatically add edges between all it’s adjacent vertices (creating a clique)
Example 1
14
Here is an example of how bad (i.e. big cliques) things can happen with incorrect order of summing
P(X1,X2,X3,X4,X5)=ΣX0K∙f1(X0,X1)f2(X0,X2)f3(X0,X3)f4(X0,X4)f5(X0,X5)= K`∙F(X1,X2,X3,X4,X5)
Explanation: For wrong order of summing we get big cliques and thus huge tables of probabilities to store, which are exponential in number of variables.
Example 2
15
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.
Perfect Vertex Elimination
16
Definition: The following are equivalent:1. G is chordal2. 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.
Theorem 7 (Cont.)
17
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.
Proof of Theorem 7 (1→3)
18
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.
Proof of Theorem 7 (3→1)
19
3. All vertices of G can be deleted by arranging them in separate piles, one for each clique, and then repeatedly applying the following two operations:
Delete a vertex that occurs in only one pile.
Delete a pile if all its vertices appear in another pile.
Elimination Algorithm
20
Elimination Algorithm Example
AB C
A
CB
D
E
BC D D E
21
Elimination Algorithm Example
A
CB
D
EB C D D E
A B A C
D
22
Definition: The following are equivalent:1. G is chordal2. 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.
Theorem 7 (Cont.)
23
Clique Tree Example
a
cb
de
C2
C3
C1
acb
C1
cb
d
b
de
C2
C3
24
Clique Tree Example
ba
dc
C2
C1
C3
C4
ba
C1
b
d
dc
C4
C3
a
c
C2
25
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.
Proof of Theorem 7 (1→4)
26
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.
Proof of Theorem 7 (1→4)
a
cb
deC2
C1 ab
C1
b
d
C2
ec
27
◦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.
Proof of Theorem 7 (1→4)
ba
dc
C2
C1
C1
a
d
C2
cba
d
28
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.
Proof of Theorem 7 (4→1)
29
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
Proof of Theorem 7 (4→1)