Efficient recognition algorithms for $(1,2)$-, $(2,1)$- and $(2,2)$-graphs
Flavia Bonomo-Braberman, Min Chih Lin, Ignacio Maqueda
TL;DR
This work advances the recognition of $(k,\ell)$-graphs by delivering faster algorithms for the small-case families: $(2,1)$, $(1,2)$, and $(2,2)$. Leveraging refined analyses of sparse–dense partitions and targeted structural decompositions, the authors achieve $O(n(n+m))$ for $(2,1)$, $O(n^2+n\overline{m})$ for $(1,2)$, and $O(n^4 (n+\min\{m,\overline{m}\})^3)$ for $(2,2)$, significantly improving prior bounds. They also discuss alternative strategies based on odd-cycle intersections and complement symmetry to reach the same or related efficiencies. The results enhance scalability of recognizing these graph classes and illustrate the value of combining precise combinatorial arguments with partition-based frameworks in graph recognition.
Abstract
A graph $G$ is said to be a $(k,\ell)$-graph if its vertex set can be partitioned into $k$ independent sets and $\ell$ cliques. It is well established that the recognition problem for $(k,\ell)$-graphs is NP-complete whenever $k \geq 3$ or $\ell \geq 3$, while it is solvable in polynomial time otherwise. In particular, for the case $k+\ell \leq 2$, recognition can be carried out in linear time, since split graphs coincide with the class of $(1,1)$-graphs, bipartite graphs correspond precisely to $(2,0)$-graphs, and $(\ell,k)$-graphs are the complements of $(k,\ell)$-graphs. Recognition algorithms for $(2,1)$- and $(1,2)$-graphs were provided by Brandstädt, Le and Szymczak in 1998, while the case of $(2,2)$-graphs was addressed by Feder, Hell, Klein, and Motwani in 1999. In this work, we refine these results by presenting improved recognition algorithms with lower time complexity. Specifically, we reduce the running time from $O((n+m)^2)$ to $O(n^2+nm)$ for $(2,1)$-graphs, from $O((n+\overline{m})^2)$ to $O(n^2+n\overline{m})$ for $(1,2)$-graphs, and from $O(n^{10}(n+m))$ to $O(n^4 (n+\min\{m,\overline{m}\})^3)$ for $(2,2)$-graphs. Here, $n$ and $m$ denote the number of vertices and edges of the input graph $G$, respectively, and $\overline{m}$ denotes the number of edges in the complement of $G$.
