algoperm2012 - 04 christophe paul

93
Algorithmics of Modular decomposition Christophe Paul CNRS - LIRMM, Montpellier France Algorithms & Permutations Workshop February 20, 2012 Joint work with: A. Bergeron, S. B´ erard, S. Bessy, B.M. Bui Xuan, C. Chauve, D. Corneil, F. Fomin, E. Gioan, M. Habib, A. Perez, S. Saurabh, S. Thomass´ e, M. Tedder, L. Viennot. . .

Upload: algoperm-2012

Post on 20-Jun-2015

580 views

Category:

Education


4 download

DESCRIPTION

Christophe Paul (LIRMM, CNRS) Algorithmics of modular decomposition Algorithms & Permutations 2012, Paris. http://igm.univ-mlv.fr/AlgoB/algoperm2012/

TRANSCRIPT

Page 1: AlgoPerm2012 - 04 Christophe Paul

Algorithmics of Modulardecomposition

Christophe Paul

CNRS - LIRMM, Montpellier France

Algorithms & Permutations WorkshopFebruary 20, 2012

Joint work with: A. Bergeron, S. Berard, S. Bessy, B.M. Bui Xuan, C.Chauve, D. Corneil, F. Fomin, E. Gioan, M. Habib, A. Perez, S. Saurabh,S. Thomasse, M. Tedder, L. Viennot. . .

Page 2: AlgoPerm2012 - 04 Christophe Paul

Modular decomposition of undirected graphs

Ehrenfeucht et al’s modular decomposition algorithm

Common Intervals of permutations

Modular decomposition of tournaments

Kernelization algorithm for FAST

Page 3: AlgoPerm2012 - 04 Christophe Paul

Permutations and permutation graphs

111098

11810 9

1 2 3 4 5 6 7

4325167

1

6

5

2 8

10

114

3

7 9

I Does a permutation graph have a unique representation ?

Page 4: AlgoPerm2012 - 04 Christophe Paul

Permutations and permutation graphs

111098

11810 9

1 2 3 4 5 6 7

4325167

1

6

5

2 8

10

114

3

7 9

I Does a permutation graph have a unique representation ?

Page 5: AlgoPerm2012 - 04 Christophe Paul

Permutations and permutation graphs

111098

11810 9

1 2 3 4 5 6 7

4325167

1

6

5

2 8

10

114

3

7 9

I Does a permutation graph have a unique representation ?

Page 6: AlgoPerm2012 - 04 Christophe Paul

Permutations and permutation graphs

5

1 2 3 4 5 6 7

4325167

1

62 8

10

114

3

7 9

8 9 10 11

8 11 910

I Does a permutation graph have a unique representation ?

Page 7: AlgoPerm2012 - 04 Christophe Paul

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) = ∅

93

7

1

6

5

2 8

10

114

Page 8: AlgoPerm2012 - 04 Christophe Paul

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) = ∅

93

7

1

6

5

2 8

10

114

Examples of modules:

I connected components

I connected components of G

I any vertex subset of the complete graph (or independent set)

Page 9: AlgoPerm2012 - 04 Christophe Paul

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) = ∅

93

7

1

6

5

2 8

10

114

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

I A graph (a module) is degenerate if every subset of vertices isa module: cliques and stables.

Page 10: AlgoPerm2012 - 04 Christophe Paul

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) = ∅

93

7

1

6

5

2 8

10

114

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

I A graph (a module) is degenerate if every subset of vertices isa module: cliques and stables.

Page 11: AlgoPerm2012 - 04 Christophe Paul

Permutation graph recognition

Theorem [Gallai’67]A permutation graph has a unique representation (up to reversal)iff it is prime.

Page 12: AlgoPerm2012 - 04 Christophe Paul

Permutation graph recognition

Theorem [Gallai’67]A permutation graph has a unique representation (up to reversal)iff it is prime.

Recognition algorithm

I Recursively solve the problem on modules

I Solve the prime case (with linear time transitive orientationalgorithm)

Page 13: AlgoPerm2012 - 04 Christophe Paul

Permutation graph recognition

