SlideShare a Scribd company logo
1 of 93
Download to read offline
Algorithmics of Modular
                  decomposition

                          Christophe Paul

                    CNRS - LIRMM, Montpellier France


            Algorithms & Permutations Workshop
                       February 20, 2012



Joint work with: A. Bergeron, S. B´rard, S. Bessy, B.M. Bui Xuan, C.
                                  e
Chauve, D. Corneil, F. Fomin, E. Gioan, M. Habib, A. Perez, S. Saurabh,
S. Thomass´, M. Tedder, L. Viennot. . .
           e
Modular decomposition of undirected graphs


Ehrenfeucht et al’s modular decomposition algorithm


Common Intervals of permutations


Modular decomposition of tournaments


Kernelization algorithm for FAST
Permutations and permutation graphs

           1   2   3   4       5       6   7    8    9    10     11




           7   6   1   5   10          8   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   10          8   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   10          8   11   9    2       3   4



                            5
                                        2        8
                        6                                 10
                1

                                        3
                        7                                 9
                                    4            11

      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


      Does a permutation graph have a unique representation ?
Modules
  A subset of vertices M of a graph G = (V , E ) is a module iff
           ∀x ∈ V  M, either M ⊆ N(x) or M ∩ N(x) = ∅

                             5
                                     2     8
                         6                       10
                1

                                     3
                         7                        9
                                 4          11
Modules
  A subset of vertices M of a graph G = (V , E ) is a module iff
           ∀x ∈ V  M, either M ⊆ N(x) or M ∩ N(x) = ∅

                             5
                                     2     8
                         6                       10
                1

                                     3
                         7                        9
                                 4          11


  Examples of modules:
      connected components
      connected components of G
Modules
  A subset of vertices M of a graph G = (V , E ) is a module iff
           ∀x ∈ V  M, either M ⊆ N(x) or M ∩ N(x) = ∅

                             5
                                     2      8
                         6                         10
                1

                                     3
                         7                         9
                                 4          11


      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
           ∀x ∈ V  M, either M ⊆ N(x) or M ∩ N(x) = ∅

                             5
                                     2      8
                         6                         10
                1

                                     3
                         7                         9
                                 4          11


      A graph (a module) is prime is all its modules are trivial:
      e.g. the P4 .

      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
       Recursively solve the problem on modules
       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
       Recursively solve the problem on modules
       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
       we need a linear time modular decomposition algorithm
Partitive families
   If M and M are two overlapping modules then
Partitive families
   If M and M are two overlapping modules then
       M  M is a module
Partitive families
   If M and M are two overlapping modules then
       M  M is a module
       M ∩ M is a module
Partitive families
   If M and M are two overlapping modules then
       M  M is a module
       M ∩ M is a module
       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 M are two overlapping modules then
         M  M is a module
         M ∩ M is a module
         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
                         2   8
                                               1 2 3 4 5 6 7 8 9 10 11
             6                    10
     1
                                             234           67      8 9 10 11
                         3
             7                    9      1   2 3 4    5   6 7      8 9 10 11
                     4       11


   Strong modules are nested into an inclusion tree: the modular
   decomposition tree MD(G )
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
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


   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.
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                         234             67      8 9 10 11
           7                    9
                   4       11                1   2 3 4      5   6 7      8 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                         234             67      8 9 10 11
           7                    9
                   4       11                1   2 3 4      5   6 7      8 9 10 11



  Observation: If a P4 on {a, b, c, d} overlap a module M, then
                        |M ∩ {a, b, c, d}| = 1
Modular decomposition algorithms

      O(n4 ) [Cowan, James, Stanton’72]
      O(n3 ) [Blass, 1978], [Habib, Maurer’79]
      O(n2 ) [McConnell, Spinrad’89]
Modular decomposition algorithms

      O(n4 ) [Cowan, James, Stanton’72]
      O(n3 ) [Blass, 1978], [Habib, Maurer’79]
      O(n2 ) [McConnell, Spinrad’89]

      O(n + mα(m, n)) [Spinrad’92], [Cournier, Habib’93]
      O(n + m) [McConnell, Spinrad’94], [Cournier, Habib’94]
Modular decomposition algorithms

      O(n4 ) [Cowan, James, Stanton’72]
      O(n3 ) [Blass, 1978], [Habib, Maurer’79]
      O(n2 ) [McConnell, Spinrad’89]

      O(n + mα(m, n)) [Spinrad’92], [Cournier, Habib’93]
      O(n + m) [McConnell, Spinrad’94], [Cournier, Habib’94]

      O(n + m log n) [Habib, Paul, Viennot’99] (factoring
      permutation), [McConnell, Spinrad’00]
Modular decomposition algorithms

      O(n4 ) [Cowan, James, Stanton’72]
      O(n3 ) [Blass, 1978], [Habib, Maurer’79]
      O(n2 ) [McConnell, Spinrad’89]

      O(n + mα(m, n)) [Spinrad’92], [Cournier, Habib’93]
      O(n + m) [McConnell, Spinrad’94], [Cournier, Habib’94]

      O(n + m log n) [Habib, Paul, Viennot’99] (factoring
      permutation), [McConnell, Spinrad’00]

      O(n + m) [Capelle, Habib’97] (factoring permutation)
      [Dahlhaus, Gustedt, McConnell’97], [Tedder, Corneil, Habib,
      Paul’08]

      other many others for variants of modular decomposition
Cographs - Totally decomposable graphs
   Theorem: A graph is a cograph (a P4 -free graph 1 2 3 4)
   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    d       Parallel       y    w              u    v
        z
                   y       x      a                    c     b
        x
Cographs - Totally decomposable graphs
   Theorem: A graph is a cograph (a P4 -free graph 1 2 3 4)
   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    d       Parallel       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
   Theorem: A graph is a cograph (a P4 -free graph 1 2 3 4)
   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    d       Parallel       y    w              u    v
        z
                    y       x     a                    c     b
        x



   Linear time recognition algorithms
       incremental [Corneil, Pearl, Stewart’85]
       partition refinement [Habib, P.’05]
       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
                    {v } and the maximal modules of G not containing v .


                                                                      series


                                             prime                                                parallel                                                                       8
                                                                                                                                                                                 9
                                                                                                                                                                                     8
                                                                                                                                                                                     9   A
                                                                                                                                                                                         @   A
                                                                                                                                                                                             @   C
                                                                                                                                                                                                 B   C
                                                                                                                                                                                                     B
                                                                                                                                                                                                          
                                                                                                                                                                                                         ¡
                                                                                                                                                                                                              
                                                                                                                                                                                                             ¡




          parallel                       series       
                                                      
                                                          
                                                             
                                                                 
                                                                  




                                                                                 series              !   !   #
                                                                                                                #
                                                                                                                 
                                                                                                                                                 4
                                                                                                                                                 5
                                                                                                                                                     4
                                                                                                                                                     5   7
                                                                                                                                                         6   7
                                                                                                                                                             6
                                                                                                                                                                 2
                                                                                                                                                                 3
                                                                                                                                                                     2
                                                                                                                                                                     3
                                                                                                                                                                         0
                                                                                                                                                                         1
                                                                                                                                                                             0
                                                                                                                                                                             1




       series        ¢
                     £
                         ¢
                         £
                             ¨
                             ©
                                 ¨
                                 ©
                                     ¦
                                     §
                                         ¦
                                         §    
                                                 
                                                  
                                                                         
                                                                         
                                                                             
                                                                                         
                                                                                             
                                                                                              
                                                                                                                                 $
                                                                                                                                 %
                                                                                                                                     $
                                                                                                                                     %
                                                                                                                                         (
                                                                                                                                         )
                                                                                                                                             (
                                                                                                                                             )




   v        ¤
            ¥
                ¤
                ¥




                                                                                                                     v   
                                                                                                                         '
                                                                                                                             
                                                                                                                             '




        1. Compute M(G , v )
        2. Compute MD(G/M(G ,v ) )
        3. For each X ∈ M(G , v ) compute MD(G [X ])
Computation of M(G , v ) (1)

   Lemma [MR84] Let P be a modular partition of G = (V , E ).
   X ⊆ P is a module of G/P iff ∪M∈X M is a module of G .

                 5
                         2   8
             6                    10
     1

                         3
             7                    9
                     4       11
Computation of M(G , v ) (1)

   Lemma [MR84] Let P be a modular partition of G = (V , E ).
   X ⊆ P is a module of G/P iff ∪M∈X M is a module of G .


   A vertex x is a splitter for a set S of vertices if
                    ∃y , z ∈ S with xy ∈ S and xz ∈ E  /
   We say that x separate y and z.

                2
                        6
    1     4

                3
                        7
