Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3...

51
Modular decomposition in kernelization Christophe Paul CNRS - LIRMM, Montpellier France November 11, 2010 - worker 2010

Transcript of Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3...

Page 1: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

Modular decomposition inkernelization

Christophe Paul

CNRS - LIRMM, Montpellier France

November 11, 2010 - worker 2010

Page 2: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

Parameterized graph modification problems

I Can we update at most k vertices / edges of an input graphso get a property Π satisfied ?

Some examples

I FVS (or eq. treewidth 1 vertex deletion)

I odd cycle transversal

I minimum fill-in...

Page 3: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

Parameterized graph modification problems

I Can we update at most k vertices / edges of an input graphso get a property Π satisfied ?

Some examples

I FVS (or eq. treewidth 1 vertex deletion)

I odd cycle transversal

I minimum fill-in...

Question:

Can modular decomposition help if we are interested inΠ-modification problems where Π is related to some width-measure

(clique-width, rank-width...) ?

Page 4: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

Cluster editing as an appetizer

Modular decomposition in a nutshell

Cograph edge deletion kernel

Page 5: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

Cluster Editing problem as an appetizer

Given a graph G = (V , E ) and an integer k, does there existF ⊆ V × V such that

I |F | 6 k and G M F is the disjoint union of cliques.

Page 6: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

Cluster Editing problem as an appetizer

Structure of the solution

Observation 1: in each cluster, the non-affected vertices form a setof adjacent twins (or critical clique)

Page 7: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

Cluster Editing problem as an appetizer

Structure of the solution

Observation 2: A critical clique C of size |C | > k cannot be spreadover several clusters

Page 8: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

Cluster Editing problem as an appetizer

Structure of the solution

Observation 2: A critical clique C of size |C | > k cannot be spreadover several clusters

Rule: shrink every critical of size > k + 1 down to k + 1

⇒ O(k2) vertex kernel

Page 9: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

More generally

Lemma Let F be an hereditary graph class closed under adjacenttwin addition. Then there exists an optimal solution to theF-edition problem that preserves the critical cliques.

Page 10: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

More generally

Lemma Let F be an hereditary graph class closed under adjacenttwin addition. Then there exists an optimal solution to theF-edition problem that preserves the critical cliques.

For cluster editing

→ edit all or none of the edges between two critical cliques

→ edit the edge set of the critical clique graph

⇒ 2k vertex kernel [Guo]

Page 11: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

Cluster editing as an appetizer

Modular decomposition in a nutshell

Cograph edge deletion kernel

Page 12: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

A subset of vertices M of a graph G = (V , E ) is a module if∀x ∈ V \M, either M ⊆ N(x) or M ∩ N(x) = ∅

1

6

7

4

2

3

Examples of modules

I critical cliques

I connected components

I connected components of G

I any vertex subset of thecomplete graph (or the stable)

I A graph is prime if all its modules are trivial: e.g. the P4.

I A graph is degenerate if any subset of vertices is a module:cliques and stables.

Page 13: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

A subset of vertices M of a graph G = (V , E ) is a module if∀x ∈ V \M, either M ⊆ N(x) or M ∩ N(x) = ∅

1

6

7

4

2

3

Examples of modules

I critical cliques

I connected components

I connected components of G

I any vertex subset of thecomplete graph (or the stable)

I A graph is prime if all its modules are trivial: e.g. the P4.

I A graph is degenerate if any subset of vertices is a module:cliques and stables.

Page 14: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

A subset of vertices M of a graph G = (V , E ) is a module if∀x ∈ V \M, either M ⊆ N(x) or M ∩ N(x) = ∅

1

6

7

4

2

3

Examples of modules

I critical cliques

I connected components

I connected components of G

I any vertex subset of thecomplete graph (or the stable)

I A graph is prime if all its modules are trivial: e.g. the P4.

I A graph is degenerate if any subset of vertices is a module:cliques and stables.

Page 15: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

A subset of vertices M of a graph G = (V , E ) is a module if∀x ∈ V \M, either M ⊆ N(x) or M ∩ N(x) = ∅

1

6

7

4

2

3

Examples of modules

I critical cliques

I connected components

I connected components of G

I any vertex subset of thecomplete graph (or the stable)

I A graph is prime if all its modules are trivial: e.g. the P4.

I A graph is degenerate if any subset of vertices is a module:cliques and stables.

Page 16: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

A subset of vertices M of a graph G = (V , E ) is a module if∀x ∈ V \M, either M ⊆ N(x) or M ∩ N(x) = ∅

1

6

7

4

2

3

Examples of modules

I critical cliques

I connected components

I connected components of G

I any vertex subset of thecomplete graph (or the stable)

I A graph is prime if all its modules are trivial: e.g. the P4.

I A graph is degenerate if any subset of vertices is a module:cliques and stables.

