+ All Categories
Home > Science > LEXBFS on Chordal Graphs with more Example

LEXBFS on Chordal Graphs with more Example

Date post: 07-Aug-2015
Category:
Upload: inria
View: 46 times
Download: 0 times
Share this document with a friend
Popular Tags:
40
CORDAL GRAPH Recognition via Lex BFS Nazli Temur M1 International Master of Computer Science
Transcript
Page 1: LEXBFS on Chordal Graphs with more Example

CORDAL GRAPH Recognition via Lex

BFS

Nazli TemurM1 International Master of Computer Science

Page 2: LEXBFS on Chordal Graphs with more Example

Cordal Graphs

Definition. A Graph is chordal if it has no induced cycles larger than triangles.

For a graph G on n vertices, the following conditions are equivalent:

G is chordal;

1.G has a perfect elimination ordering.

2. If every minimal vertex separator of a G is complete.

3. If every induced subgraph of G has a simplicial vertex.

Page 3: LEXBFS on Chordal Graphs with more Example

Condition 1: Perfect Elimination Ordering

Definition. A graph G on n vertices is said to have a perfect elimination ordering if and only if there is an ordering {v1, . . . vn} of G’s vertices, such that each vi is simplicial in the subgraph induced by the vertices {v1, . . . vi}.

Page 4: LEXBFS on Chordal Graphs with more Example

Simplicial Vertex

Definition. In a graph G, a vertex v is called simplicial if and only if the subgraph (adjacency set) of G induced by the vertex set {v} ∪ N (v) is a complete graph.

// A clique that is not necessarily maximal.

Note: Example graph is not chordal.

Page 5: LEXBFS on Chordal Graphs with more Example

Condition 2: Minimal Vertex Seperation

Definition. A vertex separator S in G is minimal if and only if the graph , obtained by removing S from G, has two connected components C1 and C2 such that each vertex in S is both adjacent to some vertex in C1 and to some vertex in C2.

In other words S’s vertices induce a complete subgraph of G. // Clique

Note : A graph with no or one nodes is connected.

Page 6: LEXBFS on Chordal Graphs with more Example

Vertex Seperator

Below picture includes 3 minimal vertex separator that are {2} {4} {4,6}

Page 7: LEXBFS on Chordal Graphs with more Example

LEX BFS Intro

Page 8: LEXBFS on Chordal Graphs with more Example

Cordal Graph Recognition with LEX BFSRose, Lueker & Tarjan (1976) (see also Habib et al. 2000) show that a perfect elimination ordering of a chordal graph may be found efficiently using an algorithm known as lexicographic breadth-first search.

IDEA

Maintain an ordered partition of the vertices;

At each step Maintain that every part has the same neighborhood to the left (i.e. of already visited vertices).

Choose the next vertex to visit  in the leftmost part.

Visiting a vertex x can be done by refining  current partition with N(x).

That is the idea.

Page 9: LEXBFS on Chordal Graphs with more Example

LexBFS Partition Refinement Approach

Page 10: LEXBFS on Chordal Graphs with more Example

Highlights

A single perfect elimination ordering  can be found in linear time using

either the LexBFS algorithm or MCS(Maximum cardinality search).

However neither of these algorithms can be used to proceed every perfect

elimination ordering [PEO] for a given chordal graph.

Any ordering of LexBFS is a perfect elimination ordering.

There is an algorithm that is used to generate every perfect elimination

orderings[PEOs] of a chordal graph by successively removing simplicial

vertices. //main difficulty is to maintain the list of simplicial vertices.

If S is the minimal vertex separator of the G graph.Whenever there exist

u,v V(G) such that every path connecting u,v contains a vertex in S.

In clique tree of a chordal graph(ordering of maximal cliques),if both

maximal cliques that contains a given vertex x , then all the edges of path

that connecting them are associated with minimal vertex separators that

contains x.

Page 11: LEXBFS on Chordal Graphs with more Example

LEX BFS Simulation

Page 12: LEXBFS on Chordal Graphs with more Example

LEX BFS on Cordal Graphs starts from node f

