A Compact Representation for Chordal Chordal Graphs Graphs A Compact Representation for Lilian Markenzon Lilian Markenzon Nú úcleo de Computa cleo de Computaç ção Eletrônica ão Eletrônica N 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ç ção de Engenharia de Sistemas ão de Engenharia de Sistemas Se Instituto Militar de Engenharia, Brasil Instituto Militar de Engenharia, Brasil May 2008 May 2008
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. � σ = 〈 v 1 , ..., v n 〉 is a perfect elimination ordering (peo) when v i is simplicial in the induced subgraph G [{ v i , ..., v n }], 1 ≤ i ≤ n . � G is a chordal graph IFF admits a peo . � A total ordering of the maximal cliques Q 1 , …, Q l has the running intersection property (RIP) if for each clique Q j , 2 ≤ j ≤ l , there exists a clique Q i , 1 ≤ i ≤ j -1, such that, Q j ∩ ( Q 1 ∪ … ∪ Q j -1 ) ⊂ Q i .
Basic Definitions Basic Definitions A graph G is said to be chordal when every cycle of length at least 4 has a chord. 4 1 5 2 7 6 3
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. � σ = 〈 v 1 , ..., v n 〉 is a perfect elimination ordering (peo) when v i is simplicial in the induced subgraph G [{ v i , ..., v n }], 1 ≤ i ≤ n . 8 1 2 7 9 4 5 6 3
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. � σ = 〈 v 1 , ..., v n 〉 is a perfect elimination ordering (peo) when v i is simplicial in the induced subgraph G [{ v i , ..., v n }], 1 ≤ i ≤ n . 8 1 2 7 9 4 5 6 3
Basic Definitions Basic Definitions � σ = 〈 9, 1, 8, 7, 6, 2, 5, 3, 4 〉 � 1 is simplicial in G [ {1, 8, 7, 6, 2, 5, 3, 4} ] 8 1 2 7 4 5 6 3
Basic Definitions Basic Definitions � G is a chordal graph IFF admits a peo . � A total ordering of the maximal cliques Q 1 , …, Q l has the running intersection property (RIP) if for each clique Q j , 2 ≤ j ≤ l , there exists a clique Q i , 1 ≤ i ≤ j -1, such that, Q j ∩ ( Q 1 ∪ … ∪ Q j -1 ) ⊂ Q i . � Let Q 1 = { a , b , c , d }, Q 2 = { e , f , a , b }, Q 3 = { g , h , f }, Q 4 = { b , f , k } be a RIP ordering of the maximal cliques maximal of a chordal graph G . � Q 2 ∩ ( Q 1 ) ⊂ Q 1 � Q 3 ∩ ( Q 1 ∪ Q 2 ) ⊂ Q 2 � Q 4 ∩ ( Q 1 ∪ Q 2 ∪ Q 3 ) ⊂ Q 2
Representing Chordal Chordal Graphs Graphs Representing 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
A New Representation of Chordal Chordal Graphs Graphs A New Representation of Goals � To reduce the computer storage � To recognize structural properties � To study these properties in a different way
Compact Representation Compact Representation Let G = ( V , E ) be a chordal graph and Q 1 , …, Q l the maximal cliques of G with a RIP ordering. The compact representation of G is the sequence of pairs CR ( G ) = [( P j , S j )], 1 ≤ j ≤ l , such that � S 1 = ∅ , � S j = Q j ∩ ( Q 1 ∪ … ∪ Q j -1 ) and � P j = Q j – S j .
Compact Representation Compact Representation � Q 1 = { a , b , c , d }, Q 2 = { e , f , a , b }, Q 3 = { g , h , f }, Q 4 = { b , f , k } CR 1 ( G ) = [ ({ a , b , c , d }, ∅ ), ({ e , f }, { a , b }), ({ g , h }, { f }), ({ k }, { b , f }) ] � Q 1 = { f , g , h }, Q 2 = { a , b , e , f }, Q 3 = { c , d , a , b }, Q 4 = { b , f , k } CR 2 ( G ) = [ ({ f , g , h }, ∅ ), ({ a , b , e }, { f }), ({ c , d }, { a , b }), ({ k }, { b , f }) ] d a e g c b f h k
Properties Properties Let G = ( V , E ) a chordal graph and its compact representation C R ( G ) = [( P 1 , S 1 ), ( P 2 , S 2 ), …, ( P l , S l )]. Property 0. Q i = P i ∪ S i , 1 ≤ i ≤ l are the maximal cliques of G . Property 1. [ P l , P l- 1 , …, P 1 ] is a peo of G . � CR 1 ( 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 ] � CR 2 ( 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 ]
Properties Properties Property 2. There is an associated clique-tree T = ( V T , E T ) such that the edges are the pairs ( Q j , Q i ), for 2 ≤ j ≤ l and i is obtained by i = max{ t | S j ∩ P t ≠ ∅ }. CR 1 ( G ) = [ ({ a , b , c , d }, ∅ ), ({ e , f }, { a , b }), ({ g , h }, { f }), ({ k }, { b , f }) ]
Properties Properties Property 2. There is an associated clique-tree T = ( V T , E T ) such that the edges are the pairs ( Q j , Q i ), for 2 ≤ j ≤ l and i is obtained by i = max{ t | S j ∩ P t ≠ ∅ }. CR 1 ( G ) = [ ( { a , b , c , d }, ∅ ), ({ e , f }, { a , b }), ({ g , h }, { f }), ({ k }, { b , f }) ] { a,b,c,d }
Properties Properties Property 2. There is an associated clique-tree T = ( V T , E T ) such that the edges are the pairs ( Q j , Q i ), for 2 ≤ j ≤ l and i is obtained by i = max{ t | S j ∩ P t ≠ ∅ }. CR 1 ( G ) = [ ({ a , b , c , d }, ∅ ), ( { e , f }, { a , b } ), ({ g , h }, { f }), ({ k }, { b , f }) ] { a , b } { a,b,c,d } { a,b,e,f }
Properties Properties Property 2. There is an associated clique-tree T = ( V T , E T ) such that the edges are the pairs ( Q j , Q i ), for 2 ≤ j ≤ l and i is obtained by i = max{ t | S j ∩ P t ≠ ∅ }. CR 1 ( G ) = [ ({ a , b , c , d }, ∅ ), ({ e , f }, { a , b }), ( { g , h }, { f } ), ({ k }, { b , f }) ] { a , b } { f } { a,b,c,d } { a,b,e,f } { f,g,h }
Properties Properties Property 2. There is an associated clique-tree T = ( V T , E T ) such that the edges are the pairs ( Q j , Q i ), for 2 ≤ j ≤ l and i is obtained by i = max{ t | S j ∩ P t ≠ ∅ }. CR 1 ( G ) = [ ({ a , b , c , d }, ∅ ), ({ e , f }, { a , b }), ({ g , h }, { f }), ( { k }, { b , f } ) ] { a , b } { f } { a,b,c,d } { a,b,e,f } { f,g,h } { b , f } { b,f,k }
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. � { S 2 , S 3 , …, S l } is the multiset of the minimal vertex separators. � V – ( S 2 ∪ S 3 ∪ … ∪ S l ) is the set of simplicial vertices of G .
Properties: the adjacency query Properties: the adjacency query Property 4. Let u ∈ P i and v ∈ P j . The vertices u and v are adjacent in G if and only if � i = j or � i < j and u ∈ S j or � i > j and v ∈ S i .
Obtaining the edges Obtaining the edges Let p i = | P i | and s i = | S i |. l ∑ = + − m ( p s p ( p 1 ) / 2 ) Property 5. i i i i = i 1 Algorithm Step 1: Insert all the edges of P 1 ; % p 1 (p 1 – 1)/2 edges Step 2: for i = 2, …, l : Insert all the edges of P i ; % p i ( p i – 1)/2 edges Insert edges { u , v } such that u ∈ S i and v ∈ P i ; % p i .s i edges Complexity: O ( m )
Some Results Some Results Let Q* be the set of maximal cliques, S* the multiset of ∑ ∑ α = β = minimal vertex separators , and | S | | Q | . ∈ * ∈ * S S Q Q l l ∑ ∑ β = + α = From Property 3 and from Property 0 ( p s ) s i i i = = i 1 i 1 Theorem 2. α < m Corollary 2. β < n + m
Generating the Compact Representation Generating the Compact Representation Let [ v 1 , …, v n ] be a peo obtained by a lex-bfs (lexicographic breath-first search). Algorithm k ← 1; P 1 ← { v n }; S 1 ← ∅ ; for j = n –1, …, 1: X ← Adj ( v j ) ∩ { v j +1 , …, v n }; if X = P k ∪ S k then P k ← P k ∪ { v j }; % clique Q k is enlarged else k ← k +1; % new maximal clique P k ← { v j }; S k ← X ;
Memory Saving Memory Saving Traditional representation: n + 2 m Appropriate representation: n + m Compact representation: n + α l ∑ + 2 p s + α i i n = = i 1 + l n m ∑ + − p ( p 2 s 1 ) i i i = i 1 d a e g n = 9 , m = 25 , α = 5 Saving = 58,8% c b f h k
Recommend
More recommend