Modular decomposition

Last updated

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.

Contents

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( Brandstädt, Le & Spinrad 1999 ). 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., , either is adjacent to both and or is neither adjacent to nor to .

This condition can be succinctly written as 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.

A graph, its quotient where "bags" of vertices of the graph correspond to the children of the root of the modular decomposition tree, and its full modular decomposition tree: series nodes are labeled "s", parallel nodes "//" and prime nodes "p". ModularDecomposition.png
A graph, its quotient where "bags" of vertices of the graph correspond to the children of the root of the modular decomposition tree, and its full modular decomposition tree: series nodes are labeled "s", parallel nodes "//" and prime nodes "p".

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:

  1. As a base case, if only has one vertex, its modular decomposition is a single tree node.
  2. 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.
  3. 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.
  4. 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
O
(
n
)
{\displaystyle {\mathcal {O}}(n)}
representation of the modular decomposition O n ModularDecompRep.pdf
An representation of the modular decomposition

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.

The modular decomposition, augmented with a quotient on the children of each internal node, gives a complete representation of
G
{\displaystyle G}
. ModDecompQuotients.pdf
The modular decomposition, augmented with a quotient on the children of each internal node, gives a complete representation of .

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 ( McConnell & de Montgolfier 2005 ).

With a small number of simple exceptions, every graph with a nontrivial modular decomposition also has a skew partition ( Reed 2008 ).

Related Research Articles

<span class="mw-page-title-main">Graph theory</span> Area of discrete mathematics

In mathematics, graph theory is the study of graphs, which are mathematical structures used to model pairwise relations between objects. A graph in this context is made up of vertices which are connected by edges. A distinction is made between undirected graphs, where edges link two vertices symmetrically, and directed graphs, where edges link two vertices asymmetrically. Graphs are one of the principal objects of study in discrete mathematics.

<span class="mw-page-title-main">Tree decomposition</span> Mapping of a graph into a tree

In graph theory, a tree decomposition is a mapping of a graph into a tree that can be used to define the treewidth of the graph and speed up solving certain computational problems on the graph.

<span class="mw-page-title-main">Hypergraph</span> Generalization of graph theory

In mathematics, a hypergraph is a generalization of a graph in which an edge can join any number of vertices. In contrast, in an ordinary graph, an edge connects exactly two vertices.

This is a glossary of graph theory. Graph theory is the study of graphs, systems of nodes or vertices connected in pairs by lines or edges.

<span class="mw-page-title-main">Graph (abstract data type)</span> Abstract data type in computer science

In computer science, a graph is an abstract data type that is meant to implement the undirected graph and directed graph concepts from the field of graph theory within mathematics.

<span class="mw-page-title-main">Strongly connected component</span> Partition of a graph whose components are reachable from all vertices

In the mathematical theory of directed graphs, a graph is said to be strongly connected if every vertex is reachable from every other vertex. The strongly connected components of a directed graph form a partition into subgraphs that are themselves strongly connected. It is possible to test the strong connectivity of a graph, or to find its strongly connected components, in linear time (that is, Θ(V + E )).

In mathematics, in the areas of order theory and combinatorics, Dilworth's theorem characterizes the width of any finite partially ordered set in terms of a partition of the order into a minimum number of chains. It is named for the mathematician Robert P. Dilworth.

In computer science, a topological sort or topological ordering of a directed graph is a linear ordering of its vertices such that for every directed edge (u,v) from vertex u to vertex v, u comes before v in the ordering. For instance, the vertices of the graph may represent tasks to be performed, and the edges may represent constraints that one task must be performed before another; in this application, a topological ordering is just a valid sequence for the tasks. Precisely, a topological sort is a graph traversal in which each node v is visited only after all its dependencies are visited. A topological ordering is possible if and only if the graph has no directed cycles, that is, if it is a directed acyclic graph (DAG). Any DAG has at least one topological ordering, and algorithms are known for constructing a topological ordering of any DAG in linear time. Topological sorting has many applications, especially in ranking problems such as feedback arc set. Topological sorting is possible even when the DAG has disconnected components.

<span class="mw-page-title-main">Cograph</span> Graph formed by complementation and disjoint union

In graph theory, a cograph, or complement-reducible graph, or P4-free graph, is a graph that can be generated from the single-vertex graph K1 by complementation and disjoint union. That is, the family of cographs is the smallest class of graphs that includes K1 and is closed under complementation and disjoint union.