Sigma(a) a N’(a)-adj Partitions (Slices)

// Pivots// Adjacent Vertexes L={fgcdbae}

1 f N’ ={g,c}

2 g N’ ={c,d}

3 c N’ ={d,b,a}

4 d N’ ={b,a,e}

5 b N’ ={a}

6 a N’ ={}

7 e N’ ={}

8 no remains TERMINATE

9

10

{gc}{dbae

}

{c} bae{d}

{bae}

{e}{a}

Resulting order = {f,g,c,d,b,a,e }

bae{d}

{e}

Page 13: LEXBFS on Chordal Graphs with more Example

BFS Path

f

g c

d ba

f

eResulting order = {f,g,c,d,b,a,e }

Page 14: LEXBFS on Chordal Graphs with more Example

Is the LEXBFS Order an PEO ?

Vertices Adjacencyinduced N(V) is

complete

simplicial node

1 f N’ ={g,c} YES

2 g N’ ={c,d} YES

3 c N’ ={d,b,a} YES

4 d N’ ={b,a,e} YES

5 b N’ ={a} YES

6 a N’ ={} YES

7 e N’ ={} YES

8 no remains TERMINATE

9

10

Page 15: LEXBFS on Chordal Graphs with more Example

LEX BFS Simulation….Co graph ?

Page 16: LEXBFS on Chordal Graphs with more Example

LEX BFS on Co-Graph

Sigma(a) a N’(a)-adj Partitions (Slices)

// Pivots// Adjacent Vertexes L={xdyuevwcazb}

1 x

2

3

4

5

6

7

8

9

10

Page 17: LEXBFS on Chordal Graphs with more Example

LEX BFS on Cordal Graph

Sigma(a)

a N’(a)-adj Partitions (Tied)

// Pivots// Adjacent Vertexes L={xdyuevwcazb}

1 xN’={yuvwz}

2

3

4

5

6

7

8

9

10

11

12

{yuvwz}

{decab}

Resulting order = {x, }

Page 18: LEXBFS on Chordal Graphs with more Example

LEX BFS on Cordal Graph

Sigma(a)

a N’(a)-adj Partitions (Tied)

// Pivots// Adjacent Vertexes L={xdyuevwcazb}

1 xN’={yuvwz}

2 y

3

4

5

6

7

8

9

10

11

12

{yuvwz}

{decab}

Page 19: LEXBFS on Chordal Graphs with more Example

LEX BFS on Cordal Graph

Sigma(a)

a N’(a)-adj Partitions (Tied)

// Pivots// Adjacent Vertexes L={xdyuevwcazb}

1 xN’={yuvwz}

2 yN’={wzdecab}

3

4

5

6

7

8

9

10

11

12

{yuvwz}

{decab}

Resulting order = {x,y }

{wz}

{uv}

{decab}

Page 20: LEXBFS on Chordal Graphs with more Example

LEX BFS on Cordal Graph

Sigma(a)

a N’(a)-adj Partitions (Tied)

// Pivots// Adjacent Vertexes L={xdyuevwcazb}

1 xN’={yuvwz}

2 yN’={wzdecab}

3 w

4

5

6

7

8

9

10

11

12

{yuvwz}

{decab}

{wz}

{uv}

{decab}

Page 21: LEXBFS on Chordal Graphs with more Example

LEX BFS on Cordal Graph

Sigma(a)

a N’(a)-adj Partitions (Tied)

// Pivots// Adjacent Vertexes L={xdyuevwcazb}

1 xN’={yuvwz}

2 yN’={wzdecab}

3 wN'={zdecab}

4

5

6

7

8

9

10

11

12

{yuvwz}

{decab}

Resulting order = {x,y,w }

{wz}

{uv}

{decab}

{z}{decab

}{uv}

Page 22: LEXBFS on Chordal Graphs with more Example

LEX BFS on Cordal Graph

Sigma(a)

a N’(a)-adj Partitions (Tied)

// Pivots// Adjacent Vertexes L={xdyuevwcazb}

1 xN’={yuvwz}

