We present a novel space-efficient graph coarsening technique for $n$-vertex planar graphs $G$, called cloud partition, which partitions the vertices $V(G)$ into disjoint sets $C$ of size $O(\log n)$ such that each $C$ induces a connected subgraph of $G$. Using this partition $P$ we construct a so-called structure-maintaining minor $F$ of $G$ via specific contractions within the disjoint sets such that $F$ has $O(n/\log n)$ vertices. The combination of $(F, P)$ is referred to as a cloud decomposition. For planar graphs we show that a cloud decomposition can be constructed in $O(n)$ time and using $O(n)$ bits. Given a cloud decomposition $(F, P)$ constructed for a planar graph $G$ we are able to find a balanced separator of $G$ in $O(n/\log n)$ time. Contrary to related publications, we do not make use of an embedding of the planar input graph. We generalize our cloud decomposition from planar graphs to $H$-minor-free graphs for any fixed graph $H$. This allows us to construct the succinct encoding scheme for $H$-minor-free graphs due to Blelloch and Farzan (CPM 2010) in $O(n)$ time and $O(n)$ bits improving both runtime and space by a factor of $\Theta(\log n)$. As an additional application of our cloud decomposition we show that, for $H$-minor-free graphs, a tree decomposition of width $O(n^{1/2 + \epsilon})$ for any $\epsilon > 0$ can be constructed in $O(n)$ bits and a time linear in the size of the tree decomposition. Finally, we implemented our cloud decomposition algorithm and experimentally verified its practical effectiveness on both randomly generated graphs and real-world graphs such as road networks. The obtained data shows that a simplified version of our algorithms suffices in a practical setting, as many of the theoretical worst-case scenarios are not present in the graphs we encountered.
翻译:我们提出了一种针对$n$顶点平面图$G$的新型空间高效图粗化技术,称为云划分。该技术将顶点$V(G)$划分为大小为$O(\log n)$的不相交集合$C$,使得每个$C$在$G$中诱导出连通子图。利用该划分$P$,我们通过在不相交集合内进行特定收缩,构造出$G$的所谓结构保持次子图$F$,使得$F$具有$O(n/\log n)$个顶点。$(F, P)$的组合被称为云分解。对于平面图,我们证明云分解可在$O(n)$时间和$O(n)$比特内构建。给定为平面图$G$构建的云分解$(F, P)$,我们能够在$O(n/\log n)$时间内找到$G$的平衡分隔器。与相关文献不同,我们未利用平面输入图的嵌入信息。我们将云分解从平面图推广到任意固定图$H$的$H$-次子图自由图。这使得我们能够在$O(n)$时间和$O(n)$比特内构建Blelloch与Farzan(CPM 2010)提出的$H$-次子图自由图简洁编码方案,将运行时间和空间复杂度同时改进$\Theta(\log n)$倍。作为云分解的附加应用,我们证明对于$H$-次子图自由图,可在$O(n)$比特和与树分解规模线性相关的时间内,构造宽度为$O(n^{1/2 + \epsilon})$($\epsilon > 0$)的树分解。最后,我们实现了云分解算法,并在随机生成图及道路网络等现实图数据上实验验证了其实际有效性。获得的数据表明,在我们所处理的图中,由于许多理论最坏情况并未出现,算法的简化版本在实际场景中已足够有效。