Modular decomposition explained
In graph theory, the modular decomposition is a decomposition of a graph into subsets of vertices called modules. A module is a generalization of a connected component of a graph. Unlike connected components, however, one module can be a proper subset of another. Modules therefore lead to a recursive (hierarchical) decomposition of the graph, instead of just a partition.
There are variants of modular decomposition for undirected graphs and directed graphs. For each undirected graph, this decomposition is unique.
This notion can be generalized to other structures (for example directed graphs) and is useful to design efficient algorithms for the recognition of some graph classes, for finding transitive orientations of comparability graphs, for optimization problems on graphs, and for graph drawing.
Modules
As the notion of modules has been rediscovered in many areas, modules have also been called autonomous sets, homogeneous sets, stable sets, clumps, committees, externally related sets, intervals, nonsimplifiable subnetworks, and partitive sets . Perhaps the earliest reference to them, and the first description of modular quotients and the graph decomposition they give rise to appeared in (Gallai 1967).
A module of a graph is a generalization of a connected component. A connected component has the property that it is a set
of vertices such that every member of
is a
non-neighbor of every vertex not in
. (It is a union of connected components if and only if it has this property.) More generally,
is a module if, for each vertex
, either every member of
is a non-neighbor of
or every member of
is a neighbor of
.
Equivalently,
is a module if all members of
have the same set of neighbors among vertices not in
.
Contrary to the connected components, the modules of a graph are the same as the modules of its complement, and modules can be "nested": one module can be a proper subset of another. Note that the set
of vertices of a graph is a module, as are its one-element subsets and the empty set; these are called the
trivial modules. A graph may or may not have other modules. A graph is called
prime if all of its modules are trivial.
Despite these differences, modules preserve a desirable property of connected components, which is that many properties of the subgraph
induced by a connected component
are independent of the rest of the graph. A similar phenomenon also applies to the subgraphs induced by modules.
The modules of a graph are therefore of great algorithmic interest. A set of nested modules, of which the modular decomposition is an example, can be used to guide the recursive solution of many combinatorial problems on graphs, such as recognizing and transitively orienting comparability graphs, recognizing and finding permutation representations of permutation graphs, recognizing whether a graph is a cograph and finding a certificate of the answer to the question, recognizing interval graphs and finding interval representations for them, defining distance-hereditary graphs (Spinrad, 2003) and for graph drawing (Papadopoulos, 2006). They play an important role in Lovász's celebrated proof of the perfect graph theorem (Golumbic, 1980).
For recognizing distance-hereditary graphs and circle graphs, a further generalization of modular decomposition, called the split decomposition, is especially useful (Spinrad, 2003).
To avoid the possibility of ambiguity in the above definitions, we give the following formal definitions of modules. Let
be a graph.A set
is a
module of
if the vertices of
cannot be distinguished by any vertex in
, i.e.,
\forallu,v\inM,\forallx\inV\backslashM
, either
is adjacent to both
and
or
is neither adjacent to
nor to
.
This condition can be succinctly written as
N(u)\setminusM=N(v)\setminusM
for all
.Here,
denotes the set of neighbours of
.
For example,
,
and all the
singletons
for
are modules.They are called
trivial modules. A graph is
prime if all its modules are trivial.
Connected components of a graph
, or of its complement graph are also modules of
.
is a
strong module of a graph
if it does not overlap any other module of
:
module of
, either
or
or
.
Modular quotients and factors
If
and
are disjoint modules, then it is easy to see that either every member of
is a neighbor of every element of
, or no member of
is adjacent to any member of
. Thus, the relationship between two disjoint modules is either
adjacent or
nonadjacent. No relationship intermediate between these two extremes can exist.
Because of this, modular partitions of
where each partition class is a module are of particular interest. Suppose
is a modular partition. Since the partition classes are disjoint, their adjacencies constitute a new graph, a
quotient graph
, whose vertices are the members of
. That is, each vertex of
is a module of G, and the adjacencies of these modules are the edges of
.
In the figure below, vertex 1, vertices 2 through 4, vertex 5, vertices 6 and 7, and vertices 8 through 11 are a modular partition. In the upper right diagram, the edges between these sets depict the quotient given by this partition, while the edges internal to the sets depict the corresponding factors.
The partitions
and
are the
trivial modular partitions.
is just the one-vertex graph, while
. Suppose
is a nontrivial module. Then
and the one-elements subsets of
are a nontrivial modular partition of
. Thus, the existence of
any nontrivial modules implies the existence of nontrivial modular partitions. In general, many or all members of
can be nontrivial modules.
If
is a nontrivial modular partition, then
is a compact representation of all the edges that have endpoints in different partition classes of
. For each partition class
in
, the subgraph
induced by
is called a
factor and gives a representation of all edges with both endpoints in
. Therefore, the edges of
can be reconstructed given only the quotient graph
and its factors. The term
prime graph comes from the fact that a prime graph has only trivial quotients and factors.
When
is a factor of a modular quotient
, it is possible that
can be recursively decomposed into factors and quotients. Each level of the recursion gives rise to a quotient. As a base case, the graph has only one vertex. Collectively,
can be reconstructed inductively by reconstructing the factors from the bottom up, inverting the steps of the decomposition by combining factors with the quotient at each level.
In the figure below, such a recursive decomposition is represented by a tree that depicts one way of recursively decomposing factors of an initial modular partition into smaller modular partitions.
A way to recursively decompose a graph into factors and quotients may not be unique. (For example, all subsets of the vertices of a complete graph are modules, which means that there are many different ways of decomposing it recursively.) Some ways may be more useful than others.
The modular decomposition
Fortunately, there exists such a recursive decomposition of a graph that implicitly represents all ways of decomposing it; this is the modular decomposition. It is itself a way of decomposing a graph recursively into quotients, but it subsumes all others. The decomposition depicted in the figure below is this special decomposition for the given graph.
The following is a key observation in understanding the modular decomposition:
If
is a module of
and
is a subset of
, then
is a module of
, if and only if it is a module of
.In (Gallai, 1967), Gallai defined the modular decomposition recursively on a graph with vertex set
, as follows:
- As a base case, if
only has one vertex, its modular decomposition is a single tree node.
- Gallai showed that if
is connected and so is its complement, then the maximal modules that are proper subsets of
are a partition of
. They are therefore a modular partition. The quotient that they define is prime. The root of the tree is labeled a
prime node, and these modules are assigned as children of
. Since they are maximal, every module not represented so far is contained in a child
of
. For each child
of
, replacing
with the modular decomposition tree of
gives a representation of all modules of
, by the key observation above.
- If
is disconnected, its complement is connected. Every union of connected components is a module of
. All other modules are subsets of a single connected component. This represents all modules, except for subsets of connected components. For each component
, replacing
by the modular decomposition tree of
gives a representation of all modules of
, by the key observation above. The root of the tree is labeled a
parallel node, and it is attached in place of
as a child of the root. The quotient defined by the children is the complement of a complete graph.
- If the complement of
is disconnected,
is connected. The subtrees that are children of
are defined in a way that is symmetric with the case where
is disconnected, since the modules of a graph are the same as the modules of its complement. The root of the tree is labeled a
serial node, and the quotient defined by the children is a complete graph.
The final tree has one-element sets of vertices of
as its leaves, due to the base case. A set
of vertices of
is a module if and only if it is a node of the tree or a union of children of a series or parallel node. This implicitly gives all modular partitions of
. It is in this sense that the modular decomposition tree "subsumes" all other ways of recursively decomposing
into quotients.
Algorithmic issues
A data structure for representing the modular decomposition tree should support the operation that inputs a node and returns the set of vertices of
that the node represents. An obvious way to do this is to assign to each node a list of the
vertices of
that it represents. Given a pointer to a node, this structure could return the set of vertices of
that it represents in
time. However, this data structure would require
space in the worst case.
An
-space alternative that matches this performance is obtained by representing the modular decomposition tree using any standard
rooted-tree data structure and labeling each leaf with the vertex of
that it represents. The set represented by an internal node
is given by the set of labels of its leaf descendants. It is well known that any rooted tree with
leaves has at most
internal nodes. One can use a depth-first search starting at
to report the labels of leaf-descendants of
in
time.
Each node
is a set of vertices of
and, if
is an internal node, the set
of children of
is a partition of
where each partition class is a module. They therefore induce the quotient
in
. The vertices of this quotient are the elements of
, so
can be represented by installing edges among the children of
. If
and
are two members of
and
and
, then
and
are adjacent in
if and only if
and
are adjacent in this quotient. For any pair
of vertices of
, this is determined by the quotient at children of the least common ancestor of
and
in the modular decomposition tree. Therefore, the modular decomposition, labeled in this way with quotients, gives a complete representation of
.
Many combinatorial problems can be solved on
by solving the problem separately on each of these quotients. For example,
is a comparability graph if and only if each of these quotients is a comparability graph (Gallai, 67; Möhring, 85). Therefore, to find whether a graph is a comparability graph, one need only find whether each of the quotients is. In fact, to find a
transitive orientation of a comparability graph, it suffices to transitively orient each of these quotients of its modular decomposition (Gallai, 67; Möhring, 85). A similar phenomenon applies for permutation graphs, (McConnell and Spinrad '94), interval graphs (Hsu and Ma '99), perfect graphs, and other graph classes. Some important combinatorial optimization problems on graphs can be solved using a similar strategy (Möhring, 85).
Cographs are the graphs that only have parallel or series nodes in their modular decomposition tree.
The first polynomial algorithm to compute the modular decomposition tree of a graph was published in 1972 (James, Stanton & Cowan 1972) and now linear algorithms are available (McConnell & Spinrad 1999, Tedder et al. 2007, Cournier & Habib 1994).
Generalizations
Modular decomposition of directed graphs can be done in linear time .
With a small number of simple exceptions, every graph with a nontrivial modular decomposition also has a skew partition .
References
- Book: Brandstädt. Andreas. Le. Van Bang. Spinrad. Jeremy P.. Graph Classes: A Survey. 978-0-89871-432-6. Society for Industrial and Applied Mathematics. 1999. 10.1137/1.9780898719796.
- Gallai. Tibor. Tibor Gallai. Transitiv orientierbare Graphen. Acta Mathematica Academiae Scientiarum Hungaricae. 18. 1–2. 1967. 25–66. 0221974. 10.1007/BF02020961. 119485995.
- Book: James . Lee O. . Stanton . Ralph G. . Cowan . Donald D. . Graph decomposition for undirected graphs . Proc. 3rd Southeastern International Conference on Combinatorics, Graph Theory, and Computing (Florida Atlantic Univ., Boca Raton, Fla., 1972) . . 1972 . 281–290 . 0351909.
- Book: Golumbic . Martin C. . Academic Press . 1980 . Algorithmic Graph Theory and Perfect Graphs . 0-444-51530-5.
- 10.1137/S0097539792224814 . Hsu . W.L. . Ma . T. . Fast and simple algorithms for recognizing chordal comparability graphs and interval graphs . SIAM Journal on Computing . 28 . 3 . 1999 . 1004–1020. 10.1.1.104.4647.
- McConnell . Ross M. . de Montgolfier . Fabien . 10.1016/j.dam.2004.02.017 . free . 2 . . 198–209 . Linear-time modular decomposition of directed graphs . 145 . 2005 .
- McConnell . Ross M. . Spinrad . Jeremy P. . Modular decomposition and transitive orientation . . 201 . 1–3 . 1999 . 189–241 . 1687819 . 10.1016/S0012-365X(98)00319-7. free .
- Möhring . Rolf H. . Algorithmic aspects of comparability graphs and interval graphs . Graphs and Order . I. Rival . D. Reidel . 1985 . 41–101. 10.1007/978-94-009-5315-4_2 . 978-94-010-8848-0 .
- 10.1007/BF02022041 . Möhring . Rolf H. . Algorithmic aspects of the substitution decomposition in optimization over relations, set systems and Boolean functions . Annals of Operations Research . 4 . 1985 . 195–225. 119982014 .
- Book: Papadopoulos . Charis . Voglis . Constantinos . Drawing graphs using modular decomposition . Proc. 13th International Symposium on Graph Drawing (GD'05) . Lecture Notes in Computer Science . Springer-Verlag . 3843 . 2005 . 343–354 . http://www.ii.uib.no/~charis/files/DrawModular.pdf . 2229205 . 10.1007/11618058_31. International Symposium on Graph Drawing .
- Reed . Bruce . Bruce Reed (mathematician) . 10.1016/j.dam.2007.05.054 . 7 . . 2404228 . 1150–1156 . Skew partitions in perfect graphs . 156 . 2008 . 2012-08-13 . https://web.archive.org/web/20150919032920/http://cgm.cs.mcgill.ca/~reedbook/papers/SkewPartitionsPerfectGraphs.pdf . 2015-09-19 . dead . free .
- Book: Spinrad . Jeremy P. . Fields Institute Monographs . American Mathematical Society . 2003 . Efficient Graph Representations . 0-8218-2815-0.
- Book: Tedder . Marc . Corneil . Derek . Derek Corneil . Habib . Michel . Paul . Christophe . Simpler Linear-Time Modular Decomposition Via Recursive Factorizing Permutations . Lecture Notes in Computer Science . Springer-Verlag . 5125 . 2008 . 634–645 . 0710.3901 . 10.1007/978-3-540-70575-8_52 . Proc. 35th International Colloquium on Automata, Languages and Programming (ICALP 2008). International Colloquium on Automata, Languages and Programming .
- Zahedi . Emad . Smith . Jason . 7 . . Modular Decomposition of Graphs and the Distance Preserving Property . 265 . 31 July 2019 . 192–198 . 10.1016/j.dam.2019.03.019 . 2018arXiv180509853Z . 1805.09853 .
External links