Given a graph, the $k$-plex is a vertex set in which each vertex is not adjacent to at most $k-1$ other vertices in the set. The maximum $k$-plex problem, which asks for the largest $k$-plex from a given graph, is an important but computationally challenging problem in applications like graph search and community detection. So far, there is a number of empirical algorithms without sufficient theoretical explanations on the efficiency. We try to bridge this gap by defining a novel parameter of the input instance, $g_k(G)$, the gap between the degeneracy bound and the size of maximum $k$-plex in the given graph, and presenting an exact algorithm parameterized by $g_k(G)$. In other words, we design an algorithm with running time polynomial in the size of input graph and exponential in $g_k(G)$ where $k$ is a constant. Usually, $g_k(G)$ is small and bounded by $O(\log{(|V|)})$ in real-world graphs, indicating that the algorithm runs in polynomial time. We also carry out massive experiments and show that the algorithm is competitive with the state-of-the-art solvers. Additionally, for large $k$ values such as $15$ and $20$, our algorithm has superior performance over existing algorithms.
翻译:给定一张图,$k$-plex是一个顶点集,其中每个顶点与该集合中至多$k-1$个其他顶点不相邻。最大$k$-plex问题要求从给定的图中找出最大的$k$-plex,在图搜索和社区检测等应用中是一个重要但计算上具有挑战性的问题。迄今为止,存在大量经验算法,但缺乏对效率的充分理论解释。我们尝试通过定义输入实例的新参数$g_k(G)$(即给定图中退化界限与最大$k$-plex大小之间的差距)来弥合这一空白,并提出一种以$g_k(G)$为参数化的精确算法。换句话说,我们设计了一种算法,其运行时间在输入图规模上呈多项式级,在$g_k(G)$上呈指数级,其中$k$为常数。通常,在实际图中$g_k(G)$较小,且被限制在$O(\log{(|V|)})$以内,这表明该算法可在多项式时间内运行。我们还进行了大量实验,结果表明该算法与最先进的求解器具有竞争力。此外,对于较大的$k$值(如$15$和$20$),我们的算法相较现有算法表现出更优越的性能。