algorithmic aspects of modular decompositionpaul/talks/talk-06-algo-sem-mcgill.pdf ·...

77
Definitions and preliminaries Ehrenfeucht et al.’s algorithm New algorithmic trends Algorithmic Aspects of Modular Decomposition Christophe Paul CNRS - LIRMM - Univsersit´ e Montpellier II, France October 24, 2006 Habilitation (in French) avalaible at www.lirmm.fr/~paul C. Paul Algorithmic Aspects of Modular Decomposition

Upload: others

Post on 28-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 2: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 3: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 4: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 5: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 6: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 7: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 8: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 9: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 10: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 11: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 12: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 13: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 14: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 15: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 16: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 17: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 18: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 19: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 20: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 21: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 22: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 23: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 24: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 25: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 26: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 27: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 28: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 29: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 30: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 31: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 32: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 33: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 34: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 35: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 36: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 37: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 38: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 39: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 40: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 41: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 42: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 43: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 44: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 45: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 46: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 47: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 48: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 49: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 50: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 51: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 52: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 53: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 54: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 55: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 56: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 57: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 58: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 59: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 60: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 61: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 62: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 63: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 64: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 65: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 66: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 67: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 68: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 69: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 70: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 71: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 72: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 73: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 74: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 75: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 76: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

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

Page 77: Algorithmic Aspects of Modular Decompositionpaul/Talks/talk-06-algo-sem-McGill.pdf · 2006-10-24 · A subset of vertices M of a graph G = (V,E) is a module iff ∀x ∈V \M, either

Definitions and preliminariesEhrenfeucht et al.’s algorithm

New algorithmic trends

Factoring permutationLexBFS

Thank you...

C. Paul Algorithmic Aspects of Modular Decomposition