A Compact Representation for Chordal Chordal Graphs Graphs A - - PowerPoint PPT Presentation

a compact representation for chordal chordal graphs
SMART_READER_LITE
LIVE PREVIEW

A Compact Representation for Chordal Chordal Graphs Graphs A - - PowerPoint PPT Presentation

A Compact Representation for Chordal Chordal Graphs Graphs A Compact Representation for Lilian Markenzon Lilian Markenzon N cleo de Computa cleo de Computa o Eletrnica o Eletrnica N Universidade Federal do Rio de Janeiro,


slide-1
SLIDE 1

A Compact Representation for A Compact Representation for Chordal Chordal Graphs Graphs

Lilian Markenzon Lilian Markenzon N Nú úcleo de Computa cleo de Computaç ção Eletrônica ão Eletrônica Universidade Federal do Rio de Janeiro, Brasil Universidade Federal do Rio de Janeiro, Brasil Paulo Renato da Costa Pereira Paulo Renato da Costa Pereira Se Seç ção de Engenharia de Sistemas ão de Engenharia de Sistemas Instituto Militar de Engenharia, Brasil Instituto Militar de Engenharia, Brasil

May 2008 May 2008

slide-2
SLIDE 2

Basic Definitions Basic Definitions

A graph G is said to be chordal when every cycle of length at least 4 has a

chord.

A clique is a subset of V that induces a complete subgraph of G. A vertex v is said to be simplicial in G when Adj(v) is a clique of G. σ = 〈v1, ..., vn〉 is a perfect elimination ordering (peo) when vi is simplicial

in the induced subgraph G[{vi, ..., vn}], 1 ≤ i ≤ n.

G is a chordal graph IFF admits a peo. A total ordering of the maximal cliques Q1, …, Ql has the running

intersection property (RIP) if for each clique Qj, 2 ≤ j ≤ l, there exists a clique Qi, 1 ≤ i ≤ j-1, such that, Qj ∩ (Q1∪ … ∪ Qj-1) ⊂ Qi.

slide-3
SLIDE 3

Basic Definitions Basic Definitions

A graph G is said to be chordal when every cycle of length at least 4 has a chord.

3 2 5 1 4 6 7

slide-4
SLIDE 4

Basic Definitions Basic Definitions

5 6 1 7 2 4 9 8 3

A clique is a subset of V that induces a complete subgraph of G. A vertex v is said to be simplicial in G when Adj(v) is a clique of G. σ = 〈v1, ..., vn〉 is a perfect elimination ordering (peo) when vi is simplicial

in the induced subgraph G[{vi, ..., vn}], 1 ≤ i ≤ n.

slide-5
SLIDE 5

Basic Definitions Basic Definitions

A clique is a subset of V that induces a complete subgraph of G. A vertex v is said to be simplicial in G when Adj(v) is a clique of G. σ = 〈v1, ..., vn〉 is a perfect elimination ordering (peo) when vi is simplicial

in the induced subgraph G[{vi, ..., vn}], 1 ≤ i ≤ n.

5 6 1 7 2 4 9 8 3

slide-6
SLIDE 6

Basic Definitions Basic Definitions

σ = 〈9, 1, 8, 7, 6, 2, 5, 3, 4〉

5 6 1 7 2 4 8 3

1 is simplicial in G[ {1, 8, 7, 6, 2, 5, 3, 4} ]

slide-7
SLIDE 7

Basic Definitions Basic Definitions

G is a chordal graph IFF admits a peo. A total ordering of the maximal cliques Q1, …, Ql has the running

intersection property (RIP) if for each clique Qj, 2 ≤ j ≤ l, there exists a clique Qi, 1 ≤ i ≤ j-1, such that, Qj ∩ (Q1 ∪ … ∪ Qj-1) ⊂ Qi.

Let Q1 = {a,b,c,d}, Q2 = {e,f,a,b}, Q3 = {g,h,f}, Q4 = {b,f,k} be a

RIP ordering of the maximal cliques maximal of a chordal graph G.

Q2 ∩ (Q1) ⊂ Q1 Q3 ∩ (Q1 ∪ Q2) ⊂ Q2 Q4 ∩ (Q1 ∪ Q2 ∪ Q3) ⊂ Q2

slide-8
SLIDE 8

Representing Representing Chordal Chordal Graphs Graphs

Let G = (V,E) be a connected chordal graph.

Traditional representation: adjacency lists Another representation: maximal cliques

– The determination of E is not efficient – Adjacency query is not efficient

slide-9
SLIDE 9

A New Representation of A New Representation of Chordal Chordal Graphs Graphs

Goals

To reduce the computer storage To recognize structural properties To study these properties in a different way

slide-10
SLIDE 10