Theorem [Gallai’67]A permutation graph has a unique representation (up to reversal)iff it is prime.

Recognition algorithm

I Recursively solve the problem on modules

I Solve the prime case (with linear time transitive orientationalgorithm)

Theorem [McConnell and Spinrad’99]The permutation graph recognition problem can be solved inO(n + m) time

I we need a linear time modular decomposition algorithm

Page 14: AlgoPerm2012 - 04 Christophe Paul

Partitive families

If M and M ′ are two overlapping modules then

I M \M ′is a module

I M ∩M ′ is a module

I M∆M ′ is a module

Page 15: AlgoPerm2012 - 04 Christophe Paul

Partitive families

If M and M ′ are two overlapping modules then

I M \M ′is a module

I M ∩M ′ is a module

I M∆M ′ is a module

Page 16: AlgoPerm2012 - 04 Christophe Paul

Partitive families

If M and M ′ are two overlapping modules then

I M \M ′is a module

I M ∩M ′ is a module

I M∆M ′ is a module

Page 17: AlgoPerm2012 - 04 Christophe Paul

Partitive families

If M and M ′ are two overlapping modules then

I M \M ′is a module

I M ∩M ′ is a module

I M∆M ′ is a module

The set of modules of a graph forms a partitive family

A module is strong if it does not overlap any other module

Page 18: AlgoPerm2012 - 04 Christophe Paul

Partitive families

If M and M ′ are two overlapping modules then

I M \M ′is a module

I M ∩M ′ is a module

I M∆M ′ is a module

The set of modules of a graph forms a partitive family

A module is strong if it does not overlap any other module

1110987654321

2 3 4

1 2 3 4 5 6 7 8 9 10 11

8 9 10 116 7

7 9

4 11

10

82

5

6

1

3

Strong modules are nested into an inclusion tree: the modulardecomposition tree MD(G )

Page 19: AlgoPerm2012 - 04 Christophe Paul

Modular partition and quotient graph

A partition P of the vertex set of a graph G is a modular partitionif every part is a module of G .

93

7

1

6

5

2 8

10

114

93

7

1

6

5

2 8

10

114

If P is a modular partition of G , the quotient graph G/P is theinduced subgraph obtained by choosing one vertex per part of P.

Page 20: AlgoPerm2012 - 04 Christophe Paul

Modular partition and quotient graph

A partition P of the vertex set of a graph G is a modular partitionif every part is a module of G .

93

7

1

6

5

2 8

10

114

If P is a modular partition of G , the quotient graph G/P is theinduced subgraph obtained by choosing one vertex per part of P.

Page 21: AlgoPerm2012 - 04 Christophe Paul

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 modularpartition containing the maximal strong modules of G .

Page 22: AlgoPerm2012 - 04 Christophe Paul

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 modularpartition containing the maximal strong modules of G .

64321 7 1110985

Prime

1 2 3 4 5 6 7 8 9 10 11

2 3 4 6 7 8 9 10 11

Prime

parallel series

5

2 8

10

114

3

7 9

1

6

Page 23: AlgoPerm2012 - 04 Christophe Paul

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 modularpartition containing the maximal strong modules of G .

64321 7 1110985

Prime

1 2 3 4 5 6 7 8 9 10 11

2 3 4 6 7 8 9 10 11

Prime

parallel series

5

2 8

10

114

3

7 9

1

6

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

Page 24: AlgoPerm2012 - 04 Christophe Paul

Modular decomposition algorithms

I O(n4) [Cowan, James, Stanton’72]

I O(n3) [Blass, 1978], [Habib, Maurer’79]

I O(n2) [McConnell, Spinrad’89]

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

I O(n + m) [McConnell, Spinrad’94], [Cournier, Habib’94]

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

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

I other many others for variants of modular decomposition

Page 25: AlgoPerm2012 - 04 Christophe Paul

Modular decomposition algorithms

I O(n4) [Cowan, James, Stanton’72]

I O(n3) [Blass, 1978], [Habib, Maurer’79]

I O(n2) [McConnell, Spinrad’89]

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

I O(n + m) [McConnell, Spinrad’94], [Cournier, Habib’94]

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

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