Computation of M(G , v ) (1)

   Lemma [MR84] Let P be a modular partition of G = (V , E ).
   X ⊆ P is a module of G/P iff ∪M∈X M is a module of G .


   A vertex x is a splitter for a set S of vertices if
                    ∃y , z ∈ S with xy ∈ S and xz ∈ E  /
   We say that x separate y and z.

                2
                        6          Lemma If x is a splitter for the set
    1     4                       S, then any module M containing S
                                  must also contain x.
                3
                        7
Computation of M(G , v ) (2)
   Lemma If v is a splitter of a set S, then for any module M ⊆ S
               either M ⊆ S ∩ N(v ) or M ⊆ M ∩ N(v )
Computation of M(G , v ) (2)
   Lemma If v is a splitter of a set S, then for any module M ⊆ S
               either M ⊆ S ∩ N(v ) or M ⊆ M ∩ N(v )
         O(n + m log n) time using vertex partitioning algorihtm



                    N(v)                          N(v)
     v
Computation of M(G , v ) (2)
   Lemma If v is a splitter of a set S, then for any module M ⊆ S
               either M ⊆ S ∩ N(v ) or M ⊆ M ∩ N(v )
         O(n + m log n) time using vertex partitioning algorihtm




     v      x
Computation of M(G , v ) (2)
   Lemma If v is a splitter of a set S, then for any module M ⊆ S
               either M ⊆ S ∩ N(v ) or M ⊆ M ∩ N(v )
         O(n + m log n) time using vertex partitioning algorihtm




     v      x               y
Computation of M(G , v ) (2)
   Lemma If v is a splitter of a set S, then for any module M ⊆ S
               either M ⊆ S ∩ N(v ) or M ⊆ M ∩ N(v )
         O(n + m log n) time using vertex partitioning algorihtm




     v                                       z
Computation of MD(G/M(G ,v ) ) (3)
      The modules of G/M(G ,v ) are linearly nested:
                any non-trivial module contains v




                                             6

                                3   4   5

                           2

                   v   1
Computation of MD(G/M(G ,v ) ) (3)
      The modules of G/M(G ,v ) are linearly nested:
                  any non-trivial module contains v
      The forcing graph F(G , v ) has edge − iff y separates x and v
                                            →
                                           xy


                                                    6
                                                                        5
                                                            4
                                        6

                                                                3
                    3       4   5
                                            6           v
                                                                2
               2
                                                        1
       v   1
                        5           4           3       2           1
Computation of MD(G/M(G ,v ) ) (3)
      The modules of G/M(G ,v ) are linearly nested:
                  any non-trivial module contains v
      The forcing graph F(G , v ) has edge − iff y separates x and v
                                            →
                                           xy


                                                    6
                                                                        5
                                                            4
                                        6

                                                                3
                    3       4   5
                                            6           v
                                                                2
               2
                                                        1
       v   1
                        5           4           3       2           1
Computation of MD(G/M(G ,v ) ) (4)
   Complexity
       [Ehrenfeucht et al.’94] gives a O(n2 ) complexity.
       [MS00]: simple O(n + m log n) vertex partitioning algorithm
       [DGM’01]: O(n + m.α(n, m)) and a more complicated
       O(n + m) implementation.
   Other algorithms
       [CH94] and [MS94]: the first linear algorithms.
       [MS99]: O(n + m) algorithm which extends to transitive
       orientation.
Computation of MD(G/M(G ,v ) ) (4)
   Complexity
       [Ehrenfeucht et al.’94] gives a O(n2 ) complexity.
       [MS00]: simple O(n + m log n) vertex partitioning algorithm
       [DGM’01]: O(n + m.α(n, m)) and a more complicated
       O(n + m) implementation.
   Other algorithms
       [CH94] and [MS94]: the first linear algorithms.
       [MS99]: O(n + m) algorithm which extends to transitive
       orientation.

   [Spinrad’03] The new [linear time] algorithm [MS99] is currently
   too complex to describe easily [...] I hope and believe that in a
   number of years the linear algorithm can be simplified as well.
       [Tedder, Corneil, Habib, P.’08] simple linear time algorithm
Modular decomposition of undirected graphs


Ehrenfeucht et al’s modular decomposition algorithm


Common Intervals of permutations


Modular decomposition of tournaments


Kernelization algorithm for FAST
Back to permutations: common intervals
   In a permutation σ, a set S of consecutive elements is called an
   interval. Likewise a set S is a common interval of several
   permutations σ1 , σ2 . . . if it is an interval for every σi .

     1   2   3   4   5    6   7    8   9   10   11




     7   6   1   5   10   8   11   9   2   3    4
Back to permutations: common intervals
   In a permutation σ, a set S of consecutive elements is called an
   interval. Likewise a set S is a common interval of several
   permutations σ1 , σ2 . . . if it is an interval for every σi .
                                                             5
                                                                     2   8
     1   2   3   4   5    6   7    8   9   10   11
                                                         6                    10
                                                     1

                                                                     3
     7   6   1   5   10   8   11   9   2   3    4        7                    9
                                                                 4       11




   Obs.: common intervals of σ1 , σ2 are not modules of G (σ1 , σ2 )
Back to permutations: common intervals
   In a permutation σ, a set S of consecutive elements is called an
   interval. Likewise a set S is a common interval of several
   permutations σ1 , σ2 . . . if it is an interval for every σi .
                                                             5
                                                                     2   8
     1   2   3   4   5    6   7    8   9   10   11
                                                         6                    10
                                                     1

                                                                     3
     7   6   1   5   10   8   11   9   2   3    4        7                    9
                                                                 4       11




   Obs.: common intervals of σ1 , σ2 are not modules of G (σ1 , σ2 )

         Computation of all common intervals in linear time - O(n2 ) -
         [Uno, Yagura’00]
Back to permutations: common intervals
   In a permutation σ, a set S of consecutive elements is called an
   interval. Likewise a set S is a common interval of several
   permutations σ1 , σ2 . . . if it is an interval for every σi .
                                                             5
                                                                     2   8
     1   2   3   4   5    6   7    8   9   10   11
                                                         6                    10
                                                     1

                                                                     3
     7   6   1   5   10   8   11   9   2   3    4        7                    9
                                                                 4       11




   Obs.: common intervals of σ1 , σ2 are not modules of G (σ1 , σ2 )

   Strong (common) interval doesn’t overlap other common intervals

   Lemma [de Montgolfier] A set S is a strong interval of σ1 and σ2
   iff it is a strong module of the permutation graph G (σ1 , σ2 )
Common intervals (2)
   The family of common intervals is weakly partitive:


            7    1   6    5    4      3   2   9   8   11   10




   if I1 and I2 are two common intervals then
       I1 ∪ I2 is a common interval
       I1 ∩ I2 is a common interval
       I1  I2 and I2  I1 are common intervals
Common intervals (2)
   The family of common intervals is weakly partitive:


            7    1   6       5   4    3   2   9   8   11   10

            7    1       5            3               8

   if I1 and I2 are two common intervals then
       I1 ∪ I2 is a common interval
       I1 ∩ I2 is a common interval
       I1  I2 and I2  I1 are common intervals


   Let I be a partition of [1 . . . n] into common intervals of the
   permutation σ, then we denote by σ/I the quotient permutation
   defined on [1 . . . |I|]
Common intervals (2)
   The family of common intervals is weakly partitive:


            7    1   6       5   4    3   2   9   8   11   10

            4    1       3            2               5

   if I1 and I2 are two common intervals then
       I1 ∪ I2 is a common interval
       I1 ∩ I2 is a common interval
       I1  I2 and I2  I1 are common intervals


   Let I be a partition of [1 . . . n] into common intervals of the
   permutation σ, then we denote by σ/I the quotient permutation
   defined on [1 . . . |I|]
Common intervals (3)
   Theorem Let σ be a permutation on [1, . . . n] and I be the
   partition into maximal common intervals of σ, then either
    1. σ/I = 1|I| - the identity on [1 . . . |I|]
    2. σ/I = 1|I| - the reverse identity on [1 . . . |I|]
    3. σ/I is prime - or simple (does not have non-trivial common
       interval)
Common intervals (3)
   Theorem Let σ be a permutation on [1, . . . n] and I be the
   partition into maximal common intervals of σ, then either
    1. σ/I = 1|I| - the identity on [1 . . . |I|]
    2. σ/I = 1|I| - the reverse identity on [1 . . . |I|]
    3. σ/I is prime - or simple (does not have non-trivial common
       interval)




                   7   1   6   5   4   3   2   9    8   11   10


   Theorem (see e.g. [Bergeron et al.’08])
   The common interval tree can be computed in O(n) time.