Compact Representation Compact Representation

Let G = (V,E) be a chordal graph and Q1, …, Ql the maximal cliques of G with a RIP ordering. The compact representation of G is the sequence of pairs CR(G) = [(Pj,Sj)], 1 ≤ j ≤ l, such that

S1 = ∅, Sj = Qj ∩ (Q1∪ … ∪ Qj-1) and Pj = Qj – Sj.

slide-11
SLIDE 11

Compact Representation Compact Representation

Q1 = {a,b,c,d}, Q2 = {e,f,a,b}, Q3 = {g,h,f}, Q4 = {b,f,k}

CR1(G) = [ ({a,b,c,d}, ∅), ({e,f}, {a,b}), ({g,h}, {f}), ({k}, {b,f}) ]

Q1 = {f,g,h}, Q2 = {a,b,e,f}, Q3 = {c,d,a,b}, Q4 = {b,f,k}

CR2(G) = [ ({f,g,h}, ∅), ({a,b,e}, {f}), ({c,d}, {a,b}), ({k}, {b,f}) ]

e c f a b d g h k

slide-12
SLIDE 12

Properties Properties

Let G = (V,E) a chordal graph and its compact representation CR(G) = [(P1,S1), (P2,S2), …, (Pl,Sl)].

Property 0. Qi= Pi∪ Si, 1 ≤ i ≤ l are the maximal cliques of G. Property 1. [Pl, Pl-1, …, P1] is a peo of G.

CR1(G) = [ ({a,b,c,d}, ∅), ({e,f}, {a,b}), ({g,h}, {f}), ({k}, {b,f}) ]

peo = [k,g,h,e,f,a,b,c,d]

CR2(G) = [ ({f,g,h}, ∅), ({a,b,e}, {f}), ({c,d}, {a,b}), ({k}, {b,f}) ]

peo = [k,c,d,a,b,e,f,g,h]

slide-13
SLIDE 13

Properties Properties

Property 2. There is an associated clique-tree T = (VT,ET) such that the edges are the pairs (Qj,Qi), for 2 ≤ j ≤ l and i is obtained by i = max{t | Sj ∩ Pt ≠ ∅}. CR1(G) = [ ({a,b,c,d}, ∅), ({e,f}, {a,b}), ({g,h}, {f}), ({k}, {b,f}) ]

slide-14
SLIDE 14

Properties Properties

Property 2. There is an associated clique-tree T = (VT,ET) such that the edges are the pairs (Qj,Qi), for 2 ≤ j ≤ l and i is obtained by i = max{t | Sj ∩ Pt ≠ ∅}.

{a,b,c,d}

CR1(G) = [ ({a,b,c,d}, ∅), ({e,f}, {a,b}), ({g,h}, {f}), ({k}, {b,f}) ]

slide-15
SLIDE 15

Properties Properties

Property 2. There is an associated clique-tree T = (VT,ET) such that the edges are the pairs (Qj,Qi), for 2 ≤ j ≤ l and i is obtained by i = max{t | Sj ∩ Pt ≠ ∅}.

{a,b,c,d} {a,b,e,f}

CR1(G) = [ ({a,b,c,d}, ∅), ({e,f}, {a,b}), ({g,h}, {f}), ({k}, {b,f}) ]

{a,b}

slide-16
SLIDE 16

Properties Properties

Property 2. There is an associated clique-tree T = (VT,ET) such that the edges are the pairs (Qj,Qi), for 2 ≤ j ≤ l and i is obtained by i = max{t | Sj ∩ Pt ≠ ∅}.

{a,b,c,d} {a,b,e,f} {f,g,h}

CR1(G) = [ ({a,b,c,d}, ∅), ({e,f}, {a,b}), ({g,h}, {f}), ({k}, {b,f}) ]

{a,b} {f}

slide-17
SLIDE 17

Properties Properties

Property 2. There is an associated clique-tree T = (VT,ET) such that the edges are the pairs (Qj,Qi), for 2 ≤ j ≤ l and i is obtained by i = max{t | Sj ∩ Pt ≠ ∅}.

{a,b,c,d} {a,b,e,f} {f,g,h} {b,f,k}

CR1(G) = [ ({a,b,c,d}, ∅), ({e,f}, {a,b}), ({g,h}, {f}), ({k}, {b,f}) ]

{a,b} {f} {b,f}

slide-18
SLIDE 18

Properties Properties

S ⊂ V is a separator of G if two vertices in the same connected component of G are in two distinct connected components of G[V – S]. S ⊂ V is a vertex separator for non-adjacent vertices u and v (a uv-separator) if the removal of S from the graph separates u and v into distinct connected

  • components. When the pair of vertices remains unspecified, we refer to S as a

vertex separator.

