Table of Contents
Fetching ...

A recursive linear time modular decomposition algorithm via LexBFS

Derek Corneil, Michel Habib, Christophe Paul, Marc Tedder

TL;DR

The paper tackles the problem of computing the modular decomposition tree ${ m MD}(G)$ in linear time. It introduces a mixed recursive paradigm that combines the skeleton and factoring-permutation approaches with a LexBFS-based slice decomposition, enabling a streamlined, data-structure-friendly algorithm. Key contributions include the formulation of factoring $x$-modular sequences, the introduction of slices and slice-decomposition, a linear-time preprocessing via LexBFS, and an assembly procedure that merges local modular decompositions into a global ${ m MD}(G)$. The approach yields a practical, implementable linear-time algorithm and suggests broad applicability of slice-based preprocessing to related decomposition problems and graph algorithms.

Abstract

A module of a graph G is a set of vertices that have the same set of neighbours outside. Modules of a graphs form a so-called partitive family and thereby can be represented by a unique tree MD(G), called the modular decomposition tree. Motivated by the central role of modules in numerous algorithmic graph theory questions, the problem of efficiently computing MD(G) has been investigated since the early 70's. To date the best algorithms run in linear time but are all rather complicated. By combining previous algorithmic paradigms developed for the problem, we are able to present a simpler linear-time that relies on very simple data-structures, namely slice decomposition and sequences of rooted ordered trees.

A recursive linear time modular decomposition algorithm via LexBFS

TL;DR

The paper tackles the problem of computing the modular decomposition tree in linear time. It introduces a mixed recursive paradigm that combines the skeleton and factoring-permutation approaches with a LexBFS-based slice decomposition, enabling a streamlined, data-structure-friendly algorithm. Key contributions include the formulation of factoring -modular sequences, the introduction of slices and slice-decomposition, a linear-time preprocessing via LexBFS, and an assembly procedure that merges local modular decompositions into a global . The approach yields a practical, implementable linear-time algorithm and suggests broad applicability of slice-based preprocessing to related decomposition problems and graph algorithms.

Abstract

A module of a graph G is a set of vertices that have the same set of neighbours outside. Modules of a graphs form a so-called partitive family and thereby can be represented by a unique tree MD(G), called the modular decomposition tree. Motivated by the central role of modules in numerous algorithmic graph theory questions, the problem of efficiently computing MD(G) has been investigated since the early 70's. To date the best algorithms run in linear time but are all rather complicated. By combining previous algorithmic paradigms developed for the problem, we are able to present a simpler linear-time that relies on very simple data-structures, namely slice decomposition and sequences of rooted ordered trees.

Paper Structure

This paper contains 35 sections, 37 theorems, 13 equations, 11 figures, 7 algorithms.

Key Result

Theorem 1

CheinHM81Partitive Let $\mathcal{F}\subseteq 2^V$ be a partitive family on ground set $V$. Every strong element of $\mathcal{F}$ is either degenerate or prime. Moreover, for every element $A\in\mathcal{F}$ that is not strong, there exists a node $u$ in $\mathsf{T}_{\mathcal{F}}$ and a non-trivial su

Figures (11)

  • Figure 1: The substitution in $G$ of the vertex $x$ by the graph $H$ results in the graph $G_{x\rightarrow H}$.
  • Figure 2: The skeleton tree of a modular decomposition tree ${\mathsf{MD}}(G)$ for some graph $G$. The maximal modules not containing $x$ are $\mathcal{M}_{{\footnotesize{\mathsf{max}}}}^{\overline{x}}(G)=\{M_1, M_2, M_3, M_4, M_5\}$. Their modular decomposition sub-tree are attached to the $x$-spine.
  • Figure 3: A graph $G=(V,E)$ and its modular decomposition tree ${\mathsf{MD}}(G)$. Every vertex of $S=\{a,b,e,f,g\}$ is adjacent to every vertex of $V\setminus S$. Colored red in ${\mathsf{MD}}(G)$, the nodes corresponding the $\mathcal{M}_{{\footnotesize{\mathsf{max}}}}^{\overline{x}}(G)$. Observe that the module $\{y,z\}$ belongs to $\mathcal{M}_{{\footnotesize{\mathsf{max}}}}^{\overline{x}}(G)$ but is not a strong module. Colored blue, the nodes corresponding to $\mathcal{M}_{{\footnotesize{\mathsf{strong}}}}^x(G)$. The sequence $\vec{\mathcal{M}}(x)=\langle \{a,b,e,f,g\},\{c,d\},\{x\},\{y,z\},\{u\},\{v,w\}\rangle$ is a factoring $x$-modular sequence (see \ref{['def_modular_sequence']}) and the sequence $\vec{\mathcal{S}}(x)=\langle \{a,b,c,d,e,f,g\},\{x\},\{y,z,u\},\{v,w\}\rangle$ is a factoring $x$-slice sequence (see \ref{['def_slice_sequence']}).
  • Figure 4: The modular decomposition tree ${\mathsf{MD}}(G)$ of the graph $G$ of \ref{['fig_MD_tree']} drawn to certify that the sequence $\vec{\mathcal{M}}(x)=\langle \{x\}, \{y,z\}, \{u\}, \{v,w\}, \{c,d\}, \{b,c,a,f,g\}\rangle$ is a factoring $x$-modular sequence.
  • Figure 5: A laminar decomposition $\mathsf{LD}(G)$ of the graph $G=(V,E)$. In every node, the partition of the leaves defined by the children is represented (in black) and the set of active edge is given (in red).
  • ...and 6 more figures

Theorems & Definitions (90)

  • Definition 1
  • Definition 2
  • Theorem 1
  • Definition 3
  • Lemma 1
  • Theorem 2
  • Corollary 1
  • Definition 4
  • Lemma 2
  • proof
  • ...and 80 more