Common intervals (4)
   A permutation σ is separable if it does not contains the pattern
                                3142




                  7   1   6   5   4   3   2   9   8   11   10
Common intervals (4)
   A permutation σ is separable if it does not contains the pattern
                                3142
                                                  1       2        3        4
       3 1 4 2 corresponds to the P4




                  7   1   6   5   4   3   2   9       8       11       10
Common intervals (4)
   A permutation σ is separable if it does not contains the pattern
                                3142
                                                  1       2        3        4
       3 1 4 2 corresponds to the P4
       a permutation is separable iff
       its common interval tree does not contains prime nodes
       a permutation is separable iff
       the permutation graph G (σ, 1) is a cograph (P4 -free graph)




                  7   1   6   5   4   3   2   9       8       11       10
Modular decomposition of undirected graphs


Ehrenfeucht et al’s modular decomposition algorithm


Common Intervals of permutations


Modular decomposition of tournaments


Kernelization algorithm for FAST
Modular decomposition of tournaments
           1     2


       8             3




       7             4


           6     5
Modular decomposition of tournaments
              1       2


        8                     3




        7                     4


             6        5




   A module in a tournament is a set S such that for every x ∈ S
                                                             /
       either ∀y ∈ S, x → y       or      ∀y ∈ S, y → x
Modular decomposition of tournaments
              1        2


        8                    3




        7                    4


              6        5




   A tournament is transitive if there exists a permutation σ of V (T )
   with no backward arcs

   Theorem: Let T be a tournament and M(T ) be the modular
   partition into maximal strong modules, then
    1. either T/M(T ) is transitive - contains no backward arc
    2. or T/M(T ) is prime
Modular decomposition of tournaments
              1        2


        8                    3




        7                    4


              6        5
                                 1   2    3   4    5   6    7   8



   A tournament is transitive if there exists a permutation σ of V (T )
   with no backward arcs

   Theorem: Let T be a tournament and M(T ) be the modular
   partition into maximal strong modules, then
    1. either T/M(T ) is transitive - contains no backward arc
    2. or T/M(T ) is prime
Modular decomposition algorithm for tournaments
   A factoring permutation of a tournament T (or a graph) is a
   permutation σ of its vertices such that
             every (strong) module of T is an interval of σ
Modular decomposition algorithm for tournaments
   A factoring permutation of a tournament T (or a graph) is a
   permutation σ of its vertices such that
             every (strong) module of T is an interval of σ

       Factoring permutation via a partition refinement algorithm in
       linear time [de Mongolfier’03]




            1     2      3      4      5      6      7     8
Modular decomposition algorithm for tournaments
   A factoring permutation of a tournament T (or a graph) is a
   permutation σ of its vertices such that
             every (strong) module of T is an interval of σ

       Factoring permutation via a partition refinement algorithm in
       linear time [de Mongolfier’03]




            3     4      5      6      1      2      7     8
Modular decomposition algorithm for tournaments
   A factoring permutation of a tournament T (or a graph) is a
   permutation σ of its vertices such that
             every (strong) module of T is an interval of σ

       Factoring permutation via a partition refinement algorithm in
       linear time [de Mongolfier’03]




            4     3      5      6      1      2      8     7
Modular decomposition algorithm for tournaments
   A factoring permutation of a tournament T (or a graph) is a
   permutation σ of its vertices such that
             every (strong) module of T is an interval of σ

       Factoring permutation via a partition refinement algorithm in
       linear time [de Mongolfier’03]




            4     3      5      6      1      2      8     7
Modular decomposition algorithm for tournaments
   A factoring permutation of a tournament T (or a graph) is a
   permutation σ of its vertices such that
             every (strong) module of T is an interval of σ

       Factoring permutation via a partition refinement algorithm in
       linear time [de Mongolfier’03]




            4     3      5      6      1      2      8     7




       Modular decomposition tree from a factoring permutation in
       linear time [Capelle’97]
Modular decomposition of undirected graphs


Ehrenfeucht et al’s modular decomposition algorithm


Common Intervals of permutations


Modular decomposition of tournaments


Kernelization algorithm for FAST
FAST: Feedback Arc Set in Tournament
      A tournament T and an integer k
      Find a set of at most k arcs whose reversal transform T into a
      transitive tournament
FAST: Feedback Arc Set in Tournament
      A tournament T and an integer k
      Find a permutation σ of the vertices with at most k backward
      edges




          1      2      3     4      5      6      7      8
FAST: Feedback Arc Set in Tournament
      A tournament T and an integer k
      Find a permutation σ of the vertices with at most k backward
      edges




          1      2      3      4      5      6     7      8




      NP-Complete [Alon’06] [Charbit et al.’07]
      FTP [Raman, Saurabh’06] [Alon et al.’09]
      (1 + )-approximation scheme [Kenyon-Mathieu, Schudy’07]
FAST (2)
  Obs.: A tournament is transitive iff there is no (directed) triangle
                              1         2


                       8                       3




                       7                       4


                             6          5
FAST (2)
  Obs.: A tournament is transitive iff there is no (directed) triangle
                              1         2


                       8                       3




                       7                       4


                             6          5
FAST (2)
  Obs.: A tournament is transitive iff there is no (directed) triangle
                              1         2


                       8                       3




                       7                       4


                             6          5
FAST (2)
  Obs.: A tournament is transitive iff there is no (directed) triangle


  Rule 1 [irrelevant vertex] If a vertex v is not contained in any
  triangle, then delete v




  Rule 2 [sunflower] If there is an arc
  belonging to more that k distinct triangles,
  then reverse it and decrease k by 1
FAST (2)
   Obs.: A tournament is transitive iff there is no (directed) triangle


   Rule 1 [irrelevant vertex] If a vertex v is not contained in any
   triangle, then delete v

           A reduced tournament contains no source nor sink


  Rule 2 [sunflower] If there is an arc
  belonging to more that k distinct triangles,
  then reverse it and decrease k by 1


 The span s(− ) of a backward arc of a reduced tournament is
            →
            uv                                                        2k + 2
FAST (3)
  Rule 3 [acyclic module] Let M be a maximal acyclic module.
  If there are at most p = |M| arcs from N + (M) to N − (M),
  then reverse all these arcs and decrease k by p.
FAST (3)
  Rule 3 [acyclic module] Let M be a maximal acyclic module.
  If there are at most p = |M| arcs from N + (M) to N − (M),
  then reverse all these arcs and decrease k by p.
FAST (3)
  Rule 3 [acyclic module] Let M be a maximal acyclic module.
  If there are at most p = |M| arcs from N + (M) to N − (M),
  then reverse all these arcs and decrease k by p.


                      acyclic module Rule ⇒
                     ti2        s(− )
                                  →
                                  uv




                                   ti
FAST (3)
  Rule 3 [acyclic module] Let M be a maximal acyclic module.
  If there are at most p = |M| arcs from N + (M) to N − (M),
  then reverse all these arcs and decrease k by p.


                         sunflower Rule ⇒
                   ti2        s(− )
                                →
                                uv      k(2k + 2)
FAST (3)
  Rule 3 [acyclic module] Let M be a maximal acyclic module.
  If there are at most p = |M| arcs from N + (M) to N − (M),
  then reverse all these arcs and decrease k by p.


                          sunflower Rule ⇒
                    ti2        s(− )
                                 →
                                 uv      k(2k + 2)




  Theorem [Bessy et al.’09]: Every instance (T , k) of k-FAST can
  be reduced in polynomial time to an equivalent instance (T , k )
  such that                            √
               |T | 2k + ti = O(k k) and k             k
Kernelization algorithm

                                   poly time
                         (G,k)                        (G’,k’)


                                                  |G’¦=f(k)


   Given a parameterized instance (I, k) of a problem, a kernelization
   algorithm computes in polytime an equivalent instance (I , k ) st.
                   k = f (k)     and           |I |        g (k)
Kernelization algorithm

                                   poly time
                         (G,k)                        (G’,k’)


                                                  |G’¦=f(k)


   Given a parameterized instance (I, k) of a problem, a kernelization
   algorithm computes in polytime an equivalent instance (I , k ) st.
                   k = f (k)     and           |I |        g (k)

                         √
       we described a O(k k)-vertex kernel for FAST based on
       modular decomposition
       best known result: O(k)-vertex kernel ([Bessy et al.’09], [P.,
       Perez, Thomass´’11])
                      e
Kernelization algorithm

                                   poly time
                         (G,k)                        (G’,k’)


                                                  |G’¦=f(k)


   Given a parameterized instance (I, k) of a problem, a kernelization
   algorithm computes in polytime an equivalent instance (I , k ) st.
                   k = f (k)     and           |I |        g (k)


   Other modular decomposition kernelizations:
       O(k 2 )-vertex kernel for cluster editing
       O(k 3 )-vertex kernel for cograph editing
       also for min flip consensus tree, closest 3-leaf
       power. . .