I other many others for variants of modular decomposition

Page 26: AlgoPerm2012 - 04 Christophe Paul

Modular decomposition algorithms

I O(n4) [Cowan, James, Stanton’72]

I O(n3) [Blass, 1978], [Habib, Maurer’79]

I O(n2) [McConnell, Spinrad’89]

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

I O(n + m) [McConnell, Spinrad’94], [Cournier, Habib’94]

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

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

I other many others for variants of modular decomposition

Page 27: AlgoPerm2012 - 04 Christophe Paul

Modular decomposition algorithms

I O(n4) [Cowan, James, Stanton’72]

I O(n3) [Blass, 1978], [Habib, Maurer’79]

I O(n2) [McConnell, Spinrad’89]

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

I O(n + m) [McConnell, Spinrad’94], [Cournier, Habib’94]

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

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

I other many others for variants of modular decomposition

Page 28: AlgoPerm2012 - 04 Christophe Paul

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

e

w

z

yx

e

z

ax

vd wy u

Series

Parallel

Series

Series SeriesSeries

Parallel

Parallel Parallel

b

c

d

u

v

a

c b

Page 29: AlgoPerm2012 - 04 Christophe Paul

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

e

w

z

yx

e

z

ax

vd wy u

Series

Parallel

Series

Series SeriesSeries

Parallel

Parallel Parallel

b

c

d

u

v

a

c b

Cographs can be built from the single vertex with the disjointunion and series composition

Exercice: prove that cographs are permutation graphs

Page 30: AlgoPerm2012 - 04 Christophe Paul

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

e

w

z

yx

e

z

ax

vd wy u

Series

Parallel

Series

Series SeriesSeries

Parallel

Parallel Parallel

b

c

d

u

v

a

c b

Linear time recognition algorithms

I incremental [Corneil, Pearl, Stewart’85]

I partition refinement [Habib, P.’05]

I LexBFS [Bretscher, Corneil, Habib, P.’08]

Page 31: AlgoPerm2012 - 04 Christophe Paul

Modular decomposition of undirected graphs

Ehrenfeucht et al’s modular decomposition algorithm

Common Intervals of permutations

Modular decomposition of tournaments

Kernelization algorithm for FAST

Page 32: AlgoPerm2012 - 04 Christophe Paul

Ehrenfeucht et al’s modular decomposition algorithm

M(G , v) is the modular partition composed by

I {v} and the maximal modules of G not containing v .

� �� �

series

v v

parallel

prime

series

series

parallel

series

� �� �

� �� �

� �� �� � � �

� � � �� �

� �� � � �� �

� �� � � �� �

� �� �

� �� �

� �� �

� �� � ! !" "# # $ $% %

& &' ' ( () ) * *+ +

1. Compute M(G , v)

2. Compute MD(G/M(G ,v))

3. For each X ∈M(G , v) compute MD(G [X ])

Page 33: AlgoPerm2012 - 04 Christophe Paul

