Algorithmics of Modular Decomposition

Algorithmics of Modular Decomposition

Algorithmics of Modular decomposition Christophe Paul CNRS - LIRMM, Montpellier France Algorithms & Permutations Workshop February 20, 2012 Joint work with: A. Bergeron, S. B´erard, S. Bessy, B.M. Bui Xuan, C. Chauve, D. Corneil, F. Fomin, E. Gioan, M. Habib, A. Perez, S. Saurabh, S. Thomass´e,M. Tedder, L. Viennot. Modular decomposition of undirected graphs Ehrenfeucht et al's modular decomposition algorithm Common Intervals of permutations Modular decomposition of tournaments Kernelization algorithm for FAST I Does a permutation graph have a unique representation ? Permutations and permutation graphs 1 2 3 4 5 6 7 8 9 10 11 7 6 1 5 108 11 9 2 3 4 5 2 8 6 10 1 3 7 9 4 11 I Does a permutation graph have a unique representation ? Permutations and permutation graphs 1 2 3 4 5 6 7 8 9 10 11 7 6 1 5 108 11 9 2 3 4 5 2 8 6 10 1 3 7 9 4 11 Permutations and permutation graphs 1 2 3 4 5 6 7 8 9 10 11 7 6 1 5 108 11 9 2 3 4 5 2 8 6 10 1 3 7 9 4 11 I Does a permutation graph have a unique representation ? Permutations and permutation graphs 1 2 3 4 5 6 7 10 8 11 9 7 6 1 5 8 9 10 11 2 3 4 5 2 8 6 10 1 3 7 9 4 11 I Does a permutation graph have a unique representation ? Modules A subset of vertices M of a graph G = (V ; E) is a module iff 8x 2 V n M; either M ⊆ N(x) or M \ N(x) = ; 5 2 8 6 10 1 3 7 9 4 11 I any vertex subset of the complete graph (or independent set) Modules A subset of vertices M of a graph G = (V ; E) is a module iff 8x 2 V n M; either M ⊆ N(x) or M \ N(x) = ; 5 2 8 6 10 1 3 7 9 4 11 Examples of modules: I connected components I connected components of G I A graph (a module) is degenerate if every subset of vertices is a module: cliques and stables. Modules A subset of vertices M of a graph G = (V ; E) is a module iff 8x 2 V n M; either M ⊆ N(x) or M \ N(x) = ; 5 2 8 6 10 1 3 7 9 4 11 I A graph (a module) is prime is all its modules are trivial: e.g. the P4. Modules A subset of vertices M of a graph G = (V ; E) is a module iff 8x 2 V n M; either M ⊆ N(x) or M \ N(x) = ; 5 2 8 6 10 1 3 7 9 4 11 I A graph (a module) is prime is all its modules are trivial: e.g. the P4. I A graph (a module) is degenerate if every subset of vertices is a module: cliques and stables. Permutation graph recognition Theorem [Gallai'67] A permutation graph has a unique representation (up to reversal) iff it is prime. Permutation graph recognition Theorem [Gallai'67] A permutation graph has a unique representation (up to reversal) iff it is prime. Recognition algorithm I Recursively solve the problem on modules I Solve the prime case (with linear time transitive orientation algorithm) Permutation graph recognition Theorem [Gallai'67] A permutation graph has a unique representation (up to reversal) iff it is prime. Recognition algorithm I Recursively solve the problem on modules I Solve the prime case (with linear time transitive orientation algorithm) Theorem [McConnell and Spinrad'99] The permutation graph recognition problem can be solved in O(n + m) time I we need a linear time modular decomposition algorithm 0 I M n M is a module 0 I M \ M is a module 0 I M∆M is a module Partitive families If M and M0 are two overlapping modules then 0 I M \ M is a module 0 I M∆M is a module Partitive families If M and M0 are two overlapping modules then 0 I M n M is a module 0 I M∆M is a module Partitive families If M and M0 are two overlapping modules then 0 I M n M is a module 0 I M \ M is a module Partitive families If M and M0 are two overlapping modules then 0 I M n M is a module 0 I M \ M is a module 0 I M∆M is a module The set of modules of a graph forms a partitive family A module is strong if it does not overlap any other module Partitive families If M and M0 are two overlapping modules then 0 I M n M is a module 0 I M \ M is a module 0 I M∆M is a module The set of modules of a graph forms a partitive family A module is strong if it does not overlap any other module 5 8 2 1 2 3 4 5 6 7 8 9 10 11 6 10 1 2 3 4 6 7 8 9 10 11 3 7 9 1 2 3 4 5 6 7 8 9 1011 4 11 Strong modules are nested into an inclusion tree: the modular decomposition tree MD(G) 5 2 8 6 10 1 3 7 9 4 11 If P is a modular partition of G, the quotient graph G=P is the induced subgraph obtained by choosing one vertex per part of P. Modular partition and quotient graph A partition P of the vertex set of a graph G is a modular partition if every part is a module of G. 5 2 8 6 10 1 3 7 9 4 11 5 2 8 6 10 1 3 7 9 4 11 Modular partition and quotient graph A partition P of the vertex set of a graph G is a modular partition if every part is a module of G. If P is a modular partition of G, the quotient graph G=P is the induced subgraph obtained by choosing one vertex per part of P. 3.(prime) G=M(G) is a prime graph, with M(G) the modular partition containing the maximal strong modules of G. Theorem [Gal'67,CHM81] Let G = (V ; E) be a graph. Then either 1.(parallel) G is not connected, or 2.(series) G is not connected, or Theorem [Gal'67,CHM81] Let G = (V ; E) be a graph. Then either 1.(parallel) G is not connected, or 2.(series) G is not connected, or 3.(prime) G=M(G) is a prime graph, with M(G) the modular partition containing the maximal strong modules of G. 5 Prime 2 8 1 2 3 4 5 6 7 8 9 10 11 6 10 1 parallel series Prime 3 2 3 4 6 7 8 9 10 11 7 9 4 11 1 2 3 4 5 6 78 9 10 11 Theorem [Gal'67,CHM81] Let G = (V ; E) be a graph. Then either 1.(parallel) G is not connected, or 2.(series) G is not connected, or 3.(prime) G=M(G) is a prime graph, with M(G) the modular partition containing the maximal strong modules of G. 5 Prime 2 8 1 2 3 4 5 6 7 8 9 10 11 6 10 1 parallel series Prime 3 2 3 4 6 7 8 9 10 11 7 9 4 11 1 2 3 4 5 6 78 9 10 11 Observation: If a P4 on fa; b; c; dg overlap a module M, then jM \ fa; b; c; dgj = 1 I O(n + mα(m; n)) [Spinrad'92], [Cournier, Habib'93] I O(n + m) [McConnell, Spinrad'94], [Cournier, Habib'94] I O(n + m log n) [Habib, Paul, Viennot'99] (factoring permutation), [McConnell, Spinrad'00] I O(n + m) [Capelle, Habib'97] (factoring permutation) [Dahlhaus, Gustedt, McConnell'97], [Tedder, Corneil, Habib, Paul'08] I other many others for variants of modular decomposition Modular decomposition algorithms 4 I O(n ) [Cowan, James, Stanton'72] 3 I O(n ) [Blass, 1978], [Habib, Maurer'79] 2 I O(n ) [McConnell, Spinrad'89] I O(n + m log n) [Habib, Paul, Viennot'99] (factoring permutation), [McConnell, Spinrad'00] I O(n + m) [Capelle, Habib'97] (factoring permutation) [Dahlhaus, Gustedt, McConnell'97], [Tedder, Corneil, Habib, Paul'08] I other many others for variants of modular decomposition Modular decomposition algorithms 4 I O(n ) [Cowan, James, Stanton'72] 3 I O(n ) [Blass, 1978], [Habib, Maurer'79] 2 I O(n ) [McConnell, Spinrad'89] I O(n + mα(m; n)) [Spinrad'92], [Cournier, Habib'93] I O(n + m) [McConnell, Spinrad'94], [Cournier, Habib'94] I O(n + m) [Capelle, Habib'97] (factoring permutation) [Dahlhaus, Gustedt, McConnell'97], [Tedder, Corneil, Habib, Paul'08] I other many others for variants of modular decomposition Modular decomposition algorithms 4 I O(n ) [Cowan, James, Stanton'72] 3 I O(n ) [Blass, 1978], [Habib, Maurer'79] 2 I O(n ) [McConnell, Spinrad'89] I O(n + mα(m; n)) [Spinrad'92], [Cournier, Habib'93] I O(n + m) [McConnell, Spinrad'94], [Cournier, Habib'94] I O(n + m log n) [Habib, Paul, Viennot'99] (factoring permutation), [McConnell, Spinrad'00] Modular decomposition algorithms 4 I O(n ) [Cowan, James, Stanton'72] 3 I O(n ) [Blass, 1978], [Habib, Maurer'79] 2 I O(n ) [McConnell, Spinrad'89] I O(n + mα(m; n)) [Spinrad'92], [Cournier, Habib'93] I O(n + m) [McConnell, Spinrad'94], [Cournier, Habib'94] I O(n + m log n) [Habib, Paul, Viennot'99] (factoring permutation), [McConnell, Spinrad'00] I O(n + m) [Capelle, Habib'97] (factoring permutation) [Dahlhaus, Gustedt, McConnell'97], [Tedder, Corneil, Habib, Paul'08] I other many others for variants of modular decomposition Cographs - Totally decomposable graphs 1 2 3 4 Theorem: A graph is a cograph (a P4-free graph ) iff its modular decomposition tree does not contain any prime node b u Series d v Parallel Parallel c e Series Series e Series Series a w Parallel z dParallel y w u v z y x a c b x Cographs - Totally decomposable graphs 1 2 3 4 Theorem: A graph is a cograph (a P4-free graph ) iff its modular decomposition tree does not contain any prime node b u Series d v Parallel Parallel c e Series Series e Series Series a w Parallel z dParallel y w u v z y x a c b x Cographs can be built from the single vertex with the disjoint union and series composition Exercice: prove that cographs are permutation graphs Cographs - Totally decomposable graphs 1 2 3 4 Theorem: A graph is a cograph (a P4-free graph ) iff its modular decomposition tree does not contain any prime node b u Series d v Parallel Parallel c e Series Series e Series Series a w Parallel z dParallel y w u v z y x a c b x Linear time recognition algorithms I incremental [Corneil, Pearl, Stewart'85] I partition refinement [Habib, P.'05] I LexBFS [Bretscher, Corneil, Habib, P.'08] Modular decomposition of undirected graphs Ehrenfeucht et al's modular decomposition algorithm Common Intervals of permutations Modular decomposition of tournaments Kernelization algorithm for FAST Ehrenfeucht et al's modular decomposition algorithm M(G; v) is the modular partition composed by I fvg and the maximal modules of G not containing v.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    93 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us