Some conclusions

      Modular decomposition plays an important role in the context
      of many graph classes
          permutation graphs, interval graphs, comparability graphs . . .
          even perfect graph)
Some conclusions

      Modular decomposition plays an important role in the context
      of many graph classes
          permutation graphs, interval graphs, comparability graphs . . .
          even perfect graph)

      Many examples of partitive (weakly partitive) families are
      known in various contexts
          modules in undirected graphs, digraphs, hypergraphs
          common interval of permutations
Some conclusions

      Modular decomposition plays an important role in the context
      of many graph classes
          permutation graphs, interval graphs, comparability graphs . . .
          even perfect graph)

      Many examples of partitive (weakly partitive) families are
      known in various contexts
          modules in undirected graphs, digraphs, hypergraphs
          common interval of permutations

      Various generalizations
          bimodular decomposition (module adapted to bipartite graphs)
          bipartitive families : eg. split decomposition of graphs -
          O(n + α(n, m).m) circle graph recognition
          crossing families, union-difference families of sets. . .
          clique-width (cographs are clique-widht 2 graphs), rankwidth
To learn / read more

      Habib and P. ”A survey of the algorithmic aspects of modular
      decomposition” in Computer Science Review 4:41-59, 2010
To learn / read more

      Habib and P. ”A survey of the algorithmic aspects of modular
      decomposition” in Computer Science Review 4:41-59, 2010

      F. de Montgolfier, ”D´composition modulaire de graphes,
                             e
      th´orie, extensions et algorithmes”, Phd Thesis (in French),
        e
      2003
      B.M. Bui Xuan, ”Tree-representation of set families in graph
      decompositions and efficient algorithms”, Phd Thesis, 2008
To learn / read more

      Habib and P. ”A survey of the algorithmic aspects of modular
      decomposition” in Computer Science Review 4:41-59, 2010

      F. de Montgolfier, ”D´composition modulaire de graphes,
                             e
      th´orie, extensions et algorithmes”, Phd Thesis (in French),
        e
      2003
      B.M. Bui Xuan, ”Tree-representation of set families in graph
      decompositions and efficient algorithms”, Phd Thesis, 2008
      C. Crespelle, ”Repr´sentations dynamiques de graphes”, PhD
                         e
      Thesis (in French), 2007           attend I. Todinca’s talk !!!
To learn / read more

      Habib and P. ”A survey of the algorithmic aspects of modular
      decomposition” in Computer Science Review 4:41-59, 2010

      F. de Montgolfier, ”D´composition modulaire de graphes,
                             e
      th´orie, extensions et algorithmes”, Phd Thesis (in French),
        e
      2003
      B.M. Bui Xuan, ”Tree-representation of set families in graph
      decompositions and efficient algorithms”, Phd Thesis, 2008
      C. Crespelle, ”Repr´sentations dynamiques de graphes”, PhD
                         e
      Thesis (in French), 2007           attend I. Todinca’s talk !!!

      Common intervals and sorting by reversal:
                                         attend M. Bouvel’s talk!!!

More Related Content

What's hot

Lesson 11: Implicit Differentiation
Lesson 11: Implicit DifferentiationLesson 11: Implicit Differentiation
Lesson 11: Implicit DifferentiationMatthew Leingang
 
AlgoPerm2012 - 07 Mathilde Bouvel
AlgoPerm2012 - 07 Mathilde BouvelAlgoPerm2012 - 07 Mathilde Bouvel
AlgoPerm2012 - 07 Mathilde BouvelAlgoPerm 2012
 
WABI2012-SuccinctMultibitTree
WABI2012-SuccinctMultibitTreeWABI2012-SuccinctMultibitTree
WABI2012-SuccinctMultibitTreeYasuo Tabei
 
Lesson 28: Integration by Subsitution
Lesson 28: Integration by SubsitutionLesson 28: Integration by Subsitution
Lesson 28: Integration by SubsitutionMatthew Leingang
 
Hmm Tutorial
Hmm TutorialHmm Tutorial
Hmm Tutorialjefftang
 
Mlab2012 tabei 20120806
Mlab2012 tabei 20120806Mlab2012 tabei 20120806
Mlab2012 tabei 20120806Yasuo Tabei
 
Wavelets for computer_graphics_stollnitz
Wavelets for computer_graphics_stollnitzWavelets for computer_graphics_stollnitz
Wavelets for computer_graphics_stollnitzJuliocaramba
 
