# Split (graph theory)

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.
Splits and split decompositions were first introduced by Cunningham (1982), who also studied variants of the same notions for directed graphs.

## Definitions

A cut of an undirected graph is a partition of the vertices into two nonempty subsets, the sides of the cut. The subset of edges that have one endpoint in each side is called a cut-set. When a cut-set forms a complete bipartite graph, its cut is called a split. Thus, a split can be described as a partition of the vertices of the graph into two subsets X and Y, such that every neighbor of X in Y is adjacent to every neighbor of Y in X.
A cut or split is trivial when one of its two sides has only one vertex in it; every trivial cut is a split. A graph is said to be prime (with respect to splits) if it has no nontrivial splits.
Two splits are said to cross if each side of one split has a non-empty intersection with each side of the other split. A split is called strong when it is not crossed by any other split. As a special case, every trivial split is strong. The strong splits of a graph give rise to a structure called the split decomposition or join decomposition of the graph. This decomposition can be represented by a tree whose leaves correspond one-to-one with the given graph, and whose edges correspond one-to-one with the strong splits of the graph, such that the partition of leaves formed by removing any edge from the tree is the same as the partition of vertices given by the associated strong split.
Each internal node i of the split decomposition tree of a graph G is associated with a graph G$_i$, called the quotient graph for node i. The quotient graph can be formed by deleting i from the tree, forming subsets of vertices in G corresponding to the leaves in each of the resulting subtrees, and collapsing each of these vertex sets into a single vertex. Every quotient graph has one of three forms: it may be a prime graph, a complete graph, or a star.
A graph may have exponentially many different splits, but they are all represented in the split decomposition tree, either as an edge of the tree (for a strong split) or as an arbitrary partition of a complete or star quotient graph (for a split that is not strong).

## Examples

In a complete graph or complete bipartite graph, every cut is a split.
In a cycle graph of length four, the partition of the vertices given by 2-coloring the cycle is a nontrivial split, but for cycles of any longer length there are no nontrivial splits.
A bridge of a graph that is not 2-edge-connected corresponds to a split, with each side of the split formed by the vertices on one side of the bridge. The cut-set of the split is just the single bridge edge, which is a special case of a complete bipartite subgraph. Similarly, if v is an articulation point of a graph that is not 2-vertex-connected, then the graph has multiple splits in which v and some but not all of the components formed by its deletion are on one side, and the remaining components are on the other side. In these examples, the cut-set of the split forms a star.

## Algorithms

Cunningham (1982) already showed that it is possible to find the split decomposition in polynomial time. After subsequent improvements to the algorithm, linear time algorithms were discovered by Dahlhaus (2000) and Charbit, de Montgolfier & Raffinot (2012).

## Applications

Split decomposition has been applied in the recognition of several important graph classes:
* A distance-hereditary graph is a graph whose split decomposition contains no prime quotients. Based on this characterization, it is possible to use the split decomposition to recognize distance-hereditary graphs in linear time.
* Parity graphs can be recognized in linear time as the graphs in which each split quotient is either complete or bipartite.
* A circle graph is the intersection graph of a family of chords of a circle. A given graph is a circle graph if and only if each of the quotients of its split decomposition is a circle graph, so testing whether a graph is a circle graph can be reduced to the same problem on the prime quotient graphs of the graph. More, when a circle graph is prime, the combinatorial structure of the set of chords representing it is uniquely determined, which simplifies the task of recognizing this structure. Based on these ideas, it is possible to recognize circle graphs in polynomial time.
Split decomposition has also been used to simplify the solution of some problems that are NP-hard on arbitrary graphs:
* As Cunningham (1982) already observed, the maximum independent set of any graph may be found by a dynamic programming algorithm on a bottom-up traversal of its split decomposition tree. At each node we choose the maximum weight independent set on its quotient graph, weighted by the sizes of the independent sets already computed at child nodes.
* Although another algorithm given by Cunningham (1982) is flawed, a similar bottom-up traversal can be used to compute the maximum clique of a graph by combining computations of weighted maximum cliques in its quotient graphs.
* Rao (2008) also presents algorithms for connected dominating sets, complete dominating sets, and graph coloring.
These methods can lead to polynomial time algorithms for graphs in which each quotient graph has a simple structure that allows its subproblem to be computed efficiently. For instance, this is true of the graphs in which each quotient graph has constant size.