algorithmic aspects of modular decompositionpaul/talks/talk-06-algo-sem-mcgill.pdf ·...
TRANSCRIPT
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Algorithmic Aspects of Modular Decomposition
Christophe Paul
CNRS - LIRMM - Univsersite Montpellier II, France
October 24, 2006
Habilitation (in French) avalaible at www.lirmm.fr/~paul
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Joint work with
B.M. Bui Xuan, C. Crespelle (LIRMM),
A. Bretscher, D. Corneil (U. of Toronto),
M. Habib, F. de Montgolfier (LIAFA),
L. Viennot (INRIA Rocquencourt)
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Some motivations
A very natural operation on discrete structures (used is theproof of the perfect graph theorem)
Help to capture the structure of many graphs families (basisof a theory for comparability graphs)
Divide and conquer paradigm for optimization problems
Provide compact representation of graphs (even for dynamicgraphs)
. . .
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
1 Definitions and preliminaries
2 Ehrenfeucht et al.’s algorithmPrincipleComputation ofM(G , v)Computation of MD(G/M(G ,v))
3 New algorithmic trendsFactoring permutationLexBFS
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
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) = ∅
1
6
7
4
2
3
Examples of modules
connected components
connected components of G
any vertex subset of thecomplete graph (or the stable)
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
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) = ∅
1
6
7
4
2
3
Examples of modules
connected components
connected components of G
any vertex subset of thecomplete graph (or the stable)
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
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) = ∅
1
6
7
4
2
3
Examples of modules
connected components
connected components of G
any vertex subset of thecomplete graph (or the stable)
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Prime graphs and degenerate graphs
A graph is prime is all its modules are trivial: e.g. the P4.
A graph is degenerate if any subset of vertices is a module:cliques and stables.
Lemma (Cournier, Ille 91)
If G is a prime graph, then any vertex but at most one belongs toa P4.
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Prime graphs and degenerate graphs
A graph is prime is all its modules are trivial: e.g. the P4.
A graph is degenerate if any subset of vertices is a module:cliques and stables.
Lemma (Cournier, Ille 91)
If G is a prime graph, then any vertex but at most one belongs toa P4.
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Splitter
For a graph G = (V ,E ), the vertex x is a splitter for a set S ofvertices if ∃y , z ∈ S with xy ∈ S and xz /∈ E . We say that xseparate y and z .
16
7
4
2
3
Lemma
If x is a splitter for the set S, thenany module M containing S mustalso contain x.
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Splitter
For a graph G = (V ,E ), the vertex x is a splitter for a set S ofvertices if ∃y , z ∈ S with xy ∈ S and xz /∈ E . We say that xseparate y and z .
16
7
4
2
3
Lemma
If x is a splitter for the set S, thenany module M containing S mustalso contain x.
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Modular partition
A partition P of the vertex set of a graph G = (V ,E ) is amodular partition of G if any part is a module of G .
1
6
7
8
9
10
11
4
2
3
5
Let P be a modular partition of a graph G = (V ,E ). Thequotient graph G/P is the induced subgraph obtained by choosingone vertex per part of P.
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Modular partition
A partition P of the vertex set of a graph G = (V ,E ) is amodular partition of G if any part is a module of G .
1
6
7
8
9
10
11
4
2
3
5
Let P be a modular partition of a graph G = (V ,E ). Thequotient graph G/P is the induced subgraph obtained by choosingone vertex per part of P.
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Lemma (MR84)
Let P be a modular partition of G = (V ,E ).X ⊆ P is a module of G/P iff ∪M∈XM is a module of G.
1
6
7
8
9
10
11
4
2
3
5
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Lemma
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 defines a partitive family
A module is strong if it does not overlap any other module
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Lemma
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 defines a partitive family
A module is strong if it does not overlap any other module
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Lemma
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 defines a partitive family
A module is strong if it does not overlap any other module
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Lemma
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 defines a partitive family
A module is strong if it does not overlap any other module
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
The set of strong modules is nested into an inclusion tree (calledthe modular decomposition tree MD(G ) of G ).
1 2 3 4 5 6 7 8 9 10 11�� �� ���� � � � �
1
2
3
4
5
6
7
8
9
10
11
1 9852 43 6 7 1110
8 9 10 11
2 3
2 3 4
6 7 10 11
�
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Theorem (Gal’67,CHM81)
Let G = (V ,E ) be a graph. Then either
1 G is not connected, or
2 G is not connected, or
3 G/M(G) is a prime graph, withM(G ) the modular partitioncontaining the maximal strong modules of G.
⇒ ”Brut force” algorithm in O(n3) time
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Some algorithms
Cowan, James, Stanton (1972) O(n4)
Blass (1978) O(n3), Habib, Maurer (1979) O(n3)
Corneil, Perl, Stewart (1981) O(n + m) cograph recognition.
McConnell, Spinrad (1989) O(n2) incremental
Spinrad 1992] O(n + mα(m, n)), Cournier, Habib (1993)O(n + mα(m, n))
McConnell, Spinrad (1994) O(n + m), Cournier, Habib (1994)O(n + m)
Capelle, Habib (1997) O(n + m) if a factoring permutation isgiven
Dahlhaus, Gustedt, McConnell (1997) O(n + m)
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Some algorithms
Cowan, James, Stanton (1972) O(n4)
Blass (1978) O(n3), Habib, Maurer (1979) O(n3)
Corneil, Perl, Stewart (1981) O(n + m) cograph recognition.
McConnell, Spinrad (1989) O(n2) incremental
Spinrad 1992] O(n + mα(m, n)), Cournier, Habib (1993)O(n + mα(m, n))
McConnell, Spinrad (1994) O(n + m), Cournier, Habib (1994)O(n + m)
Capelle, Habib (1997) O(n + m) if a factoring permutation isgiven
Dahlhaus, Gustedt, McConnell (1997) O(n + m)
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Some algorithms
Cowan, James, Stanton (1972) O(n4)
Blass (1978) O(n3), Habib, Maurer (1979) O(n3)
Corneil, Perl, Stewart (1981) O(n + m) cograph recognition.
McConnell, Spinrad (1989) O(n2) incremental
Spinrad 1992] O(n + mα(m, n)), Cournier, Habib (1993)O(n + mα(m, n))
McConnell, Spinrad (1994) O(n + m), Cournier, Habib (1994)O(n + m)
Capelle, Habib (1997) O(n + m) if a factoring permutation isgiven
Dahlhaus, Gustedt, McConnell (1997) O(n + m)
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Some algorithms
Cowan, James, Stanton (1972) O(n4)
Blass (1978) O(n3), Habib, Maurer (1979) O(n3)
Corneil, Perl, Stewart (1981) O(n + m) cograph recognition.
McConnell, Spinrad (1989) O(n2) incremental
Spinrad 1992] O(n + mα(m, n)), Cournier, Habib (1993)O(n + mα(m, n))
McConnell, Spinrad (1994) O(n + m), Cournier, Habib (1994)O(n + m)
Capelle, Habib (1997) O(n + m) if a factoring permutation isgiven
Dahlhaus, Gustedt, McConnell (1997) O(n + m)
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Some algorithms
Cowan, James, Stanton (1972) O(n4)
Blass (1978) O(n3), Habib, Maurer (1979) O(n3)
Corneil, Perl, Stewart (1981) O(n + m) cograph recognition.
McConnell, Spinrad (1989) O(n2) incremental
Spinrad 1992] O(n + mα(m, n)), Cournier, Habib (1993)O(n + mα(m, n))
McConnell, Spinrad (1994) O(n + m), Cournier, Habib (1994)O(n + m)
Capelle, Habib (1997) O(n + m) if a factoring permutation isgiven
Dahlhaus, Gustedt, McConnell (1997) O(n + m)
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Some algorithms
Cowan, James, Stanton (1972) O(n4)
Blass (1978) O(n3), Habib, Maurer (1979) O(n3)
Corneil, Perl, Stewart (1981) O(n + m) cograph recognition.
McConnell, Spinrad (1989) O(n2) incremental
Spinrad 1992] O(n + mα(m, n)), Cournier, Habib (1993)O(n + mα(m, n))
McConnell, Spinrad (1994) O(n + m), Cournier, Habib (1994)O(n + m)
Capelle, Habib (1997) O(n + m) if a factoring permutation isgiven
Dahlhaus, Gustedt, McConnell (1997) O(n + m)
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Some algorithms
Cowan, James, Stanton (1972) O(n4)
Blass (1978) O(n3), Habib, Maurer (1979) O(n3)
Corneil, Perl, Stewart (1981) O(n + m) cograph recognition.
McConnell, Spinrad (1989) O(n2) incremental
Spinrad 1992] O(n + mα(m, n)), Cournier, Habib (1993)O(n + mα(m, n))
McConnell, Spinrad (1994) O(n + m), Cournier, Habib (1994)O(n + m)
Capelle, Habib (1997) O(n + m) if a factoring permutation isgiven
Dahlhaus, Gustedt, McConnell (1997) O(n + m)
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Some algorithms
Cowan, James, Stanton (1972) O(n4)
Blass (1978) O(n3), Habib, Maurer (1979) O(n3)
Corneil, Perl, Stewart (1981) O(n + m) cograph recognition.
McConnell, Spinrad (1989) O(n2) incremental
Spinrad 1992] O(n + mα(m, n)), Cournier, Habib (1993)O(n + mα(m, n))
McConnell, Spinrad (1994) O(n + m), Cournier, Habib (1994)O(n + m)
Capelle, Habib (1997) O(n + m) if a factoring permutation isgiven
Dahlhaus, Gustedt, McConnell (1997) O(n + m)
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Some algorithms
Habib, Paul, Viennot (1999) O(n + mlogn) computes afactoring permutation, McConnell, Spinrad (2000)O(n + mlogn)
Habib, Paul (2001) O(n + m) cographs via a factoringpermutation, Capelle, Habib, Montgolfier (2002) O(n + m) ifa factoring permutation is provided.
Brestcher, Corneil, Habib, Paul (2006) O(n + m) Cographsvia LexBFS.
. . .
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Some algorithms
Habib, Paul, Viennot (1999) O(n + mlogn) computes afactoring permutation, McConnell, Spinrad (2000)O(n + mlogn)
Habib, Paul (2001) O(n + m) cographs via a factoringpermutation, Capelle, Habib, Montgolfier (2002) O(n + m) ifa factoring permutation is provided.
Brestcher, Corneil, Habib, Paul (2006) O(n + m) Cographsvia LexBFS.
. . .
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Some algorithms
Habib, Paul, Viennot (1999) O(n + mlogn) computes afactoring permutation, McConnell, Spinrad (2000)O(n + mlogn)
Habib, Paul (2001) O(n + m) cographs via a factoringpermutation, Capelle, Habib, Montgolfier (2002) O(n + m) ifa factoring permutation is provided.
Brestcher, Corneil, Habib, Paul (2006) O(n + m) Cographsvia LexBFS.
. . .
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Some algorithms
Habib, Paul, Viennot (1999) O(n + mlogn) computes afactoring permutation, McConnell, Spinrad (2000)O(n + mlogn)
Habib, Paul (2001) O(n + m) cographs via a factoringpermutation, Capelle, Habib, Montgolfier (2002) O(n + m) ifa factoring permutation is provided.
Brestcher, Corneil, Habib, Paul (2006) O(n + m) Cographsvia LexBFS.
. . .
That was only for undirected graphs!!!
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
PrincipleComputation ofM(G , v)Computation of MD(G/M(G,v))
1 Definitions and preliminaries
2 Ehrenfeucht et al.’s algorithmPrincipleComputation ofM(G , v)Computation of MD(G/M(G ,v))
3 New algorithmic trendsFactoring permutationLexBFS
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
PrincipleComputation ofM(G , v)Computation of MD(G/M(G,v))
M(G , v) is composed by {v} and the maximal modules of G notcontaining v .
� �� �
series
v v
parallel
prime
series
series
parallel
series
� �� �
� �� �
� �� �� � � �
� � � �� �
� �� � � �� �
� �� � � �� �
� �� �
� �� �
� �� �
� �� � ! !" "# # $ $% %
& &' ' ( () ) * *+ +
Principle of the Ehrenfeucht et al.’s algorithm
1 Compute M(G , v)
2 Compute MD(G/M(G ,v))
3 For each X ∈M(G , v) compute MD(G [X ])
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
PrincipleComputation ofM(G , v)Computation of MD(G/M(G,v))
M(G , v) is composed by {v} and the maximal modules of G notcontaining v .
� �� �
series
v v
parallel
prime
series
series
parallel
series
� �� �
� �� �
� �� �� � � �
� � � �� �
� �� � � �� �
� �� � � �� �
� �� �
� �� �
� �� �
� �� � ! !" "# # $ $% %
& &' ' ( () ) * *+ +
Principle of the Ehrenfeucht et al.’s algorithm
1 Compute M(G , v)
2 Compute MD(G/M(G ,v))
3 For each X ∈M(G , v) compute MD(G [X ])
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
PrincipleComputation ofM(G , v)Computation of MD(G/M(G,v))
Lemma
If x is a splitter of a set S, then for any module M contained in Seither M ⊆ S ∩ N(x) or M ⊆ M ∩ N(x)
Computation of M(G , v)
⇒ O(n + m log n) time using vertex partitioning algorihtm.
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
PrincipleComputation ofM(G , v)Computation of MD(G/M(G,v))
Lemma
If x is a splitter of a set S, then for any module M contained in Seither M ⊆ S ∩ N(x) or M ⊆ M ∩ N(x)
Computation of M(G , v)
⇒ O(n + m log n) time using vertex partitioning algorihtm.
v
N(v) N(v)
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
PrincipleComputation ofM(G , v)Computation of MD(G/M(G,v))
Lemma
If x is a splitter of a set S, then for any module M contained in Seither M ⊆ S ∩ N(x) or M ⊆ M ∩ N(x)
Computation of M(G , v)
⇒ O(n + m log n) time using vertex partitioning algorihtm.
xv
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
PrincipleComputation ofM(G , v)Computation of MD(G/M(G,v))
Lemma
If x is a splitter of a set S, then for any module M contained in Seither M ⊆ S ∩ N(x) or M ⊆ M ∩ N(x)
Computation of M(G , v)
⇒ O(n + m log n) time using vertex partitioning algorihtm.
yv x
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
PrincipleComputation ofM(G , v)Computation of MD(G/M(G,v))
Lemma
If x is a splitter of a set S, then for any module M contained in Seither M ⊆ S ∩ N(x) or M ⊆ M ∩ N(x)
Computation of M(G , v)
⇒ O(n + m log n) time using vertex partitioning algorihtm.
zv
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
PrincipleComputation ofM(G , v)Computation of MD(G/M(G,v))
Computation of MD(G/M(G ,v))
The modules of G/M(G ,v) are linearly nested:any non-trivial module contains v
The forcing graph F(G , v) has edge −→xy iff y separates x and v
6
1
2
3 4 5
v
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
PrincipleComputation ofM(G , v)Computation of MD(G/M(G,v))
Computation of MD(G/M(G ,v))
The modules of G/M(G ,v) are linearly nested:any non-trivial module contains v
The forcing graph F(G , v) has edge −→xy iff y separates x and v
1
2
3 4 5
6
1
2
3
6
45
1
2345
6
v
v
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
PrincipleComputation ofM(G , v)Computation of MD(G/M(G,v))
Computation of MD(G/M(G ,v))
The modules of G/M(G ,v) are linearly nested:any non-trivial module contains v
The forcing graph F(G , v) has edge −→xy iff y separates x and v
6
1
2
3
6
45
1
2345
6
1
2
3 4 5
v
v
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
PrincipleComputation ofM(G , v)Computation of MD(G/M(G,v))
Complexity
[Ehrenfeucht et al.’94] gives a O(n2) complexity.
[MS00] gives a very simple O(n + m log n) algorithm based onvertex partitioning.
[DGM’01] proposes a O(n + m.α(n,m)) and a morecomplicated O(n + m) implementation.
Other algorithms
[CH94] and [MS94] present the first linear algorithms.
[MS99] present a new linear time algorithm which extend totransitive orientation.
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
PrincipleComputation ofM(G , v)Computation of MD(G/M(G,v))
Still open
Find a simple linear time modular decomposition algorithm.
[Spinrad’03]
The new [linear time] algorithm [MS99] is currently too complex todescribe easily [...] The first O(n2) partitioning algorithms weresimilarly complex; I hope and believe that in a number of years thelinear algorithm can be simplified as well.
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
1 Definitions and preliminaries
2 Ehrenfeucht et al.’s algorithmPrincipleComputation ofM(G , v)Computation of MD(G/M(G ,v))
3 New algorithmic trendsFactoring permutationLexBFS
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
A factoring pemutation of a graph G = (V ,E ) is a permutationof V in which any strong module of G is a factor. [Capelle 97]
3
2 3 4 5 6 7 8 9 10 11
1
5
6
7
8
9
10
11
4
2
1
From G to factoringpermutation:O(n + m log n) [HPV99]
From factoringpermutation to MD(G ):O(n + m) [CdMH01][UY00] [BXHP05]
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
A factoring pemutation of a graph G = (V ,E ) is a permutationof V in which any strong module of G is a factor. [Capelle 97]
6 7 8 9 10 11
1
5
6
7
8
9
10
11
4
2
1
3
2 3 4 5
From G to factoringpermutation:O(n + m log n) [HPV99]
From factoringpermutation to MD(G ):O(n + m) [CdMH01][UY00] [BXHP05]
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
A factoring pemutation of a graph G = (V ,E ) is a permutationof V in which any strong module of G is a factor. [Capelle 97]
10 11
1
5
6
7
8
9
10
11
4
2
1
3
2 3 4 5 6 7 8 9
From G to factoringpermutation:O(n + m log n) [HPV99]
From factoringpermutation to MD(G ):O(n + m) [CdMH01][UY00] [BXHP05]
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
A factoring pemutation of a graph G = (V ,E ) is a permutationof V in which any strong module of G is a factor. [Capelle 97]
1
5
6
7
8
9
10
11
4
2
1
3
2 3 4 5 6 7 8 9 10 11
From G to factoringpermutation:O(n + m log n) [HPV99]
From factoringpermutation to MD(G ):O(n + m) [CdMH01][UY00] [BXHP05]
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
A factoring pemutation of a graph G = (V ,E ) is a permutationof V in which any strong module of G is a factor. [Capelle 97]
1
5
6
7
8
9
10
11
4
2
1
3
2 3 4 5 6 7 8 9 10 11
From G to factoringpermutation:O(n + m log n) [HPV99]
From factoringpermutation to MD(G ):O(n + m) [CdMH01][UY00] [BXHP05]
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
A factoring pemutation of a graph G = (V ,E ) is a permutationof V in which any strong module of G is a factor. [Capelle 97]
1
5
6
7
8
9
10
11
4
2
1
3
2 3 4 5 6 7 8 9 10 11
From G to factoringpermutation:O(n + m log n) [HPV99]
From factoringpermutation to MD(G ):O(n + m) [CdMH01][UY00] [BXHP05]
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
Factoring permutation (of cographs) via vertex partitionning
At each step, the partition can be refined into a factoringpermutation.
� �� �� �� �� �� �� �� �� � � �v
series
parallel
parallel
parallel
parallel
parallel
series
seriesseriesseries
� �
series
� �� � � �� �� �� �� �� �� �� �� �� �
Invariant
Any strong module is afactor of the partition.
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
Factoring permutation (of cographs) via vertex partitionning
At each step, the partition can be refined into a factoringpermutation.
v
series
parallel
parallel
parallel
parallel
parallel
series
seriesseriesseries
� �� �
series
� �� �� �� �� �� �� � � �� � � �� �� �� �� �� �� �� � � �� �
Invariant
Any strong module is afactor of the partition.
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
Factoring permutation (of cographs) via vertex partitionning
At each step, the partition can be refined into a factoringpermutation.
v
series
parallel
parallel
parallel
parallel
parallel
series
seriesseriesseries
� �� �
series
� �� �� �� �� �� �� � � �� � � �� �� �� � � �� �
Invariant
Any strong module is afactor of the partition.
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
Factoring permutation (of cographs) via vertex partitionning
At each step, the partition can be refined into a factoringpermutation.
� �� �
parallel
series
seriesseriesseries
� �� �
series
� �� �� �� �� � � �� � � �� �� �� � � �� �v
series
parallel
parallel
parallel
parallel
Invariant
Any strong module is afactor of the partition.
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
Factoring permutation (of cographs) via vertex partitionning
At each step, the partition can be refined into a factoringpermutation.
� �� �
series
seriesseriesseries
� �� �
series
� �� �� �� �� � � �� � � �� �� �� � � �� �v
series
parallel
parallel
parallel
parallel
parallel
Invariant
Any strong module is afactor of the partition.
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
1 Best known complexity: O(n + m log n) and O(n + m) forcographs
2 Recent algorithmic results around this notion [UY00][BXHP05] [BCdMR05]
3 For some graph families, computing MD(G ) from a factoringpermutation costs O(n) time
4 Generalization for other decomposition like for example thesplit decomposition ?...
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
1 Best known complexity: O(n + m log n) and O(n + m) forcographs
2 Recent algorithmic results around this notion [UY00][BXHP05] [BCdMR05]
3 For some graph families, computing MD(G ) from a factoringpermutation costs O(n) time
4 Generalization for other decomposition like for example thesplit decomposition ?...
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
1 Best known complexity: O(n + m log n) and O(n + m) forcographs
2 Recent algorithmic results around this notion [UY00][BXHP05] [BCdMR05]
3 For some graph families, computing MD(G ) from a factoringpermutation costs O(n) time
4 Generalization for other decomposition like for example thesplit decomposition ?...
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
1 Best known complexity: O(n + m log n) and O(n + m) forcographs
2 Recent algorithmic results around this notion [UY00][BXHP05] [BCdMR05]
3 For some graph families, computing MD(G ) from a factoringpermutation costs O(n) time
4 Generalization for other decomposition like for example thesplit decomposition ?...
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
A cograph recognition algorithm [BCHP03]
1 σ ← LexBFS(G )
2 σ ← LexBFS−(G , σ)3 If σ and σ both have the NS-property then
1 Answer ”G is a cograph”2 Build MD(G )
4 Else Output a P4
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
1
0
1 11
0
1
0
0e
wy
b
u v
ec
d
x a
a
z
x
z d
u
v
y
wc b
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
Computing a LexBFS ordering σ
ex y w z u v a d c b
e
a
z
x
u
v
y
w
b
d
c
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
Computing a LexBFS ordering σ
e
x y w z u v a d c b e
x y w z u v a d c b
e
y
w
b
c
d
a
z
x
v
u
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
Computing a LexBFS ordering σ
e
a d c b e
x y w z u v a d c b e
x y w z u v a d c b
x y w z u ve
b
c
d
a
z
x y
v
u
w
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
Computing a LexBFS ordering σ
e
a d c b e
x y w z u v a d c b e
x y w z u v a d c b
x y w z u v a d c b e
x y w z u ve
b
c
d
a
z
x
w
y
v
u
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
Computing a LexBFS ordering σ
e
v a d c b e
x y w z u v a d c b e
x y w z u v a d c b
x y w z u v a d c b e
x y w z u v a d c b e
x y w z ue
b
c
d
a
z
x
w
y
v
u
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
Computing σ=LexBFS−(G , σ)
vx
x y w z u v a d c b e
a d c b e y w z u
e
y
w
b
c
d
a
z
x
v
u
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
Computing σ=LexBFS−(G , σ)
v
u v a d c b e
a d c b e
a d c b e
y w z u v
y w z u
x
x
x y w z
e
w
b
c
d
a
z
x
v
u
y
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
Computing σ=LexBFS−(G , σ)
z
d c b e
a d c b e
u v
y w z u v
y w z u v
e bc wyx
x
x
x y w z u v a d c b e
a d
ae
b
c
d
a
z
x
w
y
v
u
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
w
1
0
1 11
0
1
0
0
x y w z u v a d bc e
x a d e c b z y u v
e
w
b
c
d
a
z
x
wy
y
u v
e
x a
v
u
z d
c b
Lemma
M(G , x) is composed by the slices Si (x) of σ and Sj(x) of σ.
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
w
1
0
1 11
0
1
0
0
x y w z u v a d bc e
x a d e c b z y u v
e
w
b
c
d
a
z
x
wy
y
u v
e
x a
v
u
z d
c b
Theorem
If G is a cograph, then MD(G ) can be retrieved from the slicestructure of σ and σ.
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
Generalisation to arbitrary graphs ?
1 There are many similarities between two-LexBFS-sweepalgorithm and the linear implementation of Ehrenfeucht etal.’s algorithm [DGM01]
2 LexBFS is useful for the transitive orientation problem. Couldit lead to a simple linear time algorithm for this problem ?
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
Miscellaneous : other works related to modular decomposition
1 Representation of dynamic graphs (cf. C. Crespelle’sPhD-thesis)
cographs, permutation graphs . . .
2 Perfect sorting by reversals
efficient parametrized algorithm based on the modulardecomposition treecharacterization of the permutations having perfectparsimonious scenarios
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
Miscellaneous : other works related to modular decomposition
1 Representation of dynamic graphs (cf. C. Crespelle’sPhD-thesis)
cographs, permutation graphs . . .
2 Perfect sorting by reversals
efficient parametrized algorithm based on the modulardecomposition treecharacterization of the permutations having perfectparsimonious scenarios
C. Paul Algorithmic Aspects of Modular Decomposition
Definitions and preliminariesEhrenfeucht et al.’s algorithm
New algorithmic trends
Factoring permutationLexBFS
Thank you...
C. Paul Algorithmic Aspects of Modular Decomposition