Page 17: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

A partition P = {M1, . . . Mr} of the vertex set of a graph G is amodular partition of G if any part Mi ∈ P is a module of G .

1

6

7

8

9

10

11

4

2

3

5

Page 18: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

A partition P = {M1, . . . Mr} of the vertex set of a graph G is amodular partition of G if any part Mi ∈ P is a module of G .

1

6

7

8

9

10

11

4

2

3

5

The quotient graph G/P is the induced subgraph obtained bychoosing one vertex per part of P.

Page 19: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

A partition P = {M1, . . . Mr} of the vertex set of a graph G is amodular partition of G if any part Mi ∈ P is a module of G .

1

6

7

8

9

10

11

4

2

3

5

The quotient graph G/P is the induced subgraph obtained bychoosing one vertex per part of P.

Observation: The set of critical cliques form a modular partitionand the corresponding quotient graph is the critical clique graph.

Page 20: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

A partition P = {M1, . . . Mr} of the vertex set of a graph G is amodular partition of G if any part Mi ∈ P is a module of G .

1

6

7

8

9

10

11

4

2

3

5

Lemma: X ⊆ P is a module of G/P iff ∪M∈XM is a module of G .

Page 21: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

Theorem [Gal’67,CHM81] Let G 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, with M(G ) the modular partitioncontaining the maximal strong modules of G .

Page 22: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

Theorem [Gal’67,CHM81] Let G 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, with M(G ) the modular partitioncontaining the maximal strong modules of G .

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

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

Page 23: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

Theorem [Gal’67,CHM81] Let G 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, with M(G ) the modular partitioncontaining the maximal strong modules of G .

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

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

inclusion tree of strong modules = modular decomposition tree

MD-tree can be computed in O(n + m)

Page 24: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

Some references

I Mohring, Radermacher. Substitution decomposition fordiscrete structures and connections with combinatorialoptimization. Annals of Discrete Mathematics, 1984

I Habib, Paul. A survey on algorithmic aspects of modulardecomposition. Computer Science Review, 2010

I and many others...

Page 25: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

Cluster editing as an appetizer

Modular decomposition in a nutshell

Cograph edge deletion kernel

Page 26: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

Cograph edge deletion kernel

G is a cograph if it can be built from the single vertex graph by:

I [disjoint union] G = G1 ⊕ G2

I [series composition] G = G1 ⊗ G2 (add all possible edgesbetween G1 and G2)

e

Parallèle

Série Série Série Série

b

c

d

u

v

a

z

y

x

w Parallèle Parallèle

Série

Parallèle

d wy u

e

z

ax

v

c b

Page 27: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

Cograph edge deletion kernel

G is a cograph if it can be built from the single vertex graph by:I [disjoint union] G = G1 ⊕ G2

I [series composition] G = G1 ⊗ G2 (add all possible edgesbetween G1 and G2)

e

Parallèle

Série Série Série Série

b

c

d

u

v

a

z

y

x

w Parallèle Parallèle

Série

Parallèle

d wy u

e

z

ax

v

c b

Observation: The cographs are exactlyI the clique-width 2 graphs

I the P4-free graphsI the totally decomposable graphs by the modular

decomposition

Page 28: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

Cograph edge deletion kernel

G is a cograph if it can be built from the single vertex graph by:I [disjoint union] G = G1 ⊕ G2

I [series composition] G = G1 ⊗ G2 (add all possible edgesbetween G1 and G2)

e

Parallèle

Série Série Série Série

b

c

d

u

v

a

z

y

x

w Parallèle Parallèle

Série

Parallèle

d wy u

e

z

ax

v

c b

Observation: The cographs are exactlyI the clique-width 2 graphsI the P4-free graphsI the totally decomposable graphs by the modular

decomposition

Page 29: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

Cograph edge deletion kernel

Given a graph G = (V , E ) and an integer k, does there existF ⊆ V × V such that

I |F | 6 k and G M F is a cograph).

1

2

3

4 5

6

7

Parallel

Series

4 5

Series

Parallel

Series

2

1

3 76

I use properties of modules

I use the (canonical) modular decomposition tree as witnessstructure of the solution

Page 30: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

Cograph edge deletion kernel

Given a graph G = (V , E ) and an integer k, does there existF ⊆ V × V such that

I |F | 6 k and G M F is a cograph).

1

2

3

4 5

6

7

Parallel

Series

4 5

Series

Parallel

Series

2

1

3 76

I use properties of modules

I use the (canonical) modular decomposition tree as witnessstructure of the solution

Page 31: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

Observation: If M is a module and abcd is a P4, then either{a, b, c , d} ⊆ M or |{a, b, c , d} ∩M| = 1

Page 32: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

Observation: If M is a module and abcd is a P4, then either{a, b, c , d} ⊆ M or |{a, b, c , d} ∩M| = 1