<span class="mw-page-title-main">Bridge (graph theory)</span> Edge in node-link graph whose removal would disconnect the graph

In graph theory, a bridge, isthmus, cut-edge, or cut arc is an edge of a graph whose deletion increases the graph's number of connected components. Equivalently, an edge is a bridge if and only if it is not contained in any cycle. For a connected graph, a bridge can uniquely determine a cut. A graph is said to be bridgeless or isthmus-free if it contains no bridges.

<span class="mw-page-title-main">Dominating set</span> Subset of a graphs nodes such that all other nodes link to at least one

In graph theory, a dominating set for a graph G is a subset D of its vertices, such that any vertex of G is in D, or has a neighbor in D. The domination numberγ(G) is the number of vertices in a smallest dominating set for G.

In graph theory, the Dulmage–Mendelsohn decomposition is a partition of the vertices of a bipartite graph into subsets, with the property that two adjacent vertices belong to the same subset if and only if they are paired with each other in a perfect matching of the graph. It is named after A. L. Dulmage and Nathan Mendelsohn, who published it in 1958. A generalization to any graph is the Edmonds–Gallai decomposition, using the Blossom algorithm.

In graph theory, a path decomposition of a graph G is, informally, a representation of G as a "thickened" path graph, and the pathwidth of G is a number that measures how much the path was thickened to form G. More formally, a path-decomposition is a sequence of subsets of vertices of G such that the endpoints of each edge appear in one of the subsets and such that each vertex appears in a contiguous subsequence of the subsets, and the pathwidth is one less than the size of the largest set in such a decomposition. Pathwidth is also known as interval thickness, vertex separation number, or node searching number.

<span class="mw-page-title-main">Factor-critical graph</span> Graph of n vertices with a perfect matching for every subgraph of n-1 vertices

In graph theory, a mathematical discipline, a factor-critical graph is a graph with n vertices in which every subgraph of n − 1 vertices has a perfect matching.

<span class="mw-page-title-main">Distance-hereditary graph</span> Graph whose induced subgraphs preserve distance

In graph theory, a branch of discrete mathematics, a distance-hereditary graph is a graph in which the distances in any connected induced subgraph are the same as they are in the original graph. Thus, any induced subgraph inherits the distances of the larger graph.

In graph theory, the planar separator theorem is a form of isoperimetric inequality for planar graphs, that states that any planar graph can be split into smaller pieces by removing a small number of vertices. Specifically, the removal of vertices from an n-vertex graph can partition the graph into disjoint subgraphs each of which has at most vertices.

<span class="mw-page-title-main">Trapezoid graph</span> Intersection graph of trapezoids between parallel lines

In graph theory, trapezoid graphs are intersection graphs of trapezoids between two horizontal lines. They are a class of co-comparability graphs that contain interval graphs and permutation graphs as subclasses. A graph is a trapezoid graph if there exists a set of trapezoids corresponding to the vertices of the graph such that two vertices are joined by an edge if and only if the corresponding trapezoids intersect. Trapezoid graphs were introduced by Dagan, Golumbic, and Pinter in 1988. There exists algorithms for chromatic number, weighted independent set, clique cover, and maximum weighted clique.

<span class="mw-page-title-main">Skew partition</span>

In graph theory, a skew partition of a graph is a partition of its vertices into two subsets, such that the induced subgraph formed by one of the two subsets is disconnected and the induced subgraph formed by the other subset is the complement of a disconnected graph. Skew partitions play an important role in the theory of perfect graphs.

<span class="mw-page-title-main">Split (graph theory)</span>

In graph theory, a split of an undirected graph is a cut whose cut-set forms a complete bipartite graph. A graph is prime if it has no splits. The splits of a graph can be collected into a tree-like structure called the split decomposition or join decomposition, which can be constructed in linear time. This decomposition has been used for fast recognition of circle graphs and distance-hereditary graphs, as well as for other problems in graph algorithms.

<span class="mw-page-title-main">Gallai–Edmonds decomposition</span> Partition of the vertices of a graph giving information on the structure of maximum matchings

In graph theory, the Gallai–Edmonds decomposition is a partition of the vertices of a graph into three subsets which provides information on the structure of maximum matchings in the graph. Tibor Gallai and Jack Edmonds independently discovered it and proved its key properties.

References