2 yN’={wzdecab}

3 wN'={zdecab}

4 z

5

6

7

8

9

10

11

12

{yuvwz}

{decab}

{wz}

{uv}

{decab}

{z}{decab

}{uv}

Page 23: LEXBFS on Chordal Graphs with more Example

LEX BFS on Cordal Graph

Sigma(a)

a N’(a)-adj Partitions (Tied)

// Pivots// Adjacent Vertexes L={xdyuevwcazb}

1 xN’={yuvwz}

2 yN’={wzdecab}

3 wN'={zdecab}

4 z N'={uva}

5

6

7

8

9

10

11

12

{yuvwz}

{decab}

Resulting order = {x,y,w,z }

{wz}

{uv}

{decab}

{z}{decab

}{uv}

{decb}{uv}

{a}

Page 24: LEXBFS on Chordal Graphs with more Example

LEX BFS on Cordal Graph

Sigma(a)

a N’(a)-adj Partitions (Tied)

// Pivots// Adjacent Vertexes L={xdyuevwcazb}

1 xN’={yuvwz}

2 yN’={wzdecab}

3 wN'={zdecab}

4 z N'={uva}

5 u

6

7

8

9

10

11

12

{yuvwz}

{decab}

{wz}

{uv}

{decab}

{z}{decab

}{uv}

{decb}{uv}

{a}

Page 25: LEXBFS on Chordal Graphs with more Example

LEX BFS on Cordal Graph

Sigma(a)

a N’(a)-adj Partitions (Tied)

// Pivots// Adjacent Vertexes L={xdyuevwcazb}

1 xN’={yuvwz}

2 yN’={wzdecab}

3 wN'={zdecab}

4 z N'={uva}

5 uN'={vadecb}

6

7

8

9

10

11

12

{yuvwz}

{decab}

Resulting order = {x,y,w,z,u }

{wz}

{uv}

{decab}

{z}{decab

}{uv}

{decb}{uv}

{a}

{a}{v}{decb

}

Page 26: LEXBFS on Chordal Graphs with more Example

LEX BFS on Cordal Graph

Sigma(a)

a N’(a)-adj Partitions (Tied)

// Pivots// Adjacent Vertexes L={xdyuevwcazb}

1 xN’={yuvwz}

2 yN’={wzdecab}

3 wN'={zdecab}

4 z N'={uva}

5 uN'={vadecb}

6 v

7

8

9

10

11

12

{yuvwz}

{decab}

{wz}

{uv}

{decab}

{z}{decab

}{uv}

{decb}{uv}

{a}

{a}{v}{decb

}

Page 27: LEXBFS on Chordal Graphs with more Example

LEX BFS on Cordal Graph

Sigma(a)

a N’(a)-adj Partitions (Tied)

// Pivots// Adjacent Vertexes L={xdyuevwcazb}

1 xN’={yuvwz}

2 yN’={wzdecab}

3 wN'={zdecab}

4 z N'={uva}

5 uN'={vadecb}

6 v N'={adecb}

7

8

9

10

11

12

{yuvwz}

{decab}

Resulting order = {x,y,w,z,u,v }

{wz}

{uv}

{decab}

{z}{decab

}{uv}

{decb}{uv}

{a}

{a}{v}{decb

}{a}

{decb}

Page 28: LEXBFS on Chordal Graphs with more Example

LEX BFS on Cordal Graph

Sigma(a)

a N’(a)-adj Partitions (Tied)

// Pivots// Adjacent Vertexes L={xdyuevwcazb}

1 xN’={yuvwz}

2 yN’={wzdecab}

3 wN'={zdecab}

4 z N'={uva}

5 uN'={vadecb}

6 v N'={adecb}

7 a

8

9

10

11

12

{yuvwz}

{decab}

{wz}

{uv}

{decab}

{z}{decab

}{uv}

{decb}{uv}

{a}

{a}{v}{decb

}{a}

{decb}

Page 29: LEXBFS on Chordal Graphs with more Example

LEX BFS on Cordal Graph

Sigma(a)

