Practical and Efficient Split Decomposition via Graph-Labelled Trees
Split decomposition of graphs was introduced by Cunningham (under the name join decomposition) as a generalization of the modular decomposition. This paper undertakes an investigation into the algorithmic properties of split decomposition. We do so in the context of graph-labelled trees (GLTs), a new combinatorial object designed to simplify its consideration. GLTs are used to derive an incremental characterization of split decomposition, with a simple combinatorial description, and to explore its properties with respect to Lexicographic Breadth-First Search (LBFS). Applying the incremental characterization to an LBFS ordering results in a split decomposition algorithm that runs in time O(n+m)?(n+m), where ? is the inverse Ackermann function, whose value is smaller than 4 for any practical graph. Compared to Dahlhaus linear time split decomposition algorithm (Dahlhaus in J. Algorithms 36(2):205240, 2000), which does not rely on an incremental construction, our algorithm is just as fast in all but the asymptotic sense and full implementation details are given in this paper. Also, our algorithm extends to circle graph recognition, whereas no such extension is known for Dahlhaus algorithm. The companion paper(Gioan et al. in arXiv:?1104.?3284, 2011) uses our algorithm to derive the first sub-quadratic circle graph recognition algorithm.
split decomposition graph algorithms decomposition theory