State-of-the-art solvers for symmetry detection in combinatorial objects are becoming increasingly sophisticated software libraries. Most of the solvers were initially designed with inputs from combinatorics in mind (nauty, bliss, Traces, dejavu). They excel at dealing with a complicated core of the input. Others focus on practical instances that exhibit sparsity. They excel at dealing with comparatively easy but extremely large substructures of the input (saucy). In practice, these differences manifest in significantly diverging performances on different types of graph classes. We engineer a preprocessor for symmetry detection. The result is a tool designed to shrink sparse, large substructures of the input graph. On most of the practical instances, the overall running time improves significantly for many of the state-of-the-art solvers. At the same time, our benchmarks show that the additional overhead is negligible. Overall we obtain single algorithms with competitive performance across all benchmark graphs. As such the preprocessor bridges the disparity between solvers that focus on combinatorial graphs and large practical graphs. In fact, on most of the practical instances the combined setup significantly outperforms previous state-of-the-art.
翻译:用于组合对象对称性检测的先进求解器正日益发展为复杂的软件库。大多数求解器最初设计时以组合学输入为考量(如nauty、bliss、Traces、dejavu),擅长处理输入中的复杂核心部分;而其他求解器则聚焦于呈现稀疏性的实际实例,擅长处理输入中相对简单但规模极大的子结构(如saucy)。在实践中,这种差异导致不同类型图类上的性能表现显著分化。我们针对对称性检测设计了一种预处理器,其成果是一套旨在缩减输入图中稀疏大规模子结构规模的工具。在多数实际实例中,许多前沿求解器的整体运行时间得到显著改善。同时,基准测试表明其额外开销可忽略不计。最终,我们获得了在所有基准图上均具有竞争力的单一算法。该预处理器架起了专注组合图与大规模实际图求解器之间的性能鸿沟。事实上,在多数实际实例中,组合方案显著超越了此前的最优水平。