a N’(a)-adj Partitions (Tied)

// Pivots// Adjacent Vertexes L={xdyuevwcazb}

1 xN’={yuvwz}

2 yN’={wzdecab}

3 wN'={zdecab}

4 z N'={uva}

5 uN'={vadecb}

6 v N'={adecb}

7 a N'={}

8

9

10

11

12

{yuvwz}

{decab}

Resulting order = {x,y,w,z,u,v,a }

{wz}

{uv}

{decab}

{z}{decab

}{uv}

{decb}{uv}

{a}

{a}{v}{decb

}{a}

{decb}

{decb}

Page 30: LEXBFS on Chordal Graphs with more Example

LEX BFS on Cordal Graph

Sigma(a)

a N’(a)-adj Partitions (Tied)

// Pivots// Adjacent Vertexes L={xdyuevwcazb}

1 xN’={yuvwz}

2 yN’={wzdecab}

3 wN'={zdecab}

4 z N'={uva}

5 uN'={vadecb}

6 v N'={adecb}

7 a N'={}

8 d

9

10

11

12

{yuvwz}

{decab}

{wz}

{uv}

{decab}

{z}{decab

}{uv}

{decb}{uv}

{a}

{a}{v}{decb

}{a}

{decb}

{decb}

Page 31: LEXBFS on Chordal Graphs with more Example

LEX BFS on Cordal Graph

Sigma(a)

a N’(a)-adj Partitions (Tied)

// Pivots// Adjacent Vertexes L={xdyuevwcazb}

1 xN’={yuvwz}

2 yN’={wzdecab}

3 wN'={zdecab}

4 z N'={uva}

5 uN'={vadecb}

6 v N'={adecb}

7 a N'={}

8 d N'={cb}

9

10

11

12

{yuvwz}

{decab}

Resulting order = {x,y,w,z,u,v,a,d }

{wz}

{uv}

{decab}

{z}{decab

}{uv}

{decb}{uv}

{a}

{a}{v}{decb

}{a}

{decb}

{decb}{cb

} {e}

Page 32: LEXBFS on Chordal Graphs with more Example

LEX BFS on Cordal Graph

Sigma(a)

a N’(a)-adj Partitions (Tied)

// Pivots// Adjacent Vertexes L={xdyuevwcazb}

1 xN’={yuvwz}

2 yN’={wzdecab}

3 wN'={zdecab}

4 z N'={uva}

5 uN'={vadecb}

6 v N'={adecb}

7 a N'={}

8 d N'={cb}

9 c

10

11

12

{yuvwz}

{decab}

{wz}

{uv}

{decab}

{z}{decab

}{uv}

{decb}{uv}

{a}

{a}{v}{decb

}{a}

{decb}

{decb}{cb

} {e}

Page 33: LEXBFS on Chordal Graphs with more Example

LEX BFS on Cordal Graph

Sigma(a)

a N’(a)-adj Partitions (Tied)

// Pivots// Adjacent Vertexes L={xdyuevwcazb}

1 xN’={yuvwz}

2 yN’={wzdecab}

3 wN'={zdecab}

4 z N'={uva}

5 uN'={vadecb}

6 v N'={adecb}

7 a N'={}

8 d N'={cb}

9 c N'={}

10

11

12

{yuvwz}

{decab}

Resulting order = {x,y,w,z,u,v,a,d,c }

{wz}

{uv}

{decab}

{z}{decab

}{uv}

{decb}{uv}

{a}

{a}{v}{decb

}{a}

{decb}

{decb}{cb

} {e}

{b} {e}

Page 34: LEXBFS on Chordal Graphs with more Example

LEX BFS on Cordal Graph

Sigma(a)

a N’(a)-adj Partitions (Tied)

// Pivots// Adjacent Vertexes L={xdyuevwcazb}

1 xN’={yuvwz}

2 yN’={wzdecab}

3 wN'={zdecab}

4 z N'={uva}

5 uN'={vadecb}

6 v N'={adecb}

7 a N'={}

8 d N'={cb}

9 c N'={}

10 b

11

12