We can work independently on

I subgraphs induced by modules and quotient graphs

Page 33: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

Observation: If M is a module and abcd is a P4, then either{a, b, c , d} ⊆ M or |{a, b, c , d} ∩M| = 1

We can work independently on

I subgraphs induced by modules and quotient graphs

Lemma If M is a module of the input graph G , then M is amodule of G M Fopt

edit all or none of the edge between two modules

Page 34: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

Observation: If M is a module and abcd is a P4, then either{a, b, c , d} ⊆ M or |{a, b, c , d} ∩M| = 1

We can work independently on

I subgraphs induced by modules and quotient graphs

Lemma If M is a module of the input graph G , then M is amodule of G M Fopt

edit all or none of the edge between two modules

→ same holds on tournaments for FAST

Page 35: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

Rule: If M is a module of size at least k + 1 in G , then

I replace M by a clique module of size k + 1

I add G [M] as a connected component of the resulting graph

Page 36: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

Rule: If M is a module of size at least k + 1 in G , then

I replace M by a clique module of size k + 1

I add G [M] as a connected component of the resulting graph

Page 37: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

Rule: If M is a module of size at least k + 1 in G , then

I replace M by a clique module of size k + 1

I add G [M] as a connected component of the resulting graph

Observe the size of the graph does not decrease nor the parameter

Page 38: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

Rule: If M is a module of size at least k + 1 in G , then

I replace M by a clique module of size k + 1

I add G [M] as a connected component of the resulting graph

Observe the size of the graph does not decrease nor the parameter

Sunflower rule: if there are at least k + 1 edges pairwiseintersecting only on e, remove e and decrease the parameter.

Theorem [Guillemot, Perez, P.]:Cograph edge deletion has a cubic vertex kernel

Page 39: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

Rule: If M is a module of size at least k + 1 in G , then

I replace M by a clique module of size k + 1

I add G [M] as a connected component of the resulting graph

Observe the size of the graph does not decrease nor the parameter

Sunflower rule: if there are at least k + 1 edges pairwiseintersecting only on e, remove e and decrease the parameter.

Theorem [Guillemot, Perez, P.]:Cograph edge deletion has a cubic vertex kernel

Problem: improve the bound to quadratic

Page 40: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

What to remember ?

I many graph properties can be defined / characterized byproperties of the modular decomposition tree

I the modular decomposition tree structure may provide aninteresting witness structure for the solution

I modules help us to separate / cut the problem we deal with

Page 41: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

What to remember ?

I many graph properties can be defined / characterized byproperties of the modular decomposition tree

I the modular decomposition tree structure may provide aninteresting witness structure for the solution

I modules help us to separate / cut the problem we deal with

Page 42: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

What to remember ?

I many graph properties can be defined / characterized byproperties of the modular decomposition tree

I the modular decomposition tree structure may provide aninteresting witness structure for the solution

I modules help us to separate / cut the problem we deal with

Modules already used in kernelization for:

I cluster editing, bicluster editing, min flip consensus tree,FAST, cograph edge modification. . .

Page 43: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

What about generalizations ?

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 44: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

What about generalizations ?

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 45: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

What about generalizations ?

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 46: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

What about generalizations ?

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 47: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

What about generalizations ?

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 defines a partitive family

Page 48: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

What about generalizations ?

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 defines a partitive family

Modular decomposition generalize to

I digraphs, permutations, k-structure...

I (weakly) partitive families, (weakly) bipartitive families (splitdecomposition)

I more generally tree-like set families

Page 49: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

Example of problem related to these generalizations

Given a graph G = (V , E ) and an integer k, does there existF ⊆ V × V such that

I |F | 6 k and G M F is a distance hereditary graph

Page 50: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

Example of problem related to these generalizations

Given a graph G = (V , E ) and an integer k, does there existF ⊆ V × V such that

I |F | 6 k and G M F is a distance hereditary graph

Theorem Let G be a graph. The following are equivalentI G is a distance hereditary graphI G is totally decomposable by the split decomposition

I G has rankwidth 1(BUT no finite set of forbidden subgraphs)

A split

1

2

3 4

5

6

the split tree of a DH graph

Page 51: Modular decomposition in kernelization › ~paul › Talks › talk-10-worker.pdf · 7 4 2 3 Examples of modules I critical cliques I connected components I connected components of

Example of problem related to these generalizations

Given a graph G = (V , E ) and an integer k, does there existF ⊆ V × V such that

I |F | 6 k and G M F is a distance hereditary graph

Theorem Let G be a graph. The following are equivalentI G is a distance hereditary graphI G is totally decomposable by the split decompositionI G has rankwidth 1

(BUT no finite set of forbidden subgraphs)

A split

1

2

3 4

5

6

the split tree of a DH graph