Modular Decomposition - Algorithmic Issues

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 G that the node represents. An obvious way to do this is to assign to each node a list of the k vertices of G that it represents. Given a pointer to a node, this structure could return the set of vertices of G that it represents in O(k) time. However, this data structure would require space in the worst case.

An O(n)-space alternative that matches this performance is obtained by representing the modular decomposition tree using any standard O(n) rooted-tree data structure and labeling each leaf with the vertex of G that it represents. The set represented by an internal node v is given by the set of labels of its leaf descendants. It is well known that any rooted tree with k leaves has at most k-1 internal nodes, one can using a depth-first search, starting at v, to report the labels of leaf descendants of v, takes O(k) time.

Each node X is a set of vertices of G and, if X is an internal node, the set P of children of X is a partition of X where each partition class is a module. They therefore induce the quotient G/P in G. The vertices of this quotient are the elements of P, so G/P can be represented by installing edges among the children of X. If Y and Z are two members of P and and, then u and v are adjacent in G if and only if Y and Z are adjacent in this quotient. For any pair {u,v} of vertices of G, this is determined by the quotient at children of the least common ancestor of {u} and {v} in the modular decomposition tree. Therefore, the modular decomposition, labeled in this way with quotients, gives a complete representation of G.

Many combinatorial problems can be solved on G by solving the problem separately on each of these quotients. For example, G 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).

Read more about this topic:  Modular Decomposition

Famous quotes containing the word issues:

    I can never bring you to realize the importance of sleeves, the suggestiveness of thumb-nails, or the great issues that may hang from a boot-lace.
    Sir Arthur Conan Doyle (1859–1930)