{yuvwz}

{decab}

{wz}

{uv}

{decab}

{z}{decab

}{uv}

{decb}{uv}

{a}

{a}{v}{decb

}{a}

{decb}

{decb}{cb

} {e}

{b} {e}

Page 35: LEXBFS on Chordal Graphs with more Example

LEX BFS on Cordal Graph

Sigma(a)

a N’(a)-adj Partitions (Tied)

// Pivots// Adjacent Vertexes L={xdyuevwcazb}

1 xN’={yuvwz}

2 yN’={wzdecab}

3 wN'={zdecab}

4 z N'={uva}

5 uN'={vadecb}

6 v N'={adecb}

7 a N'={}

8 d N'={cb}

9 c N'={}

10 b N'={}

11

12

{yuvwz}

{decab}

Resulting order = {x,y,w,z,u,v,a,d,c,b }

{wz}

{uv}

{decab}

{z}{decab

}{uv}

{decb}{uv}

{a}

{a}{v}{decb

}{a}

{decb}

{decb}{cb

} {e}

{b} {e}

{e}

Page 36: LEXBFS on Chordal Graphs with more Example

LEX BFS on Cordal Graph

Sigma(a)

a N’(a)-adj Partitions (Tied)

// Pivots// Adjacent Vertexes L={xdyuevwcazb}

1 xN’={yuvwz}

2 yN’={wzdecab}

3 wN'={zdecab}

4 z N'={uva}

5 uN'={vadecb}

6 v N'={adecb}

7 a N'={}

8 d N'={cb}

9 c N'={}

10 b N'={}

11 e

12

{yuvwz}

{decab}

{wz}

{uv}

{decab}

{z}{decab

}{uv}

{decb}{uv}

{a}

{a}{v}{decb

}{a}

{decb}

{decb}{cb

} {e}

{b} {e}

{e}

Page 37: LEXBFS on Chordal Graphs with more Example

LEX BFS on Cordal Graph

Sigma(a)

a N’(a)-adj Partitions (Tied)

// Pivots// Adjacent Vertexes L={xdyuevwcazb}

1 xN’={yuvwz}

2 yN’={wzdecab}

3 wN'={zdecab}

4 z N'={uva}

5 uN'={vadecb}

6 v N'={adecb}

7 a N'={}

8 d N'={cb}

9 c N'={}

10 b N'={}

11 e N'={} no remaining

12

{yuvwz}

{decab}

{wz}

{uv}

{decab}

{z}{decab

}{uv}

{decb}{uv}

{a}

{a}{v}{decb

}{a}

{decb}

{decb}{cb

} {e}

{b} {e}

{e}

Page 38: LEXBFS on Chordal Graphs with more Example

LEX BFS on Co Graph

Sigma(a)

a N’(a)-adj Partitions (Tied)

// Pivots// Adjacent Vertexes L={xdyuevwcazb}

1 xN’={yuvwz}

2 yN’={wzdecab}

3 wN'={zdecab}

4 z N'={uva}

5 uN'={vadecb}

6 v N'={adecb}

7 a N'={}

8 d N'={cb}

9 c N'={}

10 b N'={}

11 e N'={} no remaining

12no remaining Terminate

{yuvwz}

{decab}

Resulting order = {x,y,w,z,u,v,a,d,c,b,e}

{wz}

{uv}

{decab}

{z}{decab

}{uv}

{decb}{uv}

{a}

{a}{v}{decb

}{a}

{decb}

{decb}{cb

} {e}

{b} {e}

{e}

Page 39: LEXBFS on Chordal Graphs with more Example

BFSLexBFS is a restricted version of BFS. So that LexBFS orderings are sub set of BFS orderings. Same LexBFS order can be obtain from BFS by ordering same level nodes accordingly.

x

y w z u v

a d c b e

N(x) ={y,u,v,w,z} N(y) ={d,e,c,a,b,u,v,w,z}

Resulting order = {x,y,w,z,u,v,a,d,c,b,e}

Page 40: LEXBFS on Chordal Graphs with more Example

THANKS !


Recommended