chordal graphs

29
Chordal Graphs Bayesian Networks, Winter 2009-2010 Yoav Haimovitch & Ariel Raviv 1

Upload: shino

Post on 24-Feb-2016

81 views

Category:

Documents


3 download

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 Presentation

TRANSCRIPT

Page 1: Chordal Graphs

1

Chordal GraphsBayesian Networks, Winter 2009-2010

Yoav Haimovitch & Ariel Raviv

Page 2: Chordal Graphs

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.

Page 3: Chordal Graphs

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

Page 4: Chordal Graphs

4

Examples of graphs

Page 5: Chordal 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

Page 6: Chordal Graphs

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

Page 7: Chordal Graphs

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

Page 8: Chordal Graphs

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

Page 9: Chordal Graphs

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

Page 10: Chordal Graphs

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)

Page 11: Chordal Graphs

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)

Page 12: Chordal Graphs

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

Page 13: Chordal Graphs

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

Page 14: Chordal Graphs

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

Page 15: Chordal Graphs

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

Page 16: Chordal Graphs

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

Page 17: Chordal Graphs

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)

Page 18: Chordal Graphs

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)

Page 19: Chordal Graphs

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

Page 20: Chordal Graphs

20

Elimination Algorithm Example

AB C

A

CB

D

E

BC D D E

Page 21: Chordal Graphs

21

Elimination Algorithm Example

A

CB

D

EB C D D E

A B A C

D

Page 22: Chordal Graphs

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

Page 23: Chordal Graphs

23

Clique Tree Example

a

cb

de

C2

C3

C1

acb

C1

cb

d

b

de

C2

C3

Page 24: Chordal Graphs

24

Clique Tree Example

ba

dc

C2

C1

C3

C4

ba

C1

b

d

dc

C4

C3

a

c

C2

Page 25: Chordal Graphs

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)

Page 26: Chordal Graphs

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

Page 27: Chordal Graphs

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

Page 28: Chordal Graphs

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)

Page 29: Chordal Graphs

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)