In the constrained planarity setting, we ask whether a graph admits a planar drawing that additionally satisfies a given set of constraints. These constraints are often derived from very natural problems; prominent examples are Level Planarity, where vertices have to lie on given horizontal lines indicating a hierarchy, and Clustered Planarity, where we additionally draw the boundaries of clusters which recursively group the vertices in a crossing-free manner. Despite receiving significant amount of attention and substantial theoretical progress on these problems, only very few of the found solutions have been put into practice and evaluated experimentally. In this paper, we describe our implementation of the recent quadratic-time algorithm by Bl\"asius et al. [TALG Vol 19, No 4] for solving the problem Synchronized Planarity, which can be seen as a common generalization of several constrained planarity problems, including the aforementioned ones. Our experimental evaluation on an existing benchmark set shows that even our baseline implementation outperforms all competitors by at least an order of magnitude. We systematically investigate the degrees of freedom in the implementation of the Synchronized Planarity algorithm for larger instances and propose several modifications that further improve the performance. Altogether, this allows us to solve instances with up to 100 vertices in milliseconds and instances with up to 100 000 vertices within a few minutes.
翻译:在约束平面性设定中,我们探究图是否能够在满足给定约束集的同时实现平面绘制。这些约束通常源于非常自然的问题;典型例子包括层级平面性(顶点必须位于表示层次结构的给定水平线上)和聚类平面性(需额外绘制递归分组顶点的簇边界,且边界无交叉)。尽管这些问题已获得大量关注和显著的理论进展,但实际应用与实验评估的解决方案仍屈指可数。本文描述了我们对Bläsius等人[TALG Vol 19, No 4]近期提出的二次时间算法——同步平面性问题的实现。该问题可视为包括前述问题在内的多个约束平面性问题的共同推广。在现有基准测试集上的实验评估表明,即使我们的基准实现性能也至少比所有竞争者高出一个数量级。我们系统研究了更大规模实例中同步平面性算法实现的自由度,并提出了若干性能改进方案。综合而言,我们能够在毫秒级内求解包含100个顶点的实例,并在数分钟内求解包含100,000个顶点的实例。