The edge clique cover (ECC) problem -- where the goal is to find a minimum cardinality set of cliques that cover all the edges of a graph -- is a classic NP-hard problem that has received much attention from both the theoretical and experimental algorithms communities. While small sparse graphs can be solved exactly via the branch-and-reduce algorithm of Gramm et al. [JEA 2009], larger instances can currently only be solved inexactly using heuristics with unknown overall solution quality. We revisit computing minimum ECCs exactly in practice by combining data reduction for both the ECC \emph{and} vertex clique cover (VCC) problems. We do so by modifying the polynomial-time reduction of Kou et al. [Commun. ACM 1978] to transform a reduced ECC instance to a VCC instance; alternatively, we show it is possible to ``lift'' some VCC reductions to the ECC problem. Our experiments show that combining data reduction for both problems (which we call \emph{synergistic data reduction}) enables finding exact minimum ECCs orders of magnitude faster than the technique of Gramm et al., and allows solving large sparse graphs on up to millions of vertices and edges that have never before been solved. With these new exact solutions, we evaluate the quality of recent heuristic algorithms on large instances for the first time. The most recent of these, \textsf{EO-ECC} by Abdullah et al. [ICCS 2022], solves 8 of the 27 instances for which we have exact solutions. It is our hope that our strategy rallies researchers to seek improved algorithms for the ECC problem.
翻译:边团覆盖(ECC)问题——目标在于寻找覆盖图所有边的最小基数团集合——是经典的NP难问题,长期以来受到理论与实验算法社区的高度关注。虽然稀疏小图可通过Gramm等人[JEA 2009]的分支归约算法精确求解,但当前更大规模实例仅能借助启发式方法进行非精确求解,且无法保证整体解质量。我们通过融合ECC与顶点团覆盖(VCC)问题的数据归约技术,重新审视实际应用中最小ECC的精确求解方法。为此,我们修改Kou等人[Commun. ACM 1978]的多项式时间归约,将归约后的ECC实例转化为VCC实例;此外,我们证明可“提升”部分VCC归约至ECC问题。实验表明,融合两类问题的数据归约(称为协同数据归约)后,最小ECC的精确求解速度比Gramm等人方法快数个数量级,并首次实现包含数百万顶点与边的稀疏大图的精确求解。借助这些精确解,我们首次评估了近期启发式算法在大规模实例上的求解质量。其中,Abdullah等人[ICCS 2022]提出的最新算法\textsf{EO-ECC}在27个已知精确解的实例中仅能求解8个。我们期望本策略能推动研究者为ECC问题提出改进算法。