A fundamental graph problem is to recognize whether the vertex set of a graph G can be bipartitioned into sets A and B such that G [A] and G [B] satisfy properties ΠA and ΠB, respectively. This so-called (ΠA, ΠB)-Recognition problem generalizes amongst others the recognition of 3-colorable, bipartite, split, and monopolar graphs. A powerful algorithmic technique that can be used to obtain fixed-parameter algorithms for many cases of (ΠA, ΠB)-Recognition, as well as several other problems, is the pushing process. For bipartition problems, the process starts with an "almost correct" bipartition (A , B ), and pushes appropriate vertices from A to B and vice versa to eventually arrive at a correct bipartition.In this paper, we study whether (ΠA, ΠB)-Recognition problems for which the pushing process yields fixed-parameter algorithms also admit polynomial problem kernels. In our study, we focus on the first level above triviality, where ΠA is the set of P3-free graphs (disjoint unions of cliques, or cluster graphs), the parameter is the number of clusters in the cluster graph G[A], and ΠB is characterized by a set H of connected forbidden induced subgraphs. We prove that, under the assumption that NP ⊆ coNP/poly, (ΠA, ΠB)-Recognition admits a polynomial kernel if and only if H contains a graph with at most 2 vertices. In both the kernelization and the lower bound results, we make crucial use of the pushing process. Theorem 1.3. Cluster-Π ∆ -Partition parameterized by k, the maximum size of B, has an O((∆ 2 + 1) · k 2 )-vertex kernel.
PreliminariesGraphs We follow standard graph-theoretic notation [11]. Let G be a graph. By V (G) and E(G) we denote the vertex-set and the edge-set of G, respectively. Throughout the paper, we use n := |V (G)| to denote the number of vertices in G and m := |E(G)| to denote its number of edges. We also say that G is of order |V (G)|. We assume n = O(m) since isolated vertices can be safely removed in the problems that we consider. For X ⊆ V (G), G[X] = (X, {e | e ∈ E(G) ∩ X} denotes the subgraph of G induced by X. For a vertex v ∈ G, N (v) = {u | {u, v} ∈ E(G)} and N [v] = N (v) ∪ {v} denote the open neighborhood and the closed neighborhood of v, respectively. For X ⊆ V (G), we define N (X) := ( v∈X N (v)) \ X and N [X] := v∈X N [v], and for a family X of subsets X ⊆ V (G), we define N (X ) := ( X∈X N (X)) \ ( X∈X X) and N [X ] := X∈X N [X].