Computation ofM(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∈XM is a module of G .

5

2 8

10

114

3

7 9

1

6

Page 34: AlgoPerm2012 - 04 Christophe Paul

Computation ofM(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∈XM 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 .

16

7

4

2

3

Page 35: AlgoPerm2012 - 04 Christophe Paul

Computation ofM(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∈XM 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 .

16

7

4

2

3

Lemma If x is a splitter for the setS , then any module M containing Smust also contain x .

Page 36: AlgoPerm2012 - 04 Christophe Paul

Computation ofM(G , v) (2)

Lemma If v is a splitter of a set S , then for any module M ⊆ Seither M ⊆ S ∩ N(v) or M ⊆ M ∩ N(v)

I O(n + m log n) time using vertex partitioning algorihtm

Page 37: AlgoPerm2012 - 04 Christophe Paul

Computation ofM(G , v) (2)

Lemma If v is a splitter of a set S , then for any module M ⊆ Seither M ⊆ S ∩ N(v) or M ⊆ M ∩ N(v)

I O(n + m log n) time using vertex partitioning algorihtm

v

N(v) N(v)

Page 38: AlgoPerm2012 - 04 Christophe Paul

Computation ofM(G , v) (2)

Lemma If v is a splitter of a set S , then for any module M ⊆ Seither M ⊆ S ∩ N(v) or M ⊆ M ∩ N(v)

I O(n + m log n) time using vertex partitioning algorihtm

xv

Page 39: AlgoPerm2012 - 04 Christophe Paul

Computation ofM(G , v) (2)

Lemma If v is a splitter of a set S , then for any module M ⊆ Seither M ⊆ S ∩ N(v) or M ⊆ M ∩ N(v)

I O(n + m log n) time using vertex partitioning algorihtm

yv x

Page 40: AlgoPerm2012 - 04 Christophe Paul

Computation ofM(G , v) (2)

Lemma If v is a splitter of a set S , then for any module M ⊆ Seither M ⊆ S ∩ N(v) or M ⊆ M ∩ N(v)

I O(n + m log n) time using vertex partitioning algorihtm

zv

Page 41: AlgoPerm2012 - 04 Christophe Paul

Computation of MD(G/M(G ,v)) (3)

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

I The forcing graph F(G , v) has edge −→xy iff y separates x and v

6

1

2

3 4 5

v

Page 42: AlgoPerm2012 - 04 Christophe Paul

Computation of MD(G/M(G ,v)) (3)

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

I 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

Page 43: AlgoPerm2012 - 04 Christophe Paul

Computation of MD(G/M(G ,v)) (3)

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

I 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

Page 44: AlgoPerm2012 - 04 Christophe Paul

Computation of MD(G/M(G ,v)) (4)

Complexity

I [Ehrenfeucht et al.’94] gives a O(n2) complexity.

I [MS00]: simple O(n + m log n) vertex partitioning algorithm

I [DGM’01]: O(n + m.α(n,m)) and a more complicatedO(n + m) implementation.

Other algorithms

I [CH94] and [MS94]: the first linear algorithms.

I [MS99]: O(n + m) algorithm which extends to transitiveorientation.

Page 45: AlgoPerm2012 - 04 Christophe Paul

Computation of MD(G/M(G ,v)) (4)

Complexity

I [Ehrenfeucht et al.’94] gives a O(n2) complexity.

I [MS00]: simple O(n + m log n) vertex partitioning algorithm

I [DGM’01]: O(n + m.α(n,m)) and a more complicatedO(n + m) implementation.

Other algorithms

I [CH94] and [MS94]: the first linear algorithms.

I [MS99]: O(n + m) algorithm which extends to transitiveorientation.

[Spinrad’03] The new [linear time] algorithm [MS99] is currentlytoo complex to describe easily [...] I hope and believe that in anumber of years the linear algorithm can be simplified as well.

I [Tedder, Corneil, Habib, P.’08] simple linear time algorithm

Page 46: AlgoPerm2012 - 04 Christophe Paul

Modular decomposition of undirected graphs

Ehrenfeucht et al’s modular decomposition algorithm

Common Intervals of permutations

Modular decomposition of tournaments

Kernelization algorithm for FAST

Page 47: AlgoPerm2012 - 04 Christophe Paul

Back to permutations: common intervals

In a permutation σ, a set S of consecutive elements is called aninterval. Likewise a set S is a common interval of severalpermutations σ1, σ2 . . . if it is an interval for every σi .

10

2 3 4 5 6 7

4325167

8 9 10 11

9118

1

Page 48: AlgoPerm2012 - 04 Christophe Paul

Back to permutations: common intervals

In a permutation σ, a set S of consecutive elements is called aninterval. Likewise a set S is a common interval of severalpermutations σ1, σ2 . . . if it is an interval for every σi .

1

6

7

3

2 8

10

9

114

5

10

2 3 4 5 6 7

4325167

8 9 10 11

9118

1

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

Page 49: AlgoPerm2012 - 04 Christophe Paul

Back to permutations: common intervals

In a permutation σ, a set S of consecutive elements is called aninterval. Likewise a set S is a common interval of severalpermutations σ1, σ2 . . . if it is an interval for every σi .

1

6

7

3

2 8

10

9

114

5

10

2 3 4 5 6 7

4325167

8 9 10 11

9118

1

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

I Computation of all common intervals in linear time - O(n2) -[Uno, Yagura’00]

Page 50: AlgoPerm2012 - 04 Christophe Paul

Back to permutations: common intervals

In a permutation σ, a set S of consecutive elements is called aninterval. Likewise a set S is a common interval of severalpermutations σ1, σ2 . . . if it is an interval for every σi .

1

6

7

3

2 8

10

9

114

5

10

2 3 4 5 6 7

4325167

8 9 10 11

9118

1

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)

Page 51: AlgoPerm2012 - 04 Christophe Paul

Common intervals (2)

The family of common intervals is weakly partitive:

5 861 101192347

if I1 and I2 are two common intervals then

I I1 ∪ I2 is a common interval

I I1 ∩ I2 is a common interval

I I1 \ I2 and I2 \ I1 are common intervals

Page 52: AlgoPerm2012 - 04 Christophe Paul

Common intervals (2)

The family of common intervals is weakly partitive:

1 8357

5 861 101192347

if I1 and I2 are two common intervals then

I I1 ∪ I2 is a common interval

I I1 ∩ I2 is a common interval

I I1 \ I2 and I2 \ I1 are common intervals

Let I be a partition of [1 . . . n] into common intervals of thepermutation σ, then we denote by σ/I the quotient permutationdefined on [1 . . . |I|]

Page 53: AlgoPerm2012 - 04 Christophe Paul

Common intervals (2)

The family of common intervals is weakly partitive:

54 1 3 2

5 861 101192347

if I1 and I2 are two common intervals then

I I1 ∪ I2 is a common interval

I I1 ∩ I2 is a common interval

I I1 \ I2 and I2 \ I1 are common intervals

Let I be a partition of [1 . . . n] into common intervals of thepermutation σ, then we denote by σ/I the quotient permutationdefined on [1 . . . |I|]

Page 54: AlgoPerm2012 - 04 Christophe Paul

Common intervals (3)

Theorem Let σ be a permutation on [1, . . . n] and I be thepartition 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)

Page 55: AlgoPerm2012 - 04 Christophe Paul

Common intervals (3)

Theorem Let σ be a permutation on [1, . . . n] and I be thepartition 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 5 4 3 2 9 8 11 101 6

Theorem (see e.g. [Bergeron et al.’08])The common interval tree can be computed in O(n) time.

Page 56: AlgoPerm2012 - 04 Christophe Paul

Common intervals (4)

A permutation σ is separable if it does not contains the pattern3 1 4 2

I 3 1 4 2 corresponds to the P41 2 3 4

I a permutation is separable iffits common interval tree does not contains prime nodes

I a permutation is separable iffthe permutation graph G (σ,1) is a cograph (P4-free graph)

7 5 4 3 2 9 8 11 101 6

Page 57: AlgoPerm2012 - 04 Christophe Paul

Common intervals (4)

A permutation σ is separable if it does not contains the pattern3 1 4 2

I 3 1 4 2 corresponds to the P41 2 3 4

I a permutation is separable iffits common interval tree does not contains prime nodes

I a permutation is separable iffthe permutation graph G (σ,1) is a cograph (P4-free graph)

7 5 4 3 2 9 8 11 101 6

Page 58: AlgoPerm2012 - 04 Christophe Paul

Common intervals (4)

A permutation σ is separable if it does not contains the pattern3 1 4 2

I 3 1 4 2 corresponds to the P41 2 3 4

I a permutation is separable iffits common interval tree does not contains prime nodes

I a permutation is separable iffthe permutation graph G (σ,1) is a cograph (P4-free graph)

7 5 4 3 2 9 8 11 101 6

Page 59: AlgoPerm2012 - 04 Christophe Paul

Modular decomposition of undirected graphs

Ehrenfeucht et al’s modular decomposition algorithm

Common Intervals of permutations

Modular decomposition of tournaments

Kernelization algorithm for FAST

Page 60: AlgoPerm2012 - 04 Christophe Paul

Modular decomposition of tournaments

5

4

3

21

8

7

6

Page 61: AlgoPerm2012 - 04 Christophe Paul

Modular decomposition of tournaments

5

4

3

21

8

7

6

A module in a tournament is a set S such that for every x /∈ S

I either ∀y ∈ S , x → y or ∀y ∈ S , y → x

Page 62: AlgoPerm2012 - 04 Christophe Paul

Modular decomposition of tournaments

5

4

3

21

8

7

6

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 modularpartition into maximal strong modules, then

1. either T/M(T ) is transitive - contains no backward arc

2. or T/M(T ) is prime

Page 63: AlgoPerm2012 - 04 Christophe Paul

Modular decomposition of tournaments

5

4

3

21

8

7

68765431 2

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 modularpartition into maximal strong modules, then

1. either T/M(T ) is transitive - contains no backward arc

2. or T/M(T ) is prime

Page 64: AlgoPerm2012 - 04 Christophe Paul

Modular decomposition algorithm for tournaments

A factoring permutation of a tournament T (or a graph) is apermutation σ of its vertices such that

every (strong) module of T is an interval of σ

I Modular decomposition tree from a factoring permutation inlinear time [Capelle’97]

Page 65: AlgoPerm2012 - 04 Christophe Paul

Modular decomposition algorithm for tournaments

A factoring permutation of a tournament T (or a graph) is apermutation σ of its vertices such that

every (strong) module of T is an interval of σ

I Factoring permutation via a partition refinement algorithm inlinear time [de Mongolfier’03]

4 873 51 2 6

I Modular decomposition tree from a factoring permutation inlinear time [Capelle’97]

Page 66: AlgoPerm2012 - 04 Christophe Paul

Modular decomposition algorithm for tournaments

A factoring permutation of a tournament T (or a graph) is apermutation σ of its vertices such that

every (strong) module of T is an interval of σ

I Factoring permutation via a partition refinement algorithm inlinear time [de Mongolfier’03]

7265 843 1

I Modular decomposition tree from a factoring permutation inlinear time [Capelle’97]

Page 67: AlgoPerm2012 - 04 Christophe Paul

Modular decomposition algorithm for tournaments

A factoring permutation of a tournament T (or a graph) is apermutation σ of its vertices such that

every (strong) module of T is an interval of σ

I Factoring permutation via a partition refinement algorithm inlinear time [de Mongolfier’03]

34 5 6 1 2 8 7

I Modular decomposition tree from a factoring permutation inlinear time [Capelle’97]

Page 68: AlgoPerm2012 - 04 Christophe Paul

Modular decomposition algorithm for tournaments

A factoring permutation of a tournament T (or a graph) is apermutation σ of its vertices such that

every (strong) module of T is an interval of σ

I Factoring permutation via a partition refinement algorithm inlinear time [de Mongolfier’03]

163 5 824 7

I Modular decomposition tree from a factoring permutation inlinear time [Capelle’97]

Page 69: AlgoPerm2012 - 04 Christophe Paul

Modular decomposition algorithm for tournaments

A factoring permutation of a tournament T (or a graph) is apermutation σ of its vertices such that

every (strong) module of T is an interval of σ

I Factoring permutation via a partition refinement algorithm inlinear time [de Mongolfier’03]

163 5 824 7

I Modular decomposition tree from a factoring permutation inlinear time [Capelle’97]

Page 70: AlgoPerm2012 - 04 Christophe Paul

Modular decomposition of undirected graphs

Ehrenfeucht et al’s modular decomposition algorithm

Common Intervals of permutations

Modular decomposition of tournaments

Kernelization algorithm for FAST

Page 71: AlgoPerm2012 - 04 Christophe Paul

FAST: Feedback Arc Set in Tournament

I A tournament T and an integer k

I Find a set of at most k arcs whose reversal transform T into atransitive tournament

Page 72: AlgoPerm2012 - 04 Christophe Paul

FAST: Feedback Arc Set in Tournament

I A tournament T and an integer k

I Find a permutation σ of the vertices with at most k backwardedges

4 873 51 2 6

Page 73: AlgoPerm2012 - 04 Christophe Paul

FAST: Feedback Arc Set in Tournament

I A tournament T and an integer k

I Find a permutation σ of the vertices with at most k backwardedges

4 873 51 2 6

I NP-Complete [Alon’06] [Charbit et al.’07]

I FTP [Raman, Saurabh’06] [Alon et al.’09]

I (1 + ε)-approximation scheme [Kenyon-Mathieu, Schudy’07]

Page 74: AlgoPerm2012 - 04 Christophe Paul

FAST (2)

Obs.: A tournament is transitive iff there is no (directed) triangle

5

4

3

21

8

7

6

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

A reduced tournament contains no source nor sink

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

The span s(−→uv) of a backward arc of a reduced tournament is 6 2k + 2

Page 75: AlgoPerm2012 - 04 Christophe Paul

FAST (2)

Obs.: A tournament is transitive iff there is no (directed) triangle

5

4

3

21

8

7

6

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

A reduced tournament contains no source nor sink

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

The span s(−→uv) of a backward arc of a reduced tournament is 6 2k + 2

Page 76: AlgoPerm2012 - 04 Christophe Paul

FAST (2)

Obs.: A tournament is transitive iff there is no (directed) triangle

5

4

3

21

8

7

6

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

A reduced tournament contains no source nor sink

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

The span s(−→uv) of a backward arc of a reduced tournament is 6 2k + 2

Page 77: AlgoPerm2012 - 04 Christophe Paul

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 anytriangle, then delete v

A reduced tournament contains no source nor sink

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

The span s(−→uv) of a backward arc of a reduced tournament is 6 2k + 2

Page 78: AlgoPerm2012 - 04 Christophe Paul

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 anytriangle, then delete v

A reduced tournament contains no source nor sink

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

The span s(−→uv) of a backward arc of a reduced tournament is 6 2k + 2

Page 79: AlgoPerm2012 - 04 Christophe Paul

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.

Page 80: AlgoPerm2012 - 04 Christophe Paul

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.

Page 81: AlgoPerm2012 - 04 Christophe Paul

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 ⇒∑t2i 6

∑s(−→uv)

it

Page 82: AlgoPerm2012 - 04 Christophe Paul

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 ⇒∑t2i 6

∑s(−→uv) 6 k(2k + 2)

Page 83: AlgoPerm2012 - 04 Christophe Paul

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 ⇒∑t2i 6

∑s(−→uv) 6 k(2k + 2)

Theorem [Bessy et al.’09]: Every instance (T , k) of k-FAST canbe reduced in polynomial time to an equivalent instance (T , k ′)such that

|T | 6 2k +∑

ti = O(k√

k) and k ′ 6 k

Page 84: AlgoPerm2012 - 04 Christophe Paul

Kernelization algorithm

(G’,k’)

|G’¦=f(k)

poly time(G,k)

Given a parameterized instance (I, k) of a problem, a kernelizationalgorithm computes in polytime an equivalent instance (I ′, k ′) st.

k ′ = f (k) and |I ′| 6 g(k)

Page 85: AlgoPerm2012 - 04 Christophe Paul

Kernelization algorithm

(G’,k’)

|G’¦=f(k)

poly time(G,k)

Given a parameterized instance (I, k) of a problem, a kernelizationalgorithm computes in polytime an equivalent instance (I ′, k ′) st.

k ′ = f (k) and |I ′| 6 g(k)

I we described a O(k√

k)-vertex kernel for FAST based onmodular decomposition

I best known result: O(k)-vertex kernel ([Bessy et al.’09], [P.,Perez, Thomasse’11])

Page 86: AlgoPerm2012 - 04 Christophe Paul

Kernelization algorithm

(G’,k’)

|G’¦=f(k)

poly time(G,k)

Given a parameterized instance (I, k) of a problem, a kernelizationalgorithm computes in polytime an equivalent instance (I ′, k ′) st.

k ′ = f (k) and |I ′| 6 g(k)

Other modular decomposition kernelizations:

I O(k2)-vertex kernel for cluster editing

I O(k3)-vertex kernel for cograph editing

I also for min flip consensus tree, closest 3-leafpower. . .

Page 87: AlgoPerm2012 - 04 Christophe Paul

Some conclusions

I Modular decomposition plays an important role in the contextof many graph classes

I permutation graphs, interval graphs, comparability graphs . . .I even perfect graph)