Property 3.

{S2, S3, …, Sl} is the multiset of the minimal vertex separators. V – (S2 ∪ S3 ∪ … ∪ Sl) is the set of simplicial vertices of G.

slide-19
SLIDE 19

Properties: the adjacency query Properties: the adjacency query

Property 4. Let u ∈ Pi and v ∈ Pj. The vertices u and v are adjacent in G if and only if

i = j or i < j and u ∈ Sj or i > j and v ∈ Si.

slide-20
SLIDE 20

Obtaining the edges Obtaining the edges

Let pi = | Pi | and si = | Si |. Property 5.

=

− + =

l i i i i i

p p s p m

1

) 2 / ) 1 ( (

Algorithm Step 1: Insert all the edges of P1; % p1(p1 – 1)/2 edges Step 2: for i = 2, …, l: Insert all the edges of Pi; % pi(pi – 1)/2 edges Insert edges {u,v} such that u ∈ Si and v ∈ Pi; % pi.si edges

Complexity: O(m)

slide-21
SLIDE 21

Some Results Some Results

Let Q* be the set of maximal cliques, S* the multiset of minimal vertex separators , and . From Property 3 and from Property 0

=

=

l i i

s

1

α

=

+ =

l i i i

s p

1

) ( β

=

*

| |

S S

S α

=

*

| |

Q Q

Q β

Theorem 2. α < m Corollary 2. β < n + m

slide-22
SLIDE 22

Generating the Compact Representation Generating the Compact Representation

Let [v1, …, vn] be a peo obtained by a lex-bfs (lexicographic breath-first search). Algorithm k ← 1; P1 ← {vn}; S1 ← ∅; for j = n–1, …, 1: X ← Adj(vj) ∩ {vj+1, …, vn}; if X = Pk ∪ Sk then Pk ← Pk ∪ {vj}; % clique Qk is enlarged else k ← k+1; % new maximal clique Pk ← {vj}; Sk ← X;

slide-23
SLIDE 23

Memory Saving Memory Saving

Traditional representation: n + 2m Appropriate representation: n + m Compact representation: n + α

∑ ∑

= =

− + + = + +

l i i i i l i i i

s p p s p m n n

1 1

) 1 2 ( 2 α

e c f a b d g h k

n = 9, m = 25, α = 5 Saving = 58,8%

slide-24
SLIDE 24

Some Examples Some Examples

All graphs have 6 cliques of cardinality 5. Each graph Gi has 5 minimal vertex separators of cardinality i. CR(G1) = [({a,b,c,d,e},∅), ({f,g,h,i},{e}), ({j,k,l,m},{i}), ({n,o,p,q},{m}), ({r,s,t,u}, {q}), ({v,x,y,z}, {u}) ] CR(G2) = [({a,b,c,d,e},∅), ({f,g,h},{d,e}), ({i,j,k},{g,h}), ({l,m,n},{j,k}), ({o,p,q}, {m,n}), ({r,s,t}, {p,q}) ] CR(G3) = [({a,b,c,d,e},∅), ({f,g},{c,d,e}), ({h,i},{e,f,g}), ({j,k},{g,h,i}), ({l,m}, {i,j,k}), ({n,o}, {k,l,m}) ] CR(G4) = [({a,b,c,d,e},∅), ({f},{b,c,d,e}), ({g},{c,d,e,f}), ({h},{d,e,f,g}), ({i}, {e,f,g,h}), ({j}, {f,g,h,i}) ] Saving1 = 64,7% Saving2 = 57,1% Saving3 = 50% Saving4 = 25%

slide-25
SLIDE 25

Applications: to recognize Applications: to recognize k k-

  • trees

trees

Let G = (V,E) a chordal graph and its compact representation CR(G) = [(P1,S1), (P2,S2), …, (Pl,Sl)].

Theorem 3. G is a k-tree IFF | P1 | = k + 1, | Pi | = 1 and | Si | = k, for 2 ≤ i ≤ l.

slide-26
SLIDE 26

Applications: to recognize planar Applications: to recognize planar chordal chordal graphs graphs

Let G = (V,E) a chordal graph and its compact representation CR(G) = [(P1,S1), (P2,S2), …, (Pl,Sl)].

Theorem 4. G is planar IFF for 1 ≤ i ≤ l:

| Pi | + | Si | ≤ 4 and if | Si | = 3 then Sj ≠ Sj, for 2 ≤ j ≤ l and i ≠ j.

slide-27
SLIDE 27

Conclusions Conclusions

Obtaining the representation efficiently Saving memory Obtaining structural properties immediately

– Maximal cliques – Peo – Minimal Vertex Separators – Simplicial vertices

Testing if an edge exists and obtaining m efficiently Making easier the development of applications