D I G I T A L C O N T R O L S Y S T E M S J N T U M O D E L P A P E R{Www
D I G I T A L  C O N T R O L  S Y S T E M S  J N T U  M O D E L  P A P E R{WwwD I G I T A L  C O N T R O L  S Y S T E M S  J N T U  M O D E L  P A P E R{Www
D I G I T A L C O N T R O L S Y S T E M S J N T U M O D E L P A P E R{Wwwguest3f9c6b
 

What's hot (9)

Lesson 11: Implicit Differentiation
Lesson 11: Implicit DifferentiationLesson 11: Implicit Differentiation
Lesson 11: Implicit Differentiation
 
AlgoPerm2012 - 07 Mathilde Bouvel
AlgoPerm2012 - 07 Mathilde BouvelAlgoPerm2012 - 07 Mathilde Bouvel
AlgoPerm2012 - 07 Mathilde Bouvel
 
WABI2012-SuccinctMultibitTree
WABI2012-SuccinctMultibitTreeWABI2012-SuccinctMultibitTree
WABI2012-SuccinctMultibitTree
 
Lesson 28: Integration by Subsitution
Lesson 28: Integration by SubsitutionLesson 28: Integration by Subsitution
Lesson 28: Integration by Subsitution
 
Aleksander gegov
Aleksander gegovAleksander gegov
Aleksander gegov
 
Hmm Tutorial
Hmm TutorialHmm Tutorial
Hmm Tutorial
 
Mlab2012 tabei 20120806
Mlab2012 tabei 20120806Mlab2012 tabei 20120806
Mlab2012 tabei 20120806
 
Wavelets for computer_graphics_stollnitz
Wavelets for computer_graphics_stollnitzWavelets for computer_graphics_stollnitz
Wavelets for computer_graphics_stollnitz
 
D I G I T A L C O N T R O L S Y S T E M S J N T U M O D E L P A P E R{Www
D I G I T A L  C O N T R O L  S Y S T E M S  J N T U  M O D E L  P A P E R{WwwD I G I T A L  C O N T R O L  S Y S T E M S  J N T U  M O D E L  P A P E R{Www
D I G I T A L C O N T R O L S Y S T E M S J N T U M O D E L P A P E R{Www
 

Similar to AlgoPerm2012 - 04 Christophe Paul

8th Alg - Lesson 5.4
8th Alg - Lesson 5.48th Alg - Lesson 5.4
8th Alg - Lesson 5.4jdurst65
 
Nov 24 Parallel And Perpendicular
Nov 24 Parallel And PerpendicularNov 24 Parallel And Perpendicular
Nov 24 Parallel And PerpendicularDMCI
 
Parallel And Perpendicular Nov 24
Parallel And Perpendicular Nov 24Parallel And Perpendicular Nov 24
Parallel And Perpendicular Nov 24DMCI
 
Interesting applications of graph theory
Interesting applications of graph theoryInteresting applications of graph theory
Interesting applications of graph theoryTech_MX
 
Bi-Point-Determining Graphs
Bi-Point-Determining GraphsBi-Point-Determining Graphs
Bi-Point-Determining GraphsJi Li
 
Day 14 graphing linear equations day 2
Day 14 graphing linear equations day 2Day 14 graphing linear equations day 2
Day 14 graphing linear equations day 2Erik Tjersland
 
Maritaferreira Artwork2007
Maritaferreira Artwork2007Maritaferreira Artwork2007
Maritaferreira Artwork2007Marita Ferreira
 

Similar to AlgoPerm2012 - 04 Christophe Paul (10)

8th Alg - Lesson 5.4
8th Alg - Lesson 5.48th Alg - Lesson 5.4
8th Alg - Lesson 5.4
 
Nov 24 Parallel And Perpendicular
Nov 24 Parallel And PerpendicularNov 24 Parallel And Perpendicular
Nov 24 Parallel And Perpendicular
 
Parallel And Perpendicular Nov 24
Parallel And Perpendicular Nov 24Parallel And Perpendicular Nov 24
Parallel And Perpendicular Nov 24
 
Interesting applications of graph theory
Interesting applications of graph theoryInteresting applications of graph theory
Interesting applications of graph theory
 
Bi-Point-Determining Graphs
Bi-Point-Determining GraphsBi-Point-Determining Graphs
Bi-Point-Determining Graphs
 
Maximum and minimum
Maximum and minimumMaximum and minimum
Maximum and minimum
 
Day 14 graphing linear equations day 2
Day 14 graphing linear equations day 2Day 14 graphing linear equations day 2
Day 14 graphing linear equations day 2
 
Maritaferreira Artwork2007
Maritaferreira Artwork2007Maritaferreira Artwork2007
Maritaferreira Artwork2007
 
Day 11 slope
Day 11 slopeDay 11 slope
Day 11 slope
 
1.2.4
1.2.41.2.4
1.2.4
 

More from AlgoPerm 2012

AlgoPerm2012 - 14 Jean-Luc Baril
AlgoPerm2012 - 14 Jean-Luc BarilAlgoPerm2012 - 14 Jean-Luc Baril
AlgoPerm2012 - 14 Jean-Luc BarilAlgoPerm 2012
 
AlgoPerm2012 - 13 Laurent Bulteau
AlgoPerm2012 - 13 Laurent BulteauAlgoPerm2012 - 13 Laurent Bulteau
AlgoPerm2012 - 13 Laurent BulteauAlgoPerm 2012
 
AlgoPerm2012 - 12 Anthony Labarre
AlgoPerm2012 - 12 Anthony LabarreAlgoPerm2012 - 12 Anthony Labarre
AlgoPerm2012 - 12 Anthony LabarreAlgoPerm 2012
 
AlgoPerm2012 - 11 Dominique Rossin
AlgoPerm2012 - 11 Dominique RossinAlgoPerm2012 - 11 Dominique Rossin
AlgoPerm2012 - 11 Dominique RossinAlgoPerm 2012
 
AlgoPerm2012 - 10 Xavier Goaoc
AlgoPerm2012 - 10 Xavier GoaocAlgoPerm2012 - 10 Xavier Goaoc
AlgoPerm2012 - 10 Xavier GoaocAlgoPerm 2012
 
AlgoPerm2012 - 09 Vincent Pilaud
AlgoPerm2012 - 09 Vincent PilaudAlgoPerm2012 - 09 Vincent Pilaud
AlgoPerm2012 - 09 Vincent PilaudAlgoPerm 2012
 
AlgoPerm2012 - 08 Jean Cardinal
AlgoPerm2012 - 08 Jean CardinalAlgoPerm2012 - 08 Jean Cardinal
AlgoPerm2012 - 08 Jean CardinalAlgoPerm 2012
 
AlgoPerm2012 - 06 Mireille Bousquet-Mélou
AlgoPerm2012 - 06 Mireille Bousquet-MélouAlgoPerm2012 - 06 Mireille Bousquet-Mélou
AlgoPerm2012 - 06 Mireille Bousquet-MélouAlgoPerm 2012
 
AlgoPerm2012 - 05 Ioan Todinca
AlgoPerm2012 - 05 Ioan TodincaAlgoPerm2012 - 05 Ioan Todinca
AlgoPerm2012 - 05 Ioan TodincaAlgoPerm 2012
 
AlgoPerm2012 - 03 Olivier Hudry
AlgoPerm2012 - 03 Olivier HudryAlgoPerm2012 - 03 Olivier Hudry
AlgoPerm2012 - 03 Olivier HudryAlgoPerm 2012
 
AlgoPerm2012 - 02 Rolf Niedermeier
AlgoPerm2012 - 02 Rolf NiedermeierAlgoPerm2012 - 02 Rolf Niedermeier
AlgoPerm2012 - 02 Rolf NiedermeierAlgoPerm 2012
 
AlgoPerm2012 - 01 Rida Laraki
AlgoPerm2012 - 01 Rida LarakiAlgoPerm2012 - 01 Rida Laraki
AlgoPerm2012 - 01 Rida LarakiAlgoPerm 2012
 

More from AlgoPerm 2012 (12)

AlgoPerm2012 - 14 Jean-Luc Baril
AlgoPerm2012 - 14 Jean-Luc BarilAlgoPerm2012 - 14 Jean-Luc Baril
AlgoPerm2012 - 14 Jean-Luc Baril
 
AlgoPerm2012 - 13 Laurent Bulteau
AlgoPerm2012 - 13 Laurent BulteauAlgoPerm2012 - 13 Laurent Bulteau
AlgoPerm2012 - 13 Laurent Bulteau
 
AlgoPerm2012 - 12 Anthony Labarre
AlgoPerm2012 - 12 Anthony LabarreAlgoPerm2012 - 12 Anthony Labarre
AlgoPerm2012 - 12 Anthony Labarre
 
AlgoPerm2012 - 11 Dominique Rossin
AlgoPerm2012 - 11 Dominique RossinAlgoPerm2012 - 11 Dominique Rossin
AlgoPerm2012 - 11 Dominique Rossin
 
AlgoPerm2012 - 10 Xavier Goaoc
AlgoPerm2012 - 10 Xavier GoaocAlgoPerm2012 - 10 Xavier Goaoc
AlgoPerm2012 - 10 Xavier Goaoc
 
AlgoPerm2012 - 09 Vincent Pilaud
AlgoPerm2012 - 09 Vincent PilaudAlgoPerm2012 - 09 Vincent Pilaud
AlgoPerm2012 - 09 Vincent Pilaud
 
AlgoPerm2012 - 08 Jean Cardinal
AlgoPerm2012 - 08 Jean CardinalAlgoPerm2012 - 08 Jean Cardinal
AlgoPerm2012 - 08 Jean Cardinal
 
AlgoPerm2012 - 06 Mireille Bousquet-Mélou
AlgoPerm2012 - 06 Mireille Bousquet-MélouAlgoPerm2012 - 06 Mireille Bousquet-Mélou
AlgoPerm2012 - 06 Mireille Bousquet-Mélou
 
AlgoPerm2012 - 05 Ioan Todinca
AlgoPerm2012 - 05 Ioan TodincaAlgoPerm2012 - 05 Ioan Todinca
AlgoPerm2012 - 05 Ioan Todinca
 
AlgoPerm2012 - 03 Olivier Hudry
AlgoPerm2012 - 03 Olivier HudryAlgoPerm2012 - 03 Olivier Hudry
AlgoPerm2012 - 03 Olivier Hudry
 
AlgoPerm2012 - 02 Rolf Niedermeier
AlgoPerm2012 - 02 Rolf NiedermeierAlgoPerm2012 - 02 Rolf Niedermeier
AlgoPerm2012 - 02 Rolf Niedermeier
 
AlgoPerm2012 - 01 Rida Laraki
AlgoPerm2012 - 01 Rida LarakiAlgoPerm2012 - 01 Rida Laraki
AlgoPerm2012 - 01 Rida Laraki
 

Recently uploaded

Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfadityarao40181
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementmkooblal
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentInMediaRes1
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaVirag Sontakke
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupJonathanParaisoCruz
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,Virag Sontakke
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxAvyJaneVismanos
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxEyham Joco
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 

Recently uploaded (20)

Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdf
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of management
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media Component
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of India
 
ESSENTIAL of (CS/IT/IS) class 06 (database)
ESSENTIAL of (CS/IT/IS) class 06 (database)ESSENTIAL of (CS/IT/IS) class 06 (database)
ESSENTIAL of (CS/IT/IS) class 06 (database)
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized Group
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptx
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptx
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 

AlgoPerm2012 - 04 Christophe Paul

  • 1. Algorithmics of Modular decomposition Christophe Paul CNRS - LIRMM, Montpellier France Algorithms & Permutations Workshop February 20, 2012 Joint work with: A. Bergeron, S. B´rard, S. Bessy, B.M. Bui Xuan, C. e Chauve, D. Corneil, F. Fomin, E. Gioan, M. Habib, A. Perez, S. Saurabh, S. Thomass´, M. Tedder, L. Viennot. . . e
  • 2. Modular decomposition of undirected graphs Ehrenfeucht et al’s modular decomposition algorithm Common Intervals of permutations Modular decomposition of tournaments Kernelization algorithm for FAST
  • 3. Permutations and permutation graphs 1 2 3 4 5 6 7 8 9 10 11 7 6 1 5 10 8 11 9 2 3 4 5 2 8 6 10 1 3 7 9 4 11
  • 4. Permutations and permutation graphs 1 2 3 4 5 6 7 8 9 10 11 7 6 1 5 10 8 11 9 2 3 4 5 2 8 6 10 1 3 7 9 4 11
  • 5. Permutations and permutation graphs 1 2 3 4 5 6 7 8 9 10 11 7 6 1 5 10 8 11 9 2 3 4 5 2 8 6 10 1 3 7 9 4 11 Does a permutation graph have a unique representation ?
  • 6. 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 Does a permutation graph have a unique representation ?
  • 7. Modules A subset of vertices M of a graph G = (V , E ) is a module iff ∀x ∈ V M, either M ⊆ N(x) or M ∩ N(x) = ∅ 5 2 8 6 10 1 3 7 9 4 11
  • 8. Modules A subset of vertices M of a graph G = (V , E ) is a module iff ∀x ∈ V M, either M ⊆ N(x) or M ∩ N(x) = ∅ 5 2 8 6 10 1 3 7 9 4 11 Examples of modules: connected components connected components of G
  • 9. Modules A subset of vertices M of a graph G = (V , E ) is a module iff ∀x ∈ V M, either M ⊆ N(x) or M ∩ N(x) = ∅ 5 2 8 6 10 1 3 7 9 4 11 A graph (a module) is prime is all its modules are trivial: e.g. the P4 .
  • 10. Modules A subset of vertices M of a graph G = (V , E ) is a module iff ∀x ∈ V M, either M ⊆ N(x) or M ∩ N(x) = ∅ 5 2 8 6 10 1 3 7 9 4 11 A graph (a module) is prime is all its modules are trivial: e.g. the P4 . A graph (a module) is degenerate if every subset of vertices is a module: cliques and stables.
  • 11. Permutation graph recognition Theorem [Gallai’67] A permutation graph has a unique representation (up to reversal) iff it is prime.
  • 12. Permutation graph recognition Theorem [Gallai’67] A permutation graph has a unique representation (up to reversal) iff it is prime. Recognition algorithm Recursively solve the problem on modules Solve the prime case (with linear time transitive orientation algorithm)
  • 13. Permutation graph recognition Theorem [Gallai’67] A permutation graph has a unique representation (up to reversal) iff it is prime. Recognition algorithm Recursively solve the problem on modules 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 we need a linear time modular decomposition algorithm
  • 14. Partitive families If M and M are two overlapping modules then
  • 15. Partitive families If M and M are two overlapping modules then M M is a module
  • 16. Partitive families If M and M are two overlapping modules then M M is a module M ∩ M is a module
  • 17. Partitive families If M and M are two overlapping modules then M M is a module M ∩ M is a module 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
  • 18. Partitive families If M and M are two overlapping modules then M M is a module M ∩ M is a module 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 2 8 1 2 3 4 5 6 7 8 9 10 11 6 10 1 234 67 8 9 10 11 3 7 9 1 2 3 4 5 6 7 8 9 10 11 4 11 Strong modules are nested into an inclusion tree: the modular decomposition tree MD(G )
  • 19. 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
  • 20. 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 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.
  • 21. 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
  • 22. 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 234 67 8 9 10 11 7 9 4 11 1 2 3 4 5 6 7 8 9 10 11
  • 23. 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 234 67 8 9 10 11 7 9 4 11 1 2 3 4 5 6 7 8 9 10 11 Observation: If a P4 on {a, b, c, d} overlap a module M, then |M ∩ {a, b, c, d}| = 1
  • 24. Modular decomposition algorithms O(n4 ) [Cowan, James, Stanton’72] O(n3 ) [Blass, 1978], [Habib, Maurer’79] O(n2 ) [McConnell, Spinrad’89]
  • 25. Modular decomposition algorithms O(n4 ) [Cowan, James, Stanton’72] O(n3 ) [Blass, 1978], [Habib, Maurer’79] O(n2 ) [McConnell, Spinrad’89] O(n + mα(m, n)) [Spinrad’92], [Cournier, Habib’93] O(n + m) [McConnell, Spinrad’94], [Cournier, Habib’94]
  • 26. Modular decomposition algorithms O(n4 ) [Cowan, James, Stanton’72] O(n3 ) [Blass, 1978], [Habib, Maurer’79] O(n2 ) [McConnell, Spinrad’89] O(n + mα(m, n)) [Spinrad’92], [Cournier, Habib’93] O(n + m) [McConnell, Spinrad’94], [Cournier, Habib’94] O(n + m log n) [Habib, Paul, Viennot’99] (factoring permutation), [McConnell, Spinrad’00]
  • 27. Modular decomposition algorithms O(n4 ) [Cowan, James, Stanton’72] O(n3 ) [Blass, 1978], [Habib, Maurer’79] O(n2 ) [McConnell, Spinrad’89] O(n + mα(m, n)) [Spinrad’92], [Cournier, Habib’93] O(n + m) [McConnell, Spinrad’94], [Cournier, Habib’94] O(n + m log n) [Habib, Paul, Viennot’99] (factoring permutation), [McConnell, Spinrad’00] O(n + m) [Capelle, Habib’97] (factoring permutation) [Dahlhaus, Gustedt, McConnell’97], [Tedder, Corneil, Habib, Paul’08] other many others for variants of modular decomposition
  • 28. Cographs - Totally decomposable graphs Theorem: A graph is a cograph (a P4 -free graph 1 2 3 4) 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 d Parallel y w u v z y x a c b x
  • 29. Cographs - Totally decomposable graphs Theorem: A graph is a cograph (a P4 -free graph 1 2 3 4) 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 d Parallel 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
  • 30. Cographs - Totally decomposable graphs Theorem: A graph is a cograph (a P4 -free graph 1 2 3 4) 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 d Parallel y w u v z y x a c b x Linear time recognition algorithms incremental [Corneil, Pearl, Stewart’85] partition refinement [Habib, P.’05] LexBFS [Bretscher, Corneil, Habib, P.’08]
  • 31. Modular decomposition of undirected graphs Ehrenfeucht et al’s modular decomposition algorithm Common Intervals of permutations Modular decomposition of tournaments Kernelization algorithm for FAST
  • 32. Ehrenfeucht et al’s modular decomposition algorithm M(G , v ) is the modular partition composed by {v } and the maximal modules of G not containing v . series prime parallel 8 9 8 9 A @ A @ C B C B   ¡   ¡ parallel series series ! ! # # 4 5 4 5 7 6 7 6 2 3 2 3 0 1 0 1 series ¢ £ ¢ £ ¨ © ¨ © ¦ § ¦ § $ % $ % ( ) ( ) v ¤ ¥ ¤ ¥ v ' ' 1. Compute M(G , v ) 2. Compute MD(G/M(G ,v ) ) 3. For each X ∈ M(G , v ) compute MD(G [X ])
  • 33. Computation of M(G , v ) (1) Lemma [MR84] Let P be a modular partition of G = (V , E ). X ⊆ P is a module of G/P iff ∪M∈X M is a module of G . 5 2 8 6 10 1 3 7 9 4 11
  • 34. Computation of M(G , v ) (1) Lemma [MR84] Let P be a modular partition of G = (V , E ). X ⊆ P is a module of G/P iff ∪M∈X M is a module of G . A vertex x is a splitter for a set S of vertices if ∃y , z ∈ S with xy ∈ S and xz ∈ E / We say that x separate y and z. 2 6 1 4 3 7
  • 35. Computation of M(G , v ) (1) Lemma [MR84] Let P be a modular partition of G = (V , E ). X ⊆ P is a module of G/P iff ∪M∈X M is a module of G . A vertex x is a splitter for a set S of vertices if ∃y , z ∈ S with xy ∈ S and xz ∈ E / We say that x separate y and z. 2 6 Lemma If x is a splitter for the set 1 4 S, then any module M containing S must also contain x. 3 7
  • 36. Computation of M(G , v ) (2) Lemma If v is a splitter of a set S, then for any module M ⊆ S either M ⊆ S ∩ N(v ) or M ⊆ M ∩ N(v )
  • 37. Computation of M(G , v ) (2) Lemma If v is a splitter of a set S, then for any module M ⊆ S either M ⊆ S ∩ N(v ) or M ⊆ M ∩ N(v ) O(n + m log n) time using vertex partitioning algorihtm N(v) N(v) v
  • 38. Computation of M(G , v ) (2) Lemma If v is a splitter of a set S, then for any module M ⊆ S either M ⊆ S ∩ N(v ) or M ⊆ M ∩ N(v ) O(n + m log n) time using vertex partitioning algorihtm v x
  • 39. Computation of M(G , v ) (2) Lemma If v is a splitter of a set S, then for any module M ⊆ S either M ⊆ S ∩ N(v ) or M ⊆ M ∩ N(v ) O(n + m log n) time using vertex partitioning algorihtm v x y
  • 40. Computation of M(G , v ) (2) Lemma If v is a splitter of a set S, then for any module M ⊆ S either M ⊆ S ∩ N(v ) or M ⊆ M ∩ N(v ) O(n + m log n) time using vertex partitioning algorihtm v z
  • 41. Computation of MD(G/M(G ,v ) ) (3) The modules of G/M(G ,v ) are linearly nested: any non-trivial module contains v 6 3 4 5 2 v 1
  • 42. Computation of MD(G/M(G ,v ) ) (3) The modules of G/M(G ,v ) are linearly nested: any non-trivial module contains v The forcing graph F(G , v ) has edge − iff y separates x and v → xy 6 5 4 6 3 3 4 5 6 v 2 2 1 v 1 5 4 3 2 1
  • 43. Computation of MD(G/M(G ,v ) ) (3) The modules of G/M(G ,v ) are linearly nested: any non-trivial module contains v The forcing graph F(G , v ) has edge − iff y separates x and v → xy 6 5 4 6 3 3 4 5 6 v 2 2 1 v 1 5 4 3 2 1
  • 44. Computation of MD(G/M(G ,v ) ) (4) Complexity [Ehrenfeucht et al.’94] gives a O(n2 ) complexity. [MS00]: simple O(n + m log n) vertex partitioning algorithm [DGM’01]: O(n + m.α(n, m)) and a more complicated O(n + m) implementation. Other algorithms [CH94] and [MS94]: the first linear algorithms. [MS99]: O(n + m) algorithm which extends to transitive orientation.
  • 45. Computation of MD(G/M(G ,v ) ) (4) Complexity [Ehrenfeucht et al.’94] gives a O(n2 ) complexity. [MS00]: simple O(n + m log n) vertex partitioning algorithm [DGM’01]: O(n + m.α(n, m)) and a more complicated O(n + m) implementation. Other algorithms [CH94] and [MS94]: the first linear algorithms. [MS99]: O(n + m) algorithm which extends to transitive orientation. [Spinrad’03] The new [linear time] algorithm [MS99] is currently too complex to describe easily [...] I hope and believe that in a number of years the linear algorithm can be simplified as well. [Tedder, Corneil, Habib, P.’08] simple linear time algorithm
  • 46. Modular decomposition of undirected graphs Ehrenfeucht et al’s modular decomposition algorithm Common Intervals of permutations Modular decomposition of tournaments Kernelization algorithm for FAST
  • 47. Back to permutations: common intervals In a permutation σ, a set S of consecutive elements is called an interval. Likewise a set S is a common interval of several permutations σ1 , σ2 . . . if it is an interval for every σi . 1 2 3 4 5 6 7 8 9 10 11 7 6 1 5 10 8 11 9 2 3 4
  • 48. Back to permutations: common intervals In a permutation σ, a set S of consecutive elements is called an interval. Likewise a set S is a common interval of several permutations σ1 , σ2 . . . if it is an interval for every σi . 5 2 8 1 2 3 4 5 6 7 8 9 10 11 6 10 1 3 7 6 1 5 10 8 11 9 2 3 4 7 9 4 11 Obs.: common intervals of σ1 , σ2 are not modules of G (σ1 , σ2 )
  • 49. Back to permutations: common intervals In a permutation σ, a set S of consecutive elements is called an interval. Likewise a set S is a common interval of several permutations σ1 , σ2 . . . if it is an interval for every σi . 5 2 8 1 2 3 4 5 6 7 8 9 10 11 6 10 1 3 7 6 1 5 10 8 11 9 2 3 4 7 9 4 11 Obs.: common intervals of σ1 , σ2 are not modules of G (σ1 , σ2 ) Computation of all common intervals in linear time - O(n2 ) - [Uno, Yagura’00]
  • 50. Back to permutations: common intervals In a permutation σ, a set S of consecutive elements is called an interval. Likewise a set S is a common interval of several permutations σ1 , σ2 . . . if it is an interval for every σi . 5 2 8 1 2 3 4 5 6 7 8 9 10 11 6 10 1 3 7 6 1 5 10 8 11 9 2 3 4 7 9 4 11 Obs.: common intervals of σ1 , σ2 are not modules of G (σ1 , σ2 ) Strong (common) interval doesn’t overlap other common intervals Lemma [de Montgolfier] A set S is a strong interval of σ1 and σ2 iff it is a strong module of the permutation graph G (σ1 , σ2 )
  • 51. Common intervals (2) The family of common intervals is weakly partitive: 7 1 6 5 4 3 2 9 8 11 10 if I1 and I2 are two common intervals then I1 ∪ I2 is a common interval I1 ∩ I2 is a common interval I1 I2 and I2 I1 are common intervals
  • 52. Common intervals (2) The family of common intervals is weakly partitive: 7 1 6 5 4 3 2 9 8 11 10 7 1 5 3 8 if I1 and I2 are two common intervals then I1 ∪ I2 is a common interval I1 ∩ I2 is a common interval I1 I2 and I2 I1 are common intervals Let I be a partition of [1 . . . n] into common intervals of the permutation σ, then we denote by σ/I the quotient permutation defined on [1 . . . |I|]
  • 53. Common intervals (2) The family of common intervals is weakly partitive: 7 1 6 5 4 3 2 9 8 11 10 4 1 3 2 5 if I1 and I2 are two common intervals then I1 ∪ I2 is a common interval I1 ∩ I2 is a common interval I1 I2 and I2 I1 are common intervals Let I be a partition of [1 . . . n] into common intervals of the permutation σ, then we denote by σ/I the quotient permutation defined on [1 . . . |I|]
  • 54. Common intervals (3) Theorem Let σ be a permutation on [1, . . . n] and I be the partition into maximal common intervals of σ, then either 1. σ/I = 1|I| - the identity on [1 . . . |I|] 2. σ/I = 1|I| - the reverse identity on [1 . . . |I|] 3. σ/I is prime - or simple (does not have non-trivial common interval)
  • 55. Common intervals (3) Theorem Let σ be a permutation on [1, . . . n] and I be the partition into maximal common intervals of σ, then either 1. σ/I = 1|I| - the identity on [1 . . . |I|] 2. σ/I = 1|I| - the reverse identity on [1 . . . |I|] 3. σ/I is prime - or simple (does not have non-trivial common interval) 7 1 6 5 4 3 2 9 8 11 10 Theorem (see e.g. [Bergeron et al.’08]) The common interval tree can be computed in O(n) time.
  • 56. Common intervals (4) A permutation σ is separable if it does not contains the pattern 3142 7 1 6 5 4 3 2 9 8 11 10
  • 57. Common intervals (4) A permutation σ is separable if it does not contains the pattern 3142 1 2 3 4 3 1 4 2 corresponds to the P4 7 1 6 5 4 3 2 9 8 11 10
  • 58. Common intervals (4) A permutation σ is separable if it does not contains the pattern 3142 1 2 3 4 3 1 4 2 corresponds to the P4 a permutation is separable iff its common interval tree does not contains prime nodes a permutation is separable iff the permutation graph G (σ, 1) is a cograph (P4 -free graph) 7 1 6 5 4 3 2 9 8 11 10
  • 59. Modular decomposition of undirected graphs Ehrenfeucht et al’s modular decomposition algorithm Common Intervals of permutations Modular decomposition of tournaments Kernelization algorithm for FAST
  • 60. Modular decomposition of tournaments 1 2 8 3 7 4 6 5
  • 61. Modular decomposition of tournaments 1 2 8 3 7 4 6 5 A module in a tournament is a set S such that for every x ∈ S / either ∀y ∈ S, x → y or ∀y ∈ S, y → x
  • 62. Modular decomposition of tournaments 1 2 8 3 7 4 6 5 A tournament is transitive if there exists a permutation σ of V (T ) with no backward arcs Theorem: Let T be a tournament and M(T ) be the modular partition into maximal strong modules, then 1. either T/M(T ) is transitive - contains no backward arc 2. or T/M(T ) is prime
  • 63. Modular decomposition of tournaments 1 2 8 3 7 4 6 5 1 2 3 4 5 6 7 8 A tournament is transitive if there exists a permutation σ of V (T ) with no backward arcs Theorem: Let T be a tournament and M(T ) be the modular partition into maximal strong modules, then 1. either T/M(T ) is transitive - contains no backward arc 2. or T/M(T ) is prime
  • 64. Modular decomposition algorithm for tournaments A factoring permutation of a tournament T (or a graph) is a permutation σ of its vertices such that every (strong) module of T is an interval of σ
  • 65. Modular decomposition algorithm for tournaments A factoring permutation of a tournament T (or a graph) is a permutation σ of its vertices such that every (strong) module of T is an interval of σ Factoring permutation via a partition refinement algorithm in linear time [de Mongolfier’03] 1 2 3 4 5 6 7 8
  • 66. Modular decomposition algorithm for tournaments A factoring permutation of a tournament T (or a graph) is a permutation σ of its vertices such that every (strong) module of T is an interval of σ Factoring permutation via a partition refinement algorithm in linear time [de Mongolfier’03] 3 4 5 6 1 2 7 8
  • 67. Modular decomposition algorithm for tournaments A factoring permutation of a tournament T (or a graph) is a permutation σ of its vertices such that every (strong) module of T is an interval of σ Factoring permutation via a partition refinement algorithm in linear time [de Mongolfier’03] 4 3 5 6 1 2 8 7
  • 68. Modular decomposition algorithm for tournaments A factoring permutation of a tournament T (or a graph) is a permutation σ of its vertices such that every (strong) module of T is an interval of σ Factoring permutation via a partition refinement algorithm in linear time [de Mongolfier’03] 4 3 5 6 1 2 8 7
  • 69. Modular decomposition algorithm for tournaments A factoring permutation of a tournament T (or a graph) is a permutation σ of its vertices such that every (strong) module of T is an interval of σ Factoring permutation via a partition refinement algorithm in linear time [de Mongolfier’03] 4 3 5 6 1 2 8 7 Modular decomposition tree from a factoring permutation in linear time [Capelle’97]
  • 70. Modular decomposition of undirected graphs Ehrenfeucht et al’s modular decomposition algorithm Common Intervals of permutations Modular decomposition of tournaments Kernelization algorithm for FAST
  • 71. FAST: Feedback Arc Set in Tournament A tournament T and an integer k Find a set of at most k arcs whose reversal transform T into a transitive tournament
  • 72. FAST: Feedback Arc Set in Tournament A tournament T and an integer k Find a permutation σ of the vertices with at most k backward edges 1 2 3 4 5 6 7 8
  • 73. FAST: Feedback Arc Set in Tournament A tournament T and an integer k Find a permutation σ of the vertices with at most k backward edges 1 2 3 4 5 6 7 8 NP-Complete [Alon’06] [Charbit et al.’07] FTP [Raman, Saurabh’06] [Alon et al.’09] (1 + )-approximation scheme [Kenyon-Mathieu, Schudy’07]
  • 74. FAST (2) Obs.: A tournament is transitive iff there is no (directed) triangle 1 2 8 3 7 4 6 5
  • 75. FAST (2) Obs.: A tournament is transitive iff there is no (directed) triangle 1 2 8 3 7 4 6 5
  • 76. FAST (2) Obs.: A tournament is transitive iff there is no (directed) triangle 1 2 8 3 7 4 6 5
  • 77. FAST (2) Obs.: A tournament is transitive iff there is no (directed) triangle Rule 1 [irrelevant vertex] If a vertex v is not contained in any triangle, then delete v Rule 2 [sunflower] If there is an arc belonging to more that k distinct triangles, then reverse it and decrease k by 1
  • 78. FAST (2) Obs.: A tournament is transitive iff there is no (directed) triangle Rule 1 [irrelevant vertex] If a vertex v is not contained in any triangle, then delete v A reduced tournament contains no source nor sink Rule 2 [sunflower] If there is an arc belonging to more that k distinct triangles, then reverse it and decrease k by 1 The span s(− ) of a backward arc of a reduced tournament is → uv 2k + 2
  • 79. FAST (3) Rule 3 [acyclic module] Let M be a maximal acyclic module. If there are at most p = |M| arcs from N + (M) to N − (M), then reverse all these arcs and decrease k by p.
  • 80. FAST (3) Rule 3 [acyclic module] Let M be a maximal acyclic module. If there are at most p = |M| arcs from N + (M) to N − (M), then reverse all these arcs and decrease k by p.
  • 81. FAST (3) Rule 3 [acyclic module] Let M be a maximal acyclic module. If there are at most p = |M| arcs from N + (M) to N − (M), then reverse all these arcs and decrease k by p. acyclic module Rule ⇒ ti2 s(− ) → uv ti
  • 82. FAST (3) Rule 3 [acyclic module] Let M be a maximal acyclic module. If there are at most p = |M| arcs from N + (M) to N − (M), then reverse all these arcs and decrease k by p. sunflower Rule ⇒ ti2 s(− ) → uv k(2k + 2)
  • 83. FAST (3) Rule 3 [acyclic module] Let M be a maximal acyclic module. If there are at most p = |M| arcs from N + (M) to N − (M), then reverse all these arcs and decrease k by p. sunflower Rule ⇒ ti2 s(− ) → uv k(2k + 2) Theorem [Bessy et al.’09]: Every instance (T , k) of k-FAST can be reduced in polynomial time to an equivalent instance (T , k ) such that √ |T | 2k + ti = O(k k) and k k
  • 84. Kernelization algorithm poly time (G,k) (G’,k’) |G’¦=f(k) Given a parameterized instance (I, k) of a problem, a kernelization algorithm computes in polytime an equivalent instance (I , k ) st. k = f (k) and |I | g (k)
  • 85. Kernelization algorithm poly time (G,k) (G’,k’) |G’¦=f(k) Given a parameterized instance (I, k) of a problem, a kernelization algorithm computes in polytime an equivalent instance (I , k ) st. k = f (k) and |I | g (k) √ we described a O(k k)-vertex kernel for FAST based on modular decomposition best known result: O(k)-vertex kernel ([Bessy et al.’09], [P., Perez, Thomass´’11]) e
  • 86. Kernelization algorithm poly time (G,k) (G’,k’) |G’¦=f(k) Given a parameterized instance (I, k) of a problem, a kernelization algorithm computes in polytime an equivalent instance (I , k ) st. k = f (k) and |I | g (k) Other modular decomposition kernelizations: O(k 2 )-vertex kernel for cluster editing O(k 3 )-vertex kernel for cograph editing also for min flip consensus tree, closest 3-leaf power. . .
  • 87. Some conclusions Modular decomposition plays an important role in the context of many graph classes permutation graphs, interval graphs, comparability graphs . . . even perfect graph)
  • 88. Some conclusions Modular decomposition plays an important role in the context of many graph classes permutation graphs, interval graphs, comparability graphs . . . even perfect graph) Many examples of partitive (weakly partitive) families are known in various contexts modules in undirected graphs, digraphs, hypergraphs common interval of permutations
  • 89. Some conclusions Modular decomposition plays an important role in the context of many graph classes permutation graphs, interval graphs, comparability graphs . . . even perfect graph) Many examples of partitive (weakly partitive) families are known in various contexts modules in undirected graphs, digraphs, hypergraphs common interval of permutations Various generalizations bimodular decomposition (module adapted to bipartite graphs) bipartitive families : eg. split decomposition of graphs - O(n + α(n, m).m) circle graph recognition crossing families, union-difference families of sets. . . clique-width (cographs are clique-widht 2 graphs), rankwidth
  • 90. To learn / read more Habib and P. ”A survey of the algorithmic aspects of modular decomposition” in Computer Science Review 4:41-59, 2010
  • 91. To learn / read more Habib and P. ”A survey of the algorithmic aspects of modular decomposition” in Computer Science Review 4:41-59, 2010 F. de Montgolfier, ”D´composition modulaire de graphes, e th´orie, extensions et algorithmes”, Phd Thesis (in French), e 2003 B.M. Bui Xuan, ”Tree-representation of set families in graph decompositions and efficient algorithms”, Phd Thesis, 2008
  • 92. To learn / read more Habib and P. ”A survey of the algorithmic aspects of modular decomposition” in Computer Science Review 4:41-59, 2010 F. de Montgolfier, ”D´composition modulaire de graphes, e th´orie, extensions et algorithmes”, Phd Thesis (in French), e 2003 B.M. Bui Xuan, ”Tree-representation of set families in graph decompositions and efficient algorithms”, Phd Thesis, 2008 C. Crespelle, ”Repr´sentations dynamiques de graphes”, PhD e Thesis (in French), 2007 attend I. Todinca’s talk !!!
  • 93. To learn / read more Habib and P. ”A survey of the algorithmic aspects of modular decomposition” in Computer Science Review 4:41-59, 2010 F. de Montgolfier, ”D´composition modulaire de graphes, e th´orie, extensions et algorithmes”, Phd Thesis (in French), e 2003 B.M. Bui Xuan, ”Tree-representation of set families in graph decompositions and efficient algorithms”, Phd Thesis, 2008 C. Crespelle, ”Repr´sentations dynamiques de graphes”, PhD e Thesis (in French), 2007 attend I. Todinca’s talk !!! Common intervals and sorting by reversal: attend M. Bouvel’s talk!!!