I Many examples of partitive (weakly partitive) families areknown in various contexts

I modules in undirected graphs, digraphs, hypergraphsI common interval of permutations

I Various generalizationsI bimodular decomposition (module adapted to bipartite graphs)I bipartitive families : eg. split decomposition of graphs -

O(n + α(n,m).m) circle graph recognitionI crossing families, union-difference families of sets. . .I clique-width (cographs are clique-widht 2 graphs), rankwidth

Page 88: AlgoPerm2012 - 04 Christophe Paul

Some conclusions

I Modular decomposition plays an important role in the contextof many graph classes

I permutation graphs, interval graphs, comparability graphs . . .I even perfect graph)

I Many examples of partitive (weakly partitive) families areknown in various contexts

I modules in undirected graphs, digraphs, hypergraphsI common interval of permutations

I Various generalizationsI bimodular decomposition (module adapted to bipartite graphs)I bipartitive families : eg. split decomposition of graphs -

O(n + α(n,m).m) circle graph recognitionI crossing families, union-difference families of sets. . .I clique-width (cographs are clique-widht 2 graphs), rankwidth

Page 89: AlgoPerm2012 - 04 Christophe Paul

Some conclusions

I Modular decomposition plays an important role in the contextof many graph classes

I permutation graphs, interval graphs, comparability graphs . . .I even perfect graph)

I Many examples of partitive (weakly partitive) families areknown in various contexts

I modules in undirected graphs, digraphs, hypergraphsI common interval of permutations

I Various generalizationsI bimodular decomposition (module adapted to bipartite graphs)I bipartitive families : eg. split decomposition of graphs -

O(n + α(n,m).m) circle graph recognitionI crossing families, union-difference families of sets. . .I clique-width (cographs are clique-widht 2 graphs), rankwidth

Page 90: AlgoPerm2012 - 04 Christophe Paul

To learn / read more

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

I F. de Montgolfier, ”Decomposition modulaire de graphes,theorie, extensions et algorithmes”, Phd Thesis (in French),2003

I B.M. Bui Xuan, ”Tree-representation of set families in graphdecompositions and efficient algorithms”, Phd Thesis, 2008

I C. Crespelle, ”Representations dynamiques de graphes”, PhDThesis (in French), 2007 attend I. Todinca’s talk !!!

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

Page 91: AlgoPerm2012 - 04 Christophe Paul

To learn / read more

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

I F. de Montgolfier, ”Decomposition modulaire de graphes,theorie, extensions et algorithmes”, Phd Thesis (in French),2003

I B.M. Bui Xuan, ”Tree-representation of set families in graphdecompositions and efficient algorithms”, Phd Thesis, 2008

I C. Crespelle, ”Representations dynamiques de graphes”, PhDThesis (in French), 2007 attend I. Todinca’s talk !!!

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

Page 92: AlgoPerm2012 - 04 Christophe Paul

To learn / read more

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

I F. de Montgolfier, ”Decomposition modulaire de graphes,theorie, extensions et algorithmes”, Phd Thesis (in French),2003

I B.M. Bui Xuan, ”Tree-representation of set families in graphdecompositions and efficient algorithms”, Phd Thesis, 2008

I C. Crespelle, ”Representations dynamiques de graphes”, PhDThesis (in French), 2007 attend I. Todinca’s talk !!!

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

Page 93: AlgoPerm2012 - 04 Christophe Paul

To learn / read more

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

I F. de Montgolfier, ”Decomposition modulaire de graphes,theorie, extensions et algorithmes”, Phd Thesis (in French),2003

I B.M. Bui Xuan, ”Tree-representation of set families in graphdecompositions and efficient algorithms”, Phd Thesis, 2008

I C. Crespelle, ”Representations dynamiques de graphes”, PhDThesis (in French), 2007 attend I. Todinca